base_from_smm.go 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. package data_manage
  2. import (
  3. sql2 "database/sql"
  4. "eta/eta_task/global"
  5. "eta/eta_task/utils"
  6. "time"
  7. )
  8. type BaseFromSmm struct {
  9. BaseFromSmmId int `gorm:"column:base_from_smm_id;primaryKey;autoIncrement"`
  10. Aid int
  11. Name string
  12. Interface string
  13. ApiUpdate int
  14. ApiUpdateType string
  15. ApiType int
  16. ApiTypeAll string
  17. Type1 string `orm:"column(type_1)"`
  18. Type2 string `orm:"column(type_2)"`
  19. Type3 string `orm:"column(type_3)"`
  20. ApiStartTime string
  21. ApiUpdateTime string
  22. StartTime string
  23. FinishTime string
  24. AuthModule string
  25. AuthLang string
  26. ApiLabel string
  27. Enable string
  28. EditPerson string
  29. EditTime string
  30. AuthDur int
  31. AuthDurType string
  32. StartDate string
  33. EndDate string
  34. }
  35. func AddBaseFromSmm(item *BaseFromSmm) (lastId int64, err error) {
  36. err = global.DbMap[utils.DbNameIndex].Create(item).Error
  37. return
  38. }
  39. func GetBaseFromSmmList() (list []*BaseFromSmm, err error) {
  40. o := global.DbMap[utils.DbNameIndex]
  41. //sql := `SELECT * FROM base_from_smm WHERE interface='cu_annual_copper_cathode_demand_supply_balance_in_china' `
  42. sql := `SELECT * FROM base_from_smm WHERE end_date IS NOT NULL `
  43. err = o.Raw(sql).Find(&list).Error
  44. return
  45. }
  46. type BaseFromSmmIndex struct {
  47. BaseFromSmmIndexId int `gorm:"column:base_from_smm_index_id;primaryKey;autoIncrement"`
  48. Interface string
  49. Name string
  50. IndexCode string
  51. IndexName string
  52. Type1 string `orm:"column(type_1)"`
  53. Type2 string `orm:"column(type_2)"`
  54. Type3 string `orm:"column(type_3)"`
  55. Frequency string
  56. Unit string
  57. ApiStartTime string
  58. ApiUpdateTime string
  59. StartTime string
  60. FinishTime string
  61. CreateTime time.Time
  62. ModifyTime time.Time
  63. }
  64. func AddBaseFromSmmIndex(item *BaseFromSmmIndex) (lastId int64, err error) {
  65. err = global.DbMap[utils.DbNameIndex].Create(item).Error
  66. return
  67. }
  68. func GetBaseFromSmmIndex() (list []*BaseFromSmmIndex, err error) {
  69. o := global.DbMap[utils.DbNameIndex]
  70. sql := `SELECT * FROM base_from_smm_index `
  71. err = o.Raw(sql).Find(&list).Error
  72. return
  73. }
  74. type BaseFromSmmData struct {
  75. SmmDataId int `orm:"column(smm_data_id);pk"`
  76. BaseFromSmmIndexId int
  77. IndexCode string
  78. DataTime string
  79. Value string
  80. CreateTime time.Time
  81. ModifyTime time.Time
  82. DataTimestamp int64
  83. }
  84. func AddBaseFromSmmData(item *BaseFromSmmData) (lastId int64, err error) {
  85. err = global.DbMap[utils.DbNameIndex].Create(item).Error
  86. return
  87. }
  88. func GetBaseFromSmmDataAll(indexCode string) (list []*BaseFromSmmData, err error) {
  89. o := global.DbMap[utils.DbNameIndex]
  90. sql := `SELECT * FROM base_from_smm_data WHERE index_code=?`
  91. err = o.Raw(sql, indexCode).Find(&list).Error
  92. return
  93. }
  94. func ModifyBaseFromSmmData(smmDataId int, value string) (err error) {
  95. o := global.DbMap[utils.DbNameIndex]
  96. sql := `UPDATE base_from_smm_data SET value=?,modify_time=NOW() WHERE smm_data_id=? `
  97. err = o.Exec(sql, value, smmDataId).Error
  98. return
  99. }
  100. func GetBaseFromSmmIndexByCode(smmCode string) (list []*BaseFromSmmIndex, err error) {
  101. o := global.DbMap[utils.DbNameIndex]
  102. sql := ` SELECT * FROM base_from_smm_index WHERE interface=? `
  103. err = o.Raw(sql, smmCode).Find(&list).Error
  104. return
  105. }
  106. func GetBaseFromSmmMaxOrMinDate(indexCode string) (minDate, maxDate string, err error) {
  107. o := global.DbMap[utils.DbNameIndex]
  108. sql := ` SELECT MIN(data_time) AS min_date, MAX(data_time) AS max_date FROM base_from_smm_data WHERE index_code=? `
  109. var minNull, maxNull sql2.NullString
  110. err = o.Raw(sql, indexCode).Row().Scan(&minNull, &maxNull)
  111. if err != nil {
  112. return
  113. }
  114. if minNull.Valid {
  115. minDate = minNull.String
  116. }
  117. if maxNull.Valid {
  118. maxDate = maxNull.String
  119. }
  120. return
  121. }
  122. func ModifyBaseFromSmmSmmType(baseFromSmmId int, smmType string) (err error) {
  123. o := global.DbMap[utils.DbNameIndex]
  124. sql := ` UPDATE base_from_smm SET smm_type=? WHERE base_from_smm_id=? `
  125. err = o.Exec(sql, smmType, baseFromSmmId).Error
  126. return
  127. }
  128. func ModifyBaseFromSmmMinDateAndMaxDate(baseFromSmmIndexId, baseFromSmmId int, minDate, maxDate string) (err error) {
  129. o := global.DbMap[utils.DbNameIndex]
  130. sql := ` UPDATE base_from_smm_index SET start_date=?,end_date=?,modify_time=NOW() WHERE base_from_smm_index_id=? `
  131. err = o.Exec(sql, minDate, maxDate, baseFromSmmIndexId).Error
  132. sql = ` UPDATE base_from_smm SET start_date=?,end_date=?,modify_time=NOW() WHERE base_from_smm_id=? `
  133. err = o.Exec(sql, minDate, maxDate, baseFromSmmId).Error
  134. return
  135. }
  136. type BaseFromSmmDataSimple struct {
  137. SmmDataId int `orm:"column(smm_data_id);pk"`
  138. BaseFromSmmIndexId int
  139. IndexCode string
  140. DataTime string
  141. Value float64
  142. }
  143. func GetBaseFromSmmDataByCondition(condition string, pars []interface{}) (list []*BaseFromSmmDataSimple, err error) {
  144. o := global.DbMap[utils.DbNameIndex]
  145. sql := `SELECT * FROM base_from_smm_data WHERE 1=1 `
  146. if condition != "" {
  147. sql += condition
  148. }
  149. err = o.Raw(sql, pars).Find(&list).Error
  150. return
  151. }