base_from_business.go 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. package models
  2. import (
  3. "eta/eta_index_lib/utils"
  4. "time"
  5. "github.com/beego/beego/v2/client/orm"
  6. )
  7. // BaseFromBusinessIndex
  8. // @Description: 外部指标(商家系统)表
  9. type BaseFromBusinessIndex struct {
  10. BaseFromBusinessIndexId int64 `orm:"column(base_from_business_index_id);pk"`
  11. IndexCode string `description:"指标编码"`
  12. IndexName string `description:"指标名称"`
  13. Unit string `description:"单位"`
  14. Frequency string `description:"频度"`
  15. Source int `description:"数据来源"`
  16. SourceName string `description:"数据来源名称"`
  17. StartDate time.Time `description:"开始日期"`
  18. EndDate time.Time `description:"结束日期"`
  19. Remark string `description:"备注字段"`
  20. BaseModifyTime time.Time `description:"基础信息(名称,单位,频度)变更时间"`
  21. DataUpdateTime time.Time `description:"最近一次数据发生变化的时间"`
  22. CreateTime time.Time `description:"创建时间"`
  23. ModifyTime time.Time `description:"修改时间"`
  24. }
  25. // EdbBusinessSource
  26. // @Description: 外部数据(商家)指标来源
  27. type EdbBusinessSource struct {
  28. EdbBusinessSourceId int64 `orm:"column(edb_business_source_id);pk"`
  29. SourceName string `description:"来源名称"` // 来源名称
  30. CreateTime time.Time `description:"创建时间"` // 创建时间
  31. }
  32. // AddBusinessIndexReq
  33. // @Description: 添加外部指标(商家)请求
  34. type AddBusinessIndexReq struct {
  35. IndexCode string `description:"指标编码"`
  36. IndexName string `description:"指标名称"`
  37. Unit string `description:"单位"`
  38. Frequency string `description:"频度"`
  39. SourceName string `description:"数据来源名称"`
  40. Remark string `description:"备注字段"`
  41. DataList []AddBusinessDataReq `description:"指标数据"`
  42. }
  43. // AddBusinessDataReq
  44. // @Description: 外部指标(商家系统)数据
  45. type AddBusinessDataReq struct {
  46. Value float64 `description:"值"`
  47. Date string `description:"日期"`
  48. }
  49. func (m *BaseFromBusinessIndex) GetIndexItem(indexCode string) (item *BaseFromBusinessIndex, err error) {
  50. o := orm.NewOrm()
  51. sql := `SELECT * FROM base_from_business_index WHERE index_code = ? `
  52. err = o.Raw(sql, indexCode).QueryRow(&item)
  53. return
  54. }
  55. func (m *BaseFromBusinessIndex) GetIndexCreate(terminalCode string) (items []*BaseFromBusinessIndex, err error) {
  56. o := orm.NewOrm()
  57. endTime := time.Now().Add(-2 * time.Minute).Format(utils.FormatDateTime)
  58. sql := `SELECT * FROM base_from_business_index WHERE index_name = '' AND create_time <= ? AND terminal_code = ? `
  59. _, err = o.Raw(sql, endTime, terminalCode).QueryRows(&items)
  60. return
  61. }
  62. // Add 新增
  63. func (m *BaseFromBusinessIndex) Add() (err error) {
  64. o := orm.NewOrm()
  65. lastId, err := o.Insert(m)
  66. if err != nil {
  67. return
  68. }
  69. m.BaseFromBusinessIndexId = lastId
  70. return
  71. }
  72. func (m *BaseFromBusinessIndex) Update(cols []string) (err error) {
  73. o := orm.NewOrm()
  74. _, err = o.Update(m, cols...)
  75. return
  76. }
  77. func (m *BaseFromBusinessIndex) UpdateIndex(item *BaseFromBusinessIndex, updateCols []string) (err error) {
  78. if item == nil {
  79. return
  80. }
  81. if len(updateCols) == 0 {
  82. return
  83. }
  84. o := orm.NewOrm()
  85. _, err = o.Update(item, updateCols...)
  86. return
  87. }
  88. // GetEdbBusinessSourceItem
  89. // @Description: 根据来源名称获取来源信息
  90. // @author: Roc
  91. // @receiver m
  92. // @datetime 2024-04-25 18:09:03
  93. // @param sourceName string
  94. // @return item *EdbBusinessSource
  95. // @return err error
  96. func (m *EdbBusinessSource) GetEdbBusinessSourceItem(sourceName string) (item *EdbBusinessSource, err error) {
  97. o := orm.NewOrm()
  98. sql := `SELECT * FROM edb_business_source WHERE source_name = ? `
  99. err = o.Raw(sql, sourceName).QueryRow(&item)
  100. return
  101. }
  102. // Add 新增
  103. func (m *EdbBusinessSource) Add() (err error) {
  104. o := orm.NewOrm()
  105. lastId, err := o.Insert(m)
  106. if err != nil {
  107. return
  108. }
  109. m.EdbBusinessSourceId = lastId
  110. return
  111. }