123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 |
- package edb_refresh
- import (
- "errors"
- "eta/eta_index_lib/utils"
- "github.com/beego/beego/v2/client/orm"
- "time"
- )
- // EdbRefreshMapping
- // @Description: 指标刷新时间配置关系表
- type EdbRefreshMapping struct {
- EdbRefreshMappingId int `orm:"column(edb_refresh_mapping_id);pk"`
- Source int `description:"来源"`
- SubSource int `description:"来源名称"`
- EdbInfoId int `description:"指标id,如果是数据源(钢联、有色)的,那么就是数据源里面的id"`
- EdbRefreshConfigId int `description:"刷新配置id"`
- SysUserId int `description:"操作人id"`
- SysUserRealName string `description:"操作人真实姓名"`
- ModifyTime time.Time `description:"最晚一次的更新时间"`
- CreateTime time.Time `description:"添加时间"`
- }
- // Add
- // @Description: 添加
- // @author: Roc
- // @receiver m
- // @datetime 2023-12-14 16:11:10
- // @param cols []string
- // @return err error
- func (m *EdbRefreshMapping) Add() (err error) {
- if m.EdbRefreshMappingId > 0 {
- err = errors.New("该配置已存在")
- return
- }
- o := orm.NewOrm()
- lastId, err := o.Insert(m)
- if err != nil {
- return
- }
- m.EdbRefreshMappingId = int(lastId)
- return
- }
- // Update
- // @Description: 更新
- // @author: Roc
- // @receiver m
- // @datetime 2023-12-14 16:11:10
- // @param cols []string
- // @return err error
- func (m *EdbRefreshMapping) Update(cols []string) (err error) {
- o := orm.NewOrm()
- _, err = o.Update(m, cols...)
- return
- }
- // Delete
- // @Description: 删除
- // @author: Roc
- // @receiver m
- // @datetime 2023-12-14 16:11:10
- // @return err error
- func (m *EdbRefreshMapping) Delete() (err error) {
- o := orm.NewOrm()
- _, err = o.Delete(m)
- return
- }
- type EdbInfoListAndRefreshConfig struct {
- EdbInfoId int `orm:"column(edb_info_id);pk"`
- SourceName string `description:"来源名称"`
- Source int `description:"来源id"`
- SubSource int `description:"子数据来源:0:经济数据库,1:日期序列"`
- SubSourceName string `description:"子数据来源名称"`
- EdbCode string `description:"指标编码"`
- EdbName string `description:"指标名称"`
- Frequency string `description:"频率"`
- Unit string `description:"单位"`
- StartDate time.Time `description:"起始日期"`
- EndDate time.Time `description:"终止日期"`
- ClassifyId int `description:"分类id"`
- UniqueCode string `description:"指标唯一编码"`
- CalculateFormula string `description:"计算公式"`
- ModifyTime string `description:"更新时间"`
- NoUpdate int8 `description:"是否停止更新,0:继续更新;1:停止更新"`
- EdbRefreshConfigId int `description:"刷新配置id"`
- DataRefreshNum int `description:"刷新的期数"`
- }
- // GetConfigRefreshEdbInfoListBySourceAndSubSource
- // @Description: 根据来源和配置id列表获取指标列表
- // @author: Roc
- // @datetime 2024-01-09 17:28:06
- // @param sourceList []int
- // @param configIdList []int
- // @return list []*data_manage.EdbInfoList
- // @return err error
- func GetConfigRefreshEdbInfoListBySourceAndSubSource(sourceList, configIdList []int) (list []*EdbInfoListAndRefreshConfig, err error) {
- num := len(configIdList)
- if num <= 0 {
- return
- }
- var pars []interface{}
- o := orm.NewOrm()
- sql := `SELECT a.*,b.edb_refresh_config_id FROM edb_info a
- JOIN edb_refresh_mapping b ON a.edb_info_id = b.edb_info_id
- WHERE b.edb_refresh_config_id IN (` + utils.GetOrmInReplace(num) + `) `
- pars = append(pars, configIdList)
- sourceNum := len(sourceList)
- if sourceNum > 0 {
- sql += ` AND b.source not in (` + utils.GetOrmInReplace(sourceNum) + `) `
- pars = append(pars, sourceList)
- }
- _, err = o.Raw(sql, pars).QueryRows(&list)
- return
- }
|