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 }