123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- 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"}
- err = utils.ReflectSetField(m, result, fieldsToProcess, utils.FormatDateTime)
- if err != nil {
- return result, err
- }
- // 通过反射处理时间字段
- fieldsToProcess = []string{"StartDate", "EndDate"}
- err = utils.ReflectSetField(m, result, fieldsToProcess, utils.FormatDate)
- return result, err
- }
- // ConvertToResp
- // @Description: 转成需要输出的格式
- // @receiver m
- func (m *EdbInfoList) ConvertToResp() {
- m.CreateTime = utils.GormDateStrToDateTimeStr(m.CreateTime)
- m.ModifyTime = utils.GormDateStrToDateTimeStr(m.ModifyTime)
- m.StartDate = utils.GormDateStrToDateStr(m.StartDate)
- m.EndDate = utils.GormDateStrToDateStr(m.EndDate)
- m.LatestDate = utils.GormDateStrToDateStr(m.LatestDate)
- return
- }
|