|
@@ -0,0 +1,84 @@
|
|
|
+package data_manage
|
|
|
+
|
|
|
+import (
|
|
|
+ "encoding/json"
|
|
|
+ "eta_gn/eta_api/utils"
|
|
|
+ "fmt"
|
|
|
+)
|
|
|
+
|
|
|
+type EdbInfoResp struct {
|
|
|
+ EdbInfoId int `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 string
|
|
|
+ ModifyTime string
|
|
|
+ BaseModifyTime string
|
|
|
+ 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"`
|
|
|
+}
|
|
|
+
|
|
|
+// ConvertToResp
|
|
|
+// @Description:
|
|
|
+// @receiver m
|
|
|
+// @return *EdbInfoResp
|
|
|
+// @return error
|
|
|
+func (m EdbInfo) ConvertToResp() (*EdbInfoResp, error) {
|
|
|
+ result := new(EdbInfoResp)
|
|
|
+
|
|
|
+ jsonBytes, err := json.Marshal(m)
|
|
|
+ if err != nil {
|
|
|
+ return nil, fmt.Errorf("failed to marshal input: %w", err)
|
|
|
+ }
|
|
|
+
|
|
|
+ err = json.Unmarshal(jsonBytes, result)
|
|
|
+ if err != nil {
|
|
|
+ return nil, fmt.Errorf("failed to unmarshal input: %w", err)
|
|
|
+ }
|
|
|
+
|
|
|
+ // 通过反射处理时间字段
|
|
|
+ fieldsToProcess := []string{"CreateTime", "ModifyTime", "BaseModifyTime", "StartDate", "EndDate"}
|
|
|
+
|
|
|
+ err = utils.ReflectSetField(m, result, fieldsToProcess)
|
|
|
+
|
|
|
+ return result, err
|
|
|
+}
|