Roc 1 hónapja
szülő
commit
a8e24e8884
1 módosított fájl, 137 hozzáadás és 51 törlés
  1. 137 51
      models/data_manage/edb_info.go

+ 137 - 51
models/data_manage/edb_info.go

@@ -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
 }