123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- package data_stat
- import (
- "github.com/beego/beego/v2/client/orm"
- "time"
- )
- // EdbInfoUpdateStat 指标更新/刷新 汇总表(数据源明细表)
- type EdbInfoUpdateStat struct {
- Id uint64 `orm:"column(id);pk"`
- EdbInfoId int `description:"指标ID"`
- SourceName string `description:"来源名称"`
- Source int `description:"来源id"`
- EdbCode string `description:"指标编码"`
- EdbName string `description:"指标名称"`
- EdbNameSource string `description:"指标名称来源"`
- Frequency string `description:"频率"`
- Unit string `description:"单位"`
- StartDate string `description:"起始日期"`
- EndDate string `description:"终止日期"`
- SysUserId int `description:"创建人ID"`
- SysUserRealName string `description:"创建人姓名"`
- UniqueCode string `description:"指标唯一编码"`
- EdbCreateTime time.Time `description:"指标创建时间"`
- EdbModifyTime time.Time `description:"指标修改时间"`
- CreateTime time.Time `description:"记录创建时间"`
- LatestDate string `description:"数据最新日期"`
- LatestValue float64 `description:"数据最新值"`
- TerminalCode string `description:"终端编码,用于配置在机器上"`
- ErDataUpdateDate string `description:"本次更新,数据发生变化的最早日期"`
- DataUpdateResult int `description:"数据更新结果:1成功,2失败"`
- DataUpdateFailedReason string `description:"数据未正常更新原因"`
- DataUpdateTime string `description:"数据更新时间"`
- UpdateResult int `description:"本次刷新操作结果:1成功,2失败"`
- UpdateFailedReason string `description:"刷新失败原因"`
- UpdateTime string `description:"刷新时间"`
- ModifyTime time.Time `description:"修改时间"`
- IsAdd int `description:"是否是当日新增的指标:1是,2否"`
- NeedRefresh int `description:"今日是否需要定时刷新,1需要,0不需要"`
- HasRefresh int `description:"今日是否发起刷新服务,1是,0否"`
- }
- // Add 新增
- func (r *EdbInfoUpdateStat) Add(list []*EdbInfoUpdateStat) (err error) {
- o := orm.NewOrm()
- _, err = o.InsertMulti(len(list), list)
- return
- }
- // UpdateEdbUpdateStatMulti 批量更新
- func UpdateEdbUpdateStatMulti(list []*EdbInfoUpdateStat) (err error) {
- o := orm.NewOrm()
- sql := `UPDATE edb_info_update_stat
- SET
- edb_name = ?,
- edb_name_source = ?,
- frequency = ?,
- unit = ?,
- start_date = ?,
- end_date = ?,
- edb_modify_time = ?,
- latest_date = ?,
- latest_value = ?,
- terminal_code = ?,
- modify_time = ?,
- er_data_update_date = ?,
- is_add = ?,
- need_refresh = ?,
- has_refresh = ?,
- data_update_result = ?,
- data_update_failed_reason = ?,
- data_update_time = ?,
- update_result = ?,
- update_failed_reason = ?,
- update_time = ?
- WHERE
- id = ?`
- p, err := o.Raw(sql).Prepare()
- if err != nil {
- return
- }
- defer func() {
- _ = p.Close() // 别忘记关闭 statement
- }()
- for _, v := range list {
- _, err = p.Exec(v.EdbName, v.EdbNameSource, v.Frequency, v.Unit, v.StartDate, v.EndDate, v.EdbModifyTime, v.LatestDate, v.LatestValue, v.TerminalCode, v.ModifyTime, v.ErDataUpdateDate, v.IsAdd, v.NeedRefresh, v.HasRefresh, v.DataUpdateResult, v.DataUpdateFailedReason, v.DataUpdateTime, v.UpdateResult, v.UpdateFailedReason, v.UpdateTime, v.Id)
- if err != nil {
- return
- }
- }
- return
- }
- // GetEdbUpdateStatByCondition 获取指标更新汇总记录
- func GetEdbUpdateStatByCondition(condition string, pars []interface{}) (item []*EdbInfoUpdateStat, err error) {
- o := orm.NewOrm()
- sql := ` SELECT * FROM edb_info_update_stat WHERE 1=1 `
- if condition != "" {
- sql += condition
- }
- _, err = o.Raw(sql, pars).QueryRows(&item)
- return
- }
|