edb_update_log.go 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. package index
  2. import (
  3. "eta_gn/eta_bridge/global"
  4. "fmt"
  5. "time"
  6. )
  7. type EdbUpdateLog struct {
  8. Id int64 `gorm:"column:id;type:bigint(20) UNSIGNED;primaryKey;not null;" json:"id"`
  9. OpDbName string `gorm:"column:op_db_name;type:varchar(255);comment:库名;default:NULL;" json:"op_db_name"` // 库名
  10. OpTableName string `gorm:"column:op_table_name;type:varchar(255);comment:表名;" json:"op_table_name"` // 表名
  11. OpType string `gorm:"column:op_type;type:varchar(16);comment:变更类型;default:NULL;" json:"op_type"` // 变更类型
  12. OldData string `gorm:"column:old_data;type:text;comment:历史数据;" json:"old_data"` // 历史数据
  13. NewData string `gorm:"column:new_data;type:text;comment:新数据;" json:"new_data"` // 新数据
  14. CreateTime time.Time `gorm:"column:create_time;type:timestamp;default:CURRENT_TIMESTAMP;" json:"create_time"`
  15. }
  16. func (m *EdbUpdateLog) TableName() string {
  17. return "edb_update_log"
  18. }
  19. // Create 添加数据
  20. func (m *EdbUpdateLog) Create() (err error) {
  21. err = global.MYSQL["index"].Create(m).Error
  22. return
  23. }
  24. // DeleteBeforeTenDayLog 清除n前的日志数据
  25. func (m *EdbUpdateLog) DeleteBeforeTenDayLog(beforeDate string) (err error) {
  26. sql := fmt.Sprintf(`DELETE FROM %s WHERE create_time < ?`, m.TableName())
  27. err = global.MYSQL["index"].Exec(sql, beforeDate).Error
  28. return
  29. }
  30. type EdbInfo struct {
  31. EdbInfoId int `gorm:"primaryKey;autoIncrement;column:edb_info_id" description:"唯一标识"`
  32. EdbInfoType int `gorm:"column:edb_info_type" description:"指标类型,0:普通指标,1:预测指标"`
  33. SourceName string `gorm:"column:source_name" description:"来源名称"`
  34. Source int `gorm:"column:source" description:"来源id"`
  35. EdbCode string `gorm:"column:edb_code" description:"指标编码"`
  36. EdbName string `gorm:"column:edb_name" description:"指标名称"`
  37. EdbNameEn string `gorm:"column:edb_name_en" description:"英文指标名称"`
  38. EdbNameSource string `gorm:"column:edb_name_source" description:"指标名称来源"`
  39. Frequency string `gorm:"column:frequency" description:"频率"`
  40. Unit string `gorm:"column:unit" description:"单位"`
  41. UnitEn string `gorm:"column:unit_en" description:"英文单位"`
  42. StartDate string `gorm:"column:start_date" description:"起始日期"`
  43. EndDate string `gorm:"column:end_date" description:"终止日期"`
  44. ClassifyId int `gorm:"column:classify_id" description:"分类id"`
  45. SysUserId int `gorm:"column:sys_user_id" description:"系统用户ID"`
  46. SysUserRealName string `gorm:"column:sys_user_real_name" description:"系统用户真实姓名"`
  47. UniqueCode string `gorm:"column:unique_code" description:"指标唯一编码"`
  48. CreateTime time.Time `gorm:"column:create_time" description:"创建时间"`
  49. ModifyTime time.Time `gorm:"column:modify_time" description:"修改时间"`
  50. BaseModifyTime time.Time `gorm:"column:base_modify_time" description:"基础修改时间"`
  51. MinValue float64 `gorm:"column:min_value" description:"指标最小值"`
  52. MaxValue float64 `gorm:"column:max_value" description:"指标最大值"`
  53. CalculateFormula string `gorm:"column:calculate_formula" description:"计算公式"`
  54. EdbType int `gorm:"column:edb_type" description:"指标类型:1:基础指标,2:计算指标"`
  55. IsUpdate int `gorm:"column:is_update" description:"当天是否已更新,1:未更新,2:已更新"`
  56. Sort int `gorm:"column:sort" description:"排序字段"`
  57. LatestDate string `gorm:"column:latest_date" description:"数据最新日期(实际日期)"`
  58. LatestValue float64 `gorm:"column:latest_value" description:"数据最新值(实际值)"`
  59. EndValue float64 `gorm:"column:end_value" description:"数据的最新值(预测日期的最新值)"`
  60. MoveType int `gorm:"column:move_type" description:"移动方式:1:领先(默认),2:滞后"`
  61. MoveFrequency string `gorm:"column:move_frequency" description:"移动频度"`
  62. NoUpdate int8 `gorm:"column:no_update" description:"是否停止更新,0:继续更新;1:停止更新"`
  63. ServerUrl string `gorm:"column:server_url" description:"服务器地址"`
  64. ChartImage string `gorm:"column:chart_image" description:"图表图片"`
  65. Calendar string `gorm:"column:calendar;default:公历" description:"公历/农历"`
  66. EmptyType int `gorm:"column:empty_type" description:"空值处理类型(0查找前后35天,1不计算,2前值填充,3后值填充,4等于0)"`
  67. MaxEmptyType int `gorm:"column:max_empty_type" description:"MAX、MIN公式空值处理类型(1、等于0;2、跳过空值)"`
  68. DataDateType string `gorm:"column:data_date_type;size:255;default:交易日" description:"数据日期类型"`
  69. ManualSave int `gorm:"column:manual_save" description:"是否有手动保存过上下限: 0-否; 1-是"`
  70. TerminalCode string `gorm:"column:terminal_code" description:"终端编码,用于配置在机器上"`
  71. DataUpdateTime string `gorm:"column:data_update_time" description:"最近一次数据发生变化的时间"`
  72. ErDataUpdateDate string `gorm:"column:er_data_update_date" description:"本次更新,数据发生变化的最早日期"`
  73. SourceIndexName string `gorm:"column:source_index_name" description:"数据源中的指标名称"`
  74. SubSource int `gorm:"column:sub_source" description:"子数据来源:0:经济数据库,1:日期序列"`
  75. SubSourceName string `gorm:"column:sub_source_name" description:"子数据来源名称"`
  76. IndicatorCode string `gorm:"column:indicator_code" description:"指标代码"`
  77. StockCode string `gorm:"column:stock_code" description:"证券代码"`
  78. Extra string `gorm:"column:extra" description:"指标的额外配置"`
  79. OriginalEdbCode string `description:"指标原始编码"`
  80. }
  81. // GetAllBaseEdbInfo
  82. // @Description: 获取所有基础指标(只有国能数据节点的数据)
  83. // @return item
  84. // @return err
  85. func GetAllBaseEdbInfo() (item []*EdbInfo, err error) {
  86. sql := ` SELECT * FROM edb_info WHERE 1=1 AND "edb_info_type" = ? AND "edb_type" = ?`
  87. pars := []interface{}{0, 1}
  88. err = global.MYSQL["index"].Raw(sql, pars...).Find(&item).Error
  89. return
  90. }
  91. // Update
  92. // @Description: 更新指定参数
  93. // @receiver m
  94. // @param cols
  95. // @return err
  96. func (m *EdbInfo) Update(cols []string) (err error) {
  97. err = global.MYSQL["index"].Select(cols).Updates(m).Error
  98. return
  99. }