package data_stat import ( "eta/eta_index_lib/global" "eta/eta_index_lib/utils" "time" ) // EdbInfoUpdateStat 指标更新/刷新 汇总表(数据源明细表) type EdbInfoUpdateStat struct { Id uint64 `gorm:"primaryKey;autoIncrement;column:id" description:"ID"` EdbInfoId int `gorm:"column:edb_info_id" description:"指标ID"` SourceName string `gorm:"column:source_name" description:"来源名称"` Source int `gorm:"column:source" description:"来源id"` EdbCode string `gorm:"column:edb_code" description:"指标编码"` EdbName string `gorm:"column:edb_name" description:"指标名称"` EdbNameSource string `gorm:"column:edb_name_source" description:"指标名称来源"` Frequency string `gorm:"column:frequency" description:"频率"` Unit string `gorm:"column:unit" description:"单位"` StartDate string `gorm:"column:start_date" description:"起始日期"` EndDate string `gorm:"column:end_date" description:"终止日期"` SysUserId int `gorm:"column:sys_user_id" description:"创建人ID"` SysUserRealName string `gorm:"column:sys_user_real_name" description:"创建人姓名"` UniqueCode string `gorm:"column:unique_code" description:"指标唯一编码"` EdbCreateTime time.Time `gorm:"column:edb_create_time" description:"指标创建时间"` EdbModifyTime time.Time `gorm:"column:edb_modify_time" description:"指标修改时间"` CreateTime time.Time `gorm:"column:create_time" description:"记录创建时间"` LatestDate string `gorm:"column:latest_date" description:"数据最新日期"` LatestValue float64 `gorm:"column:latest_value" description:"数据最新值"` TerminalCode string `gorm:"column:terminal_code" description:"终端编码,用于配置在机器上"` ErDataUpdateDate string `gorm:"column:er_data_update_date" description:"本次更新,数据发生变化的最早日期"` DataUpdateResult int `gorm:"column:data_update_result" description:"数据更新结果:1成功,2失败"` DataUpdateFailedReason string `gorm:"column:data_update_failed_reason" description:"数据未正常更新原因"` DataUpdateTime string `gorm:"column:data_update_time" description:"数据更新时间"` UpdateResult int `gorm:"column:update_result" description:"本次刷新操作结果:1成功,2失败"` UpdateFailedReason string `gorm:"column:update_failed_reason" description:"刷新失败原因"` UpdateTime string `gorm:"column:update_time" description:"刷新时间"` ModifyTime time.Time `gorm:"column:modify_time" description:"修改时间"` IsAdd int `gorm:"column:is_add" description:"是否是当日新增的指标:1是,2否"` NeedRefresh int `gorm:"column:need_refresh" description:"今日是否需要定时刷新,1需要,0不需要"` HasRefresh int `gorm:"column:has_refresh" description:"今日是否发起刷新服务,1是,0否"` } // Add 新增 func (r *EdbInfoUpdateStat) Add(list []*EdbInfoUpdateStat) (err error) { err = global.DEFAULT_DB.CreateInBatches(list, utils.MultiAddNum).Error return } // UpdateEdbUpdateStatMulti 批量更新 func UpdateEdbUpdateStatMulti(list []*EdbInfoUpdateStat) (err error) { o := global.DEFAULT_DB.Begin() defer func() { if err != nil { _ = o.Rollback() } else { _ = o.Commit() } }() 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 = ?` for _, v := range list { err = o.Exec(sql, 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).Error if err != nil { return } } return } // GetEdbUpdateStatByCondition 获取指标更新汇总记录 func GetEdbUpdateStatByCondition(condition string, pars []interface{}) (item []*EdbInfoUpdateStat, err error) { sql := ` SELECT * FROM edb_info_update_stat WHERE 1=1 ` if condition != "" { sql += condition } err = global.DEFAULT_DB.Raw(sql, pars).Find(&item).Error return }