package data_stat import ( "eta/eta_index_lib/global" "eta/eta_index_lib/utils" "gorm.io/gorm" "time" ) // EdbInfoUpdateLog 指标更新/刷新日志列表 type EdbInfoUpdateLog 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:"创建时间"` UpdateSysUserId int `gorm:"column:update_sys_user_id" description:"变更人ID"` UpdateSysUserRealName string `gorm:"column:update_sys_user_real_name" 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:"本次更新,数据发生变化的最早日期"` UpdateResult int `gorm:"column:update_result" description:"本次刷新操作结果:1成功,2失败"` UpdateFailedReason string `gorm:"column:update_failed_reason" 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:"数据更新时间"` IsSourceRefresh int `gorm:"column:is_source_refresh" description:"是否为终端刷新到数据源的刷新操作:0否,1是"` UpdateType int `gorm:"column:update_type" description:"变更类型,0:数据明细变更,1:基础信息变更, 2:新增指标"` } func (e *EdbInfoUpdateLog) AfterFind(db *gorm.DB) (err error) { e.LatestDate = utils.GormDateStrToDateStr(e.LatestDate) e.ErDataUpdateDate = utils.GormDateStrToDateStr(e.ErDataUpdateDate) e.DataUpdateTime = utils.GormDateStrToDateTimeStr(e.DataUpdateTime) return } func AddEdbUpdateLog(item *EdbInfoUpdateLog) (lastId int64, err error) { err = global.DEFAULT_DB.Create(item).Error if err != nil { return } lastId = int64(item.Id) return } // GetEdbUpdateLogByCondition 获取指标更新记录 func GetEdbUpdateLogByCondition(condition string, pars []interface{}) (item []*EdbInfoUpdateLog, err error) { sql := ` SELECT * FROM edb_info_update_log WHERE 1=1 ` if condition != "" { sql += condition } err = global.DEFAULT_DB.Raw(sql, pars...).Find(&item).Error return } // GetEdbUpdateSourceLogByCreateDate 获取指标终端更新记录 func GetEdbUpdateSourceLogByCreateDate(source int, startDate, endDate string) (item []*EdbInfoUpdateLog, err error) { sql := ` SELECT * FROM edb_info_update_log WHERE source = ? and create_time >= ? and create_time < ? and is_source_refresh =1 order by data_update_result asc, id desc` err = global.DEFAULT_DB.Raw(sql, source, startDate, endDate).Find(&item).Error return }