edb_info.go 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. package models
  2. import (
  3. "hongze/mysteel_watch/global"
  4. "time"
  5. "context"
  6. )
  7. type EdbInfo struct {
  8. EdbInfoId int `orm:"column(edb_info_id);pk"`
  9. SourceName string `description:"来源名称"`
  10. Source int `description:"来源id"`
  11. EdbCode string `description:"指标编码"`
  12. EdbName string `description:"指标名称"`
  13. EdbNameSource string `description:"指标名称来源"`
  14. Frequency string `description:"频率"`
  15. Unit string `description:"单位"`
  16. StartDate string `description:"起始日期"`
  17. EndDate string `description:"终止日期"`
  18. ClassifyId int `description:"分类id"`
  19. SysUserId int
  20. SysUserRealName string
  21. UniqueCode string `description:"指标唯一编码"`
  22. CreateTime time.Time
  23. ModifyTime time.Time
  24. MinValue float64 `description:"指标最小值"`
  25. MaxValue float64 `description:"指标最大值"`
  26. CalculateFormula string `description:"计算公式"`
  27. EdbType int `description:"指标类型:1:基础指标,2:计算指标"`
  28. Sort int `description:"排序字段"`
  29. MoveType int `description:"移动方式:1:领先(默认),2:滞后"`
  30. MoveFrequency string `description:"移动频度"`
  31. NoUpdate int8 `description:"是否停止更新,0:继续更新;1:停止更新"`
  32. ServerUrl string `description:"服务器地址"`
  33. EdbInfoType int `description:"指标类型,0:普通指标,1:预测指标"`
  34. EdbNameEn string `description:"英文指标名称"`
  35. UnitEn string `description:"英文单位"`
  36. LatestDate string `description:"数据最新日期"`
  37. LatestValue float64 `description:"数据最新值"`
  38. ChartImage string `description:"图表图片"`
  39. }
  40. func (d *EdbInfo) GetEdbInfoItem(runMod, indexCode string) (item *EdbInfo, err error) {
  41. if runMod == "release" {
  42. err = global.MYSQL["hzdata"].WithContext(context.TODO()).Table("edb_info").
  43. Where("edb_code = ?", indexCode).First(&item).Error
  44. return
  45. } else {
  46. err = global.DEFAULT_MYSQL.WithContext(context.TODO()).Table("edb_info").
  47. Where("edb_code = ?", indexCode).First(&item).Error
  48. return
  49. }
  50. }
  51. type EdbDataMysteelChemical struct {
  52. EdbDataId int `orm:"column(edb_data_id);pk"`
  53. EdbInfoId int
  54. EdbCode string
  55. DataTime string
  56. Value string
  57. CreateTime time.Time
  58. ModifyTime time.Time
  59. DataTimestamp int64
  60. }
  61. func (d *EdbDataMysteelChemical) GetEdbInfoDataList(runMod string, indexCode string) (item []*EdbDataMysteelChemical, err error) {
  62. if runMod == "release" {
  63. err = global.MYSQL["hzdata"].WithContext(context.TODO()).Model(d).
  64. Where("index_code = ?", indexCode).Find(&item).Error
  65. return
  66. } else {
  67. err = global.DEFAULT_MYSQL.WithContext(context.TODO()).Model(d).
  68. Where("index_code = ?", indexCode).Find(&item).Error
  69. return
  70. }
  71. }
  72. // 新增
  73. func (r *EdbDataMysteelChemical) Add(runMod string, list []EdbDataMysteelChemical) (err error) {
  74. if runMod == "release" {
  75. err = global.MYSQL["hzdata"].Create(list).Error
  76. return
  77. } else {
  78. err = global.DEFAULT_MYSQL.Create(list).Error
  79. return
  80. }
  81. }
  82. // 修改
  83. func (r *EdbDataMysteelChemical) Update(runMod string, updateCols []string) (err error) {
  84. if runMod == "release" {
  85. err = global.MYSQL["hzdata"].Model(r).Where("edb_data_id=?", r.EdbDataId).Select(updateCols).Updates(r).Error
  86. return
  87. } else {
  88. err = global.DEFAULT_MYSQL.Model(r).Where("edb_data_id=?", r.EdbDataId).Select(updateCols).Updates(r).Error
  89. return
  90. }
  91. }