Files
2024-08-29 09:05:26 +08:00

54 lines
1.4 KiB
Go

package peak_valley
import (
"energy-management-system/form"
"energy-management-system/global"
peak_valley_model "energy-management-system/model/peak-valley"
"gorm.io/gorm"
)
type PeakValley struct {
}
// 一天的完整谷峰规则
// 发电 (光伏)
// 用电 (电机、生产)
//新建规则
//
//选择时间段 设置电价
//(将时间段 转化为十分钟区块 查找到对应十分钟区块 创建该规则的电价)
func (r *PeakValley) CreatePeakValleyRuleTx(tx *gorm.DB, d *peak_valley_model.PeakValleyRule) error {
return tx.Create(d).Error
}
func (r *PeakValley) UpdatePeakValleyRuleTx(tx *gorm.DB, d *peak_valley_model.PeakValleyRule) error {
return tx.Save(d).Error
}
func (r *PeakValley) GetOnePeakValleyRule(qr map[string]interface{}) (d *peak_valley_model.PeakValleyRule, err error) {
db := global.Db
for key, value := range qr {
db = db.Where(key, value)
}
err = db.First(&d).Error
//if errors.Is(err, gorm.ErrRecordNotFound) {
// d = nil
//}
return
}
func (r *PeakValley) GetPeakValleyRulePage(req *form.PeakValleyRuleListReq) (count int64, list []*peak_valley_model.PeakValleyRule, err error) {
db := global.Db.Model(&peak_valley_model.PeakValleyRule{})
//for key, value := range qr {
// db = db.Where(key, value)
//}
err = db.Count(&count).Error
if err != nil {
return
}
err = db.Offset((req.Page.GetPageIndex() - 1) * req.Page.GetPageSize()).Limit(req.Page.GetPageSize()).Order("rule_id desc").Find(&list).Error
return
}