54 lines
1.4 KiB
Go
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
|
|
}
|