|
@@ -19,57 +19,81 @@ import (
|
|
|
)
|
|
|
|
|
|
type EdbInfo struct {
|
|
|
- EdbInfoId int `orm:"column(edb_info_id);pk" gorm:"primaryKey"`
|
|
|
- EdbInfoType int `description:"指标类型,0:普通指标,1:预测指标"`
|
|
|
- SourceName string `description:"来源名称"`
|
|
|
- Source int `description:"来源id"`
|
|
|
- EdbCode string `description:"指标编码"`
|
|
|
- EdbName string `description:"指标名称"`
|
|
|
- EdbNameEn string `description:"英文指标名称"`
|
|
|
- EdbNameSource string `description:"指标名称来源"`
|
|
|
- Frequency string `description:"频率"`
|
|
|
- Unit string `description:"单位"`
|
|
|
- UnitEn string `description:"英文单位"`
|
|
|
- StartDate string `description:"起始日期"`
|
|
|
- EndDate string `description:"终止日期"`
|
|
|
- ClassifyId int `description:"分类id"`
|
|
|
- SysUserId int
|
|
|
- SysUserRealName string
|
|
|
- UniqueCode string `description:"指标唯一编码"`
|
|
|
- CreateTime time.Time
|
|
|
- ModifyTime time.Time
|
|
|
- BaseModifyTime time.Time
|
|
|
- MinValue float64 `description:"指标最小值"`
|
|
|
- MaxValue float64 `description:"指标最大值"`
|
|
|
- CalculateFormula string `description:"计算公式"`
|
|
|
- EdbType int `description:"指标类型:1:基础指标,2:计算指标"`
|
|
|
- Sort int `description:"排序字段"`
|
|
|
- LatestDate string `description:"数据最新日期(实际日期)"`
|
|
|
- LatestValue float64 `description:"数据最新值(实际值)"`
|
|
|
- EndValue float64 `description:"数据的最新值(预测日期的最新值)"`
|
|
|
- MoveType int `description:"移动方式:1:领先(默认),2:滞后"`
|
|
|
- MoveFrequency string `description:"移动频度"`
|
|
|
- NoUpdate int8 `description:"是否停止更新,0:继续更新;1:停止更新"`
|
|
|
- ServerUrl string `description:"服务器地址"`
|
|
|
- ChartImage string `description:"图表图片"`
|
|
|
- Calendar string `description:"公历/农历" orm:"default(公历);"`
|
|
|
- DataDateType string `orm:"column(data_date_type);size(255);null;default(交易日)"`
|
|
|
- ManualSave int `description:"是否有手动保存过上下限: 0-否; 1-是"`
|
|
|
- EmptyType int `description:"空值处理类型(0查找前后35天,1不计算,2前值填充,3后值填充,4等于0)"`
|
|
|
- MaxEmptyType int `description:"MAX、MIN公式空值处理类型(1、等于0;2、跳过空值)"`
|
|
|
- TerminalCode string `description:"终端编码,用于配置在机器上"`
|
|
|
- DataUpdateTime string `description:"最近一次数据发生变化的时间"`
|
|
|
- ErDataUpdateDate string `description:"本次更新,数据发生变化的最早日期"`
|
|
|
- SourceIndexName string `description:"数据源中的指标名称"`
|
|
|
- SubSource int `description:"子数据来源:0:经济数据库,1:日期序列"`
|
|
|
- SubSourceName string `description:"子数据来源名称"`
|
|
|
- IndicatorCode string `description:"指标代码"`
|
|
|
- StockCode string `description:"证券代码"`
|
|
|
- Extra string `description:"指标额外配置"`
|
|
|
- IsJoinPermission int `description:"是否加入权限管控,0:不加入;1:加入;默认:0"`
|
|
|
- IsStaticData int `description:"是否是静态指标,0否,1是"`
|
|
|
- SetUpdateTime time.Time `description:"设置启用/禁用刷新状态的时间"`
|
|
|
- EndDateType int `description:"预测指标截止日期类型:0:未来日期,1未来期数"`
|
|
|
+ EdbInfoId int `orm:"column(edb_info_id);pk" gorm:"primaryKey"`
|
|
|
+ EdbInfoType int `description:"指标类型,0:普通指标,1:预测指标"`
|
|
|
+ SourceName string `description:"来源名称"`
|
|
|
+ Source int `description:"来源id"`
|
|
|
+ EdbCode string `description:"指标编码"`
|
|
|
+ EdbName string `description:"指标名称"`
|
|
|
+ EdbNameEn string `description:"英文指标名称"`
|
|
|
+ EdbNameSource string `description:"指标名称来源"`
|
|
|
+ Frequency string `description:"频率"`
|
|
|
+ Unit string `description:"单位"`
|
|
|
+ UnitEn string `description:"英文单位"`
|
|
|
+ StartDate string `description:"起始日期"`
|
|
|
+ EndDate string `description:"终止日期"`
|
|
|
+ ClassifyId int `description:"分类id"`
|
|
|
+ SysUserId int
|
|
|
+ SysUserRealName string
|
|
|
+ UniqueCode string `description:"指标唯一编码"`
|
|
|
+ CreateTime time.Time
|
|
|
+ ModifyTime time.Time
|
|
|
+ BaseModifyTime time.Time
|
|
|
+ MinValue float64 `description:"指标最小值"`
|
|
|
+ MaxValue float64 `description:"指标最大值"`
|
|
|
+ CalculateFormula string `description:"计算公式"`
|
|
|
+ EdbType int `description:"指标类型:1:基础指标,2:计算指标"`
|
|
|
+ Sort int `description:"排序字段"`
|
|
|
+ LatestDate string `description:"数据最新日期(实际日期)"`
|
|
|
+ LatestValue float64 `description:"数据最新值(实际值)"`
|
|
|
+ EndValue float64 `description:"数据的最新值(预测日期的最新值)"`
|
|
|
+ MoveType int `description:"移动方式:1:领先(默认),2:滞后"`
|
|
|
+ MoveFrequency string `description:"移动频度"`
|
|
|
+ NoUpdate int8 `description:"是否停止更新,0:继续更新;1:停止更新"`
|
|
|
+ ServerUrl string `description:"服务器地址"`
|
|
|
+ ChartImage string `description:"图表图片"`
|
|
|
+ Calendar string `description:"公历/农历" orm:"default(公历);"`
|
|
|
+ DataDateType string `orm:"column(data_date_type);size(255);null;default(交易日)"`
|
|
|
+ ManualSave int `description:"是否有手动保存过上下限: 0-否; 1-是"`
|
|
|
+ EmptyType int `description:"空值处理类型(0查找前后35天,1不计算,2前值填充,3后值填充,4等于0)"`
|
|
|
+ MaxEmptyType int `description:"MAX、MIN公式空值处理类型(1、等于0;2、跳过空值)"`
|
|
|
+ TerminalCode string `description:"终端编码,用于配置在机器上"`
|
|
|
+ DataUpdateTime string `description:"最近一次数据发生变化的时间"`
|
|
|
+ ErDataUpdateDateErDataUpdateDate string `description:"本次更新,数据发生变化的最早日期"`
|
|
|
+ SourceIndexName string `description:"数据源中的指标名称"`
|
|
|
+ SubSource int `description:"子数据来源:0:经济数据库,1:日期序列"`
|
|
|
+ SubSourceName string `description:"子数据来源名称"`
|
|
|
+ IndicatorCode string `description:"指标代码"`
|
|
|
+ StockCode string `description:"证券代码"`
|
|
|
+ Extra string `description:"指标额外配置"`
|
|
|
+ IsJoinPermission int `description:"是否加入权限管控,0:不加入;1:加入;默认:0"`
|
|
|
+ IsStaticData int `description:"是否是静态指标,0否,1是"`
|
|
|
+ SetUpdateTime time.Time `description:"设置启用/禁用刷新状态的时间"`
|
|
|
+ EndDateType int `description:"预测指标截止日期类型:0:未来日期,1未来期数"`
|
|
|
+}
|
|
|
+
|
|
|
+// AfterFind
|
|
|
+// @Description: 转成需要输出的格式
|
|
|
+// @receiver m
|
|
|
+func (m *EdbInfo) AfterFind(db *gorm.DB) (err error) {
|
|
|
+ m.LatestDate = utils.GormDateStrToDateStr(m.LatestDate)
|
|
|
+ m.DataUpdateTime = utils.GormDateStrToDateStr(m.DataUpdateTime)
|
|
|
+ m.ErDataUpdateDateErDataUpdateDate = utils.GormDateStrToDateStr(m.ErDataUpdateDateErDataUpdateDate)
|
|
|
+ m.DataUpdateTime = utils.GormDateStrToDateTimeStr(m.DataUpdateTime)
|
|
|
+
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+// ConvertTimeStr
|
|
|
+// @Description: 转成需要输出的格式
|
|
|
+// @receiver m
|
|
|
+func (m *EdbInfo) ConvertTimeStr() {
|
|
|
+ m.LatestDate = utils.GormDateStrToDateStr(m.LatestDate)
|
|
|
+ m.DataUpdateTime = utils.GormDateStrToDateStr(m.DataUpdateTime)
|
|
|
+ m.ErDataUpdateDateErDataUpdateDate = utils.GormDateStrToDateStr(m.ErDataUpdateDateErDataUpdateDate)
|
|
|
+ m.DataUpdateTime = utils.GormDateStrToDateTimeStr(m.DataUpdateTime)
|
|
|
+
|
|
|
+ return
|
|
|
}
|
|
|
|
|
|
type EdbInfoFullClassify struct {
|
|
@@ -176,6 +200,11 @@ func GetEdbInfoByEdbCode(source int, edbCode string) (item *EdbInfo, err error)
|
|
|
o := global.DbMap[utils.DbNameIndex]
|
|
|
sql := ` SELECT * FROM edb_info WHERE source=? AND edb_code=? `
|
|
|
err = o.Raw(sql, source, edbCode).First(&item).Error
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ item.ConvertTimeStr()
|
|
|
+
|
|
|
return
|
|
|
}
|
|
|
|
|
@@ -193,6 +222,11 @@ func GetEdbInfoById(edbInfoId int) (item *EdbInfo, err error) {
|
|
|
o := global.DbMap[utils.DbNameIndex]
|
|
|
sql := ` SELECT * FROM edb_info WHERE edb_info_id=? `
|
|
|
err = o.Raw(sql, edbInfoId).First(&item).Error
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ item.ConvertTimeStr()
|
|
|
+
|
|
|
return
|
|
|
}
|
|
|
|
|
@@ -207,6 +241,11 @@ func GetEdbInfoByUniqueCode(uniqueCode string) (item *EdbInfo, err error) {
|
|
|
o := global.DbMap[utils.DbNameIndex]
|
|
|
sql := ` SELECT * FROM edb_info WHERE unique_code=? `
|
|
|
err = o.Raw(sql, uniqueCode).First(&item).Error
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ item.ConvertTimeStr()
|
|
|
+
|
|
|
return
|
|
|
}
|
|
|
|
|
@@ -481,6 +520,28 @@ type EdbInfoList struct {
|
|
|
SearchText string `description:"搜索结果(含高亮)"`
|
|
|
}
|
|
|
|
|
|
+// AfterFind
|
|
|
+// @Description: 转成需要输出的格式
|
|
|
+// @receiver m
|
|
|
+func (m *EdbInfoList) AfterFind(db *gorm.DB) (err error) {
|
|
|
+ m.LatestDate = utils.GormDateStrToDateStr(m.LatestDate)
|
|
|
+ m.ModifyTime = utils.GormDateStrToDateTimeStr(m.ModifyTime)
|
|
|
+ m.CreateTime = utils.GormDateStrToDateTimeStr(m.CreateTime)
|
|
|
+
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+// ConvertTimeStr
|
|
|
+// @Description: 转成需要输出的格式
|
|
|
+// @receiver m
|
|
|
+func (m *EdbInfoList) ConvertTimeStr() {
|
|
|
+ m.LatestDate = utils.GormDateStrToDateStr(m.LatestDate)
|
|
|
+ m.ModifyTime = utils.GormDateStrToDateTimeStr(m.ModifyTime)
|
|
|
+ m.CreateTime = utils.GormDateStrToDateTimeStr(m.CreateTime)
|
|
|
+
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
type EdbDataInsertConfigItem struct {
|
|
|
Date string `description:"插入的日期"`
|
|
|
RealDate string `description:"实际最晚的日期"`
|
|
@@ -512,6 +573,11 @@ func GetEdbInfoByCondition(condition string, pars []interface{}) (item *EdbInfoL
|
|
|
sql += condition
|
|
|
}
|
|
|
err = o.Raw(sql, pars...).First(&item).Error
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ item.ConvertTimeStr()
|
|
|
+
|
|
|
return
|
|
|
}
|
|
|
|
|
@@ -565,6 +631,11 @@ func GetEdbInfoByNewest() (item *EdbInfoList, err error) {
|
|
|
o := global.DbMap[utils.DbNameIndex]
|
|
|
sql := ` SELECT * FROM edb_info WHERE 1=1 ORDER BY modify_time DESC LIMIT 1 `
|
|
|
err = o.Raw(sql).First(&item).Error
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ item.ConvertTimeStr()
|
|
|
+
|
|
|
return
|
|
|
}
|
|
|
|
|
@@ -855,6 +926,11 @@ func GetFirstEdbInfoByClassifyId(classifyId int) (item *EdbInfo, err error) {
|
|
|
o := global.DbMap[utils.DbNameIndex]
|
|
|
sql := ` SELECT * FROM edb_info WHERE classify_id=? order by sort asc,edb_info_id asc limit 1`
|
|
|
err = o.Raw(sql, classifyId).First(&item).Error
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ item.ConvertTimeStr()
|
|
|
+
|
|
|
return
|
|
|
}
|
|
|
|
|
@@ -1423,6 +1499,11 @@ func GetNextEdbInfoByCondition(condition string, pars []interface{}) (item *EdbI
|
|
|
}
|
|
|
sql += " ORDER BY sort asc , edb_info_id asc LIMIT 1 "
|
|
|
err = o.Raw(sql, pars...).First(&item).Error
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ item.ConvertTimeStr()
|
|
|
+
|
|
|
return
|
|
|
}
|
|
|
|
|
@@ -1436,6 +1517,11 @@ func GetNextEdbInfo(classifyId, classifySort, classifyType, edbInfoType int) (it
|
|
|
ORDER BY a.sort ASC,b.sort asc,b.edb_info_id asc
|
|
|
LIMIT 1 `
|
|
|
err = o.Raw(sql, classifySort, classifySort, classifyId, classifyType, edbInfoType).First(&item).Error
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ item.ConvertTimeStr()
|
|
|
+
|
|
|
return
|
|
|
}
|
|
|
|