Files
energy-management-system/repository/peak-valley/peak_valley_time_block.go
2024-09-03 15:52:38 +08:00

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 []int, 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
}