package data_manage import ( "eta/eta_task/utils" "github.com/beego/beego/v2/client/orm" ) type BaseFromMysteelChemicalIndexItem struct { BaseFromMysteelChemicalIndexId int32 `json:"base_from_mysteel_chemical_index_id"` BaseFromMysteelChemicalClassifyId int32 `json:"base_from_mysteel_chemical_classify_id"` // 钢联化工指标分类id IndexCode string `json:"index_code"` // 指标编码 IndexName string `json:"index_name"` // 指标名称 Unit string `json:"unit"` // 单位 Source string `json:"source"` // 数据来源 Frequency string `json:"frequency"` // 频度 StartDate string `json:"start_date"` // 开始日期 EndDate string `json:"end_date"` // 结束日期 Describe string `json:"describe"` // 指标描述 UpdateWeek string `json:"update_week"` // 更新周期 UpdateTime string `json:"update_time"` // 更新时间,多个时间点用英文,隔开 UpdateTime2 string `json:"update_time2"` // 更新时间2 SysUserId int32 `json:"sys_user_id"` // 创建人id SysUserRealName string `json:"sys_user_real_name"` // 创建人姓名 CreateTime string `json:"create_time"` // 创建时间 ModifyTime string `json:"modify_time"` // 修改时间 FilePath string `json:"file_path"` // 文件存储路径 Sort int32 `json:"sort"` // 排序 MergeFilePath string `json:"merge_file_path"` FileIndex int32 `json:"file_index"` MergeUpdateWeek string `json:"merge_update_week"` // 合并文件的更新周 MergeFilePathWeek string `json:"merge_file_path_week"` // 更新文件 UpdateDate string `json:"update_date"` // 更新日期 IsRefresh int32 `json:"is_refresh"` // 0:不需要及时刷新,1:需要及时刷新 IsStop int32 `json:"is_stop"` // 是否停更:1:停更,0:未停更 TerminalCode string `json:"terminal_code"` // 所属终端编码 EndValue float64 `json:"end_value"` // 指标的最新值 EdbInfoId int `json:"edb_info_id"` } // GetBaseFromMysteelChemicalIndexItemByCode // @Description: 根据指标编码获取钢联指标详情 // @author: Roc // @datetime 2024-03-11 16:42:56 // @param edbCode string // @return item *BaseFromMysteelChemicalIndexItem // @return err error func GetBaseFromMysteelChemicalIndexItemByCode(edbCode string) (item *BaseFromMysteelChemicalIndexItem, err error) { o := orm.NewOrmUsingDB("data") sql := ` SELECT * FROM base_from_mysteel_chemical_index WHERE index_code = ?` err = o.Raw(sql, edbCode).QueryRow(&item) return } func GetBaseFromMysteelChemicalIndexItems(frequencyList []string) (items []*BaseFromMysteelChemicalIndexItem, err error) { num := len(frequencyList) if num == 0 { return } o := orm.NewOrmUsingDB("data") sql := ` SELECT b.*, e.edb_info_id FROM base_from_mysteel_chemical_index AS b LEFT JOIN edb_info AS e ON b.index_code = e.edb_code WHERE b.source='api' AND b.frequency IN (` + utils.GetOrmInReplace(len(frequencyList)) + `)` _, err = o.Raw(sql, frequencyList).QueryRows(&items) return } // GetRefreshBaseFromMysteelChemicalIndexItemByCreateTime 获取正常刷新的钢联化工指标 func GetRefreshBaseFromMysteelChemicalIndexItemByCreateTime(endDate string, startPage, pageSize int) (items []*BaseFromMysteelChemicalIndexItem, err error) { o := orm.NewOrmUsingDB("data") sql := ` SELECT * FROM base_from_mysteel_chemical_index WHERE is_stop = 0 and create_time < ? Limit ?,?` _, err = o.Raw(sql, endDate, startPage, pageSize).QueryRows(&items) return } // GetCountRefreshBaseFromMysteelChemicalIndexItemByCreateTime 获取正常刷新的钢联化工指标 func GetCountRefreshBaseFromMysteelChemicalIndexItemByCreateTime(endDate string) (total int64, err error) { o := orm.NewOrmUsingDB("data") sql := ` SELECT count(*) FROM base_from_mysteel_chemical_index WHERE is_stop = 0 and create_time < ?` err = o.Raw(sql, endDate).QueryRow(&total) return } func SetStopRefreshMysteelChemicalIndex(ids []int32) (err error) { o := orm.NewOrmUsingDB("data") sql := ` UPDATE base_from_mysteel_chemical_index SET is_stop = 1 WHERE base_from_mysteel_chemical_index_id IN (` + utils.GetOrmInReplace(len(ids)) + `) and is_stop=0` _, err = o.Raw(sql, ids).Exec() return }