35 lines
1.1 KiB
Go
35 lines
1.1 KiB
Go
package peak_valley
|
|
|
|
import (
|
|
"energy-management-system/global"
|
|
peak_valley_model "energy-management-system/model/peak-valley"
|
|
"gorm.io/gorm"
|
|
)
|
|
|
|
func (r *PeakValley) GetTimeBlockIdsByTimeBlock(tx *gorm.DB, startTime, endTime uint) (ids []uint, err error) {
|
|
err = tx.Model(&peak_valley_model.PeakValleyTimeBlock{}).
|
|
Where("start_time < ? AND end_time > ?", endTime, startTime).
|
|
Pluck("block_index", &ids).Error
|
|
return ids, err
|
|
}
|
|
|
|
// GetBlockStartTime 获取最小开始时间
|
|
func (r *PeakValley) GetBlockStartTime(blockId int) (startTime uint, err error) {
|
|
var peakValleyTimeBlockModel peak_valley_model.PeakValleyTimeBlock
|
|
err = global.Db.First(&peakValleyTimeBlockModel, blockId).Error
|
|
if err != nil {
|
|
return 0, err
|
|
}
|
|
return peakValleyTimeBlockModel.StartTime, nil
|
|
}
|
|
|
|
// GetBlockEndTime 获取最大结束时间
|
|
func (r *PeakValley) GetBlockEndTime(blockId int) (endTime uint, err error) {
|
|
var peakValleyTimeBlockModel peak_valley_model.PeakValleyTimeBlock
|
|
err = global.Db.First(&peakValleyTimeBlockModel, blockId).Error
|
|
if err != nil {
|
|
return 0, err
|
|
}
|
|
return peakValleyTimeBlockModel.EndTime, nil
|
|
}
|