package stl import ( "eta/eta_api/global" "eta/eta_api/utils" "time" "github.com/beego/beego/v2/client/orm" ) type EdbDataCalculateStl struct { EdbDataId int `orm:"pk"` EdbInfoId int `description:"指标id"` EdbCode string `description:"指标编码"` DataTime time.Time `description:"数据时间"` Value float64 `description:"数据值"` CreateTime time.Time `description:"创建时间"` ModifyTime time.Time `description:"修改时间"` DataTimestamp int64 `description:"数据时间戳"` } func GetEdbDataCalculateStlByEdbCode(edbCode string) (items []*EdbDataCalculateStl, err error) { o := orm.NewOrmUsingDB("data") sql := `SELECT * FROM edb_data_calculate_stl WHERE edb_code =? ORDER BY data_time` _, err = o.Raw(sql, edbCode).QueryRows(&items) return } func DeleteAndInsertEdbDataCalculateStl(edbCode string, dataList []*EdbDataCalculateStl) (err error) { to := global.DbMap[utils.DbNameIndex].Begin() defer func() { if err != nil { _ = to.Rollback() } else { _ = to.Commit() } }() sql := `DELETE FROM edb_data_calculate_stl WHERE edb_code =?` err = to.Exec(sql, edbCode).Error if err != nil { return } err = to.CreateInBatches(dataList, len(dataList)).Error return } func (m *EdbDataCalculateStl) GetMaxId() (maxId int, err error) { o := orm.NewOrmUsingDB("data") sql := `SELECT max(edb_data_id) id FROM edb_data_calculate_stl limit 1` err = o.Raw(sql).QueryRow(&maxId) return } func (m *EdbDataCalculateStl) BatchInsert(dataList []*EdbDataCalculateStl) (err error) { o := orm.NewOrmUsingDB("data") _, err = o.InsertMulti(utils.MultiAddNum, dataList) return }