base_from_business_index.go 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177
  1. package data_manage
  2. import (
  3. "eta/eta_api/utils"
  4. "github.com/beego/beego/v2/client/orm"
  5. "github.com/rdlucklib/rdluck_tools/paging"
  6. "time"
  7. )
  8. // BaseFromBusinessIndex
  9. // @Description: 外部指标(商家系统)表
  10. type BaseFromBusinessIndex struct {
  11. BaseFromBusinessIndexId int64 `orm:"column(base_from_business_index_id);pk"`
  12. IndexCode string `description:"指标编码"`
  13. IndexName string `description:"指标名称"`
  14. Unit string `description:"单位"`
  15. Frequency string `description:"频度"`
  16. Source int `description:"数据来源"`
  17. SourceName string `description:"数据来源名称"`
  18. StartDate time.Time `description:"开始日期"`
  19. EndDate time.Time `description:"结束日期"`
  20. Remark string `description:"备注字段"`
  21. BaseModifyTime time.Time `description:"基础信息(名称,单位,频度)变更时间"`
  22. DataUpdateTime time.Time `description:"最近一次数据发生变化的时间"`
  23. CreateTime time.Time `description:"创建时间"`
  24. ModifyTime time.Time `description:"修改时间"`
  25. }
  26. var BaseFromBusinessIndexCols = struct {
  27. BaseFromBusinessIndexId string
  28. IndexCode string
  29. IndexName string
  30. Unit string
  31. Frequency string
  32. Source string
  33. SourceName string
  34. StartDate string
  35. EndDate string
  36. Remark string
  37. BaseModifyTime string
  38. DataUpdateTime string
  39. CreateTime string
  40. ModifyTime string
  41. }{
  42. BaseFromBusinessIndexId: "base_from_business_index_id",
  43. IndexCode: "index_code",
  44. IndexName: "index_name",
  45. Unit: "unit",
  46. Frequency: "frequency",
  47. Source: "source",
  48. SourceName: "source_name",
  49. StartDate: "start_date",
  50. EndDate: "end_date",
  51. Remark: "remark",
  52. BaseModifyTime: "base_modify_time",
  53. DataUpdateTime: "data_update_time",
  54. CreateTime: "create_time",
  55. ModifyTime: "modify_time",
  56. }
  57. // EdbBusinessSource
  58. // @Description: 外部数据(商家)指标来源
  59. type EdbBusinessSource struct {
  60. EdbBusinessSourceId int64 `orm:"column(edb_business_source_id);pk"`
  61. SourceName string `description:"来源名称"` // 来源名称
  62. CreateTime time.Time `description:"创建时间"` // 创建时间
  63. }
  64. // GetEdbBusinessSourceItem
  65. // @Description: 根据来源名称获取来源信息
  66. // @author: Roc
  67. // @receiver m
  68. // @datetime 2024-04-25 18:09:03
  69. // @param sourceName string
  70. // @return item *EdbBusinessSource
  71. // @return err error
  72. func (m *EdbBusinessSource) GetEdbBusinessSourceItem(sourceName string) (item *EdbBusinessSource, err error) {
  73. o := orm.NewOrmUsingDB("data")
  74. sql := `SELECT * FROM edb_business_source WHERE source_name = ? `
  75. err = o.Raw(sql, sourceName).QueryRow(&item)
  76. return
  77. }
  78. // GetAllList
  79. // @Description: 获取所有来源列表
  80. // @author: Roc
  81. // @receiver m
  82. // @datetime 2024-05-06 09:21:42
  83. // @return items []*EdbBusinessSource
  84. // @return err error
  85. func (m *EdbBusinessSource) GetAllList() (items []*EdbBusinessSource, err error) {
  86. o := orm.NewOrmUsingDB("data")
  87. sql := `SELECT * FROM edb_business_source order by edb_business_source_id desc `
  88. _, err = o.Raw(sql).QueryRows(&items)
  89. return
  90. }
  91. func (m *BaseFromBusinessIndex) GetListCount(condition string, pars []interface{}) (count int, err error) {
  92. sql := ` select count(1) as count FROM base_from_business_index as a WHERE 1=1 `
  93. if condition != "" {
  94. sql += condition
  95. }
  96. o := orm.NewOrmUsingDB("data")
  97. err = o.Raw(sql, pars).QueryRow(&count)
  98. return
  99. }
  100. func (m *BaseFromBusinessIndex) GetList(condition string, pars []interface{}, startSize, pageSize int) (items []*BaseFromBusinessIndex, err error) {
  101. sql := `select * FROM base_from_business_index AS a WHERE 1=1 `
  102. if condition != "" {
  103. sql += condition
  104. }
  105. sql += ` order by a.base_from_business_index_id desc limit ?,? `
  106. o := orm.NewOrmUsingDB("data")
  107. _, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items)
  108. return
  109. }
  110. // BusinessIndexListResp
  111. // @Description: 外部(商家)指标列表返回
  112. type BusinessIndexListResp struct {
  113. List []*BaseFromBusinessIndexItem
  114. Paging *paging.PagingItem `description:"分页数据"`
  115. }
  116. // BaseFromBusinessIndexItem
  117. // @Description: 外部指标(商家系统)结构
  118. type BaseFromBusinessIndexItem struct {
  119. BaseFromBusinessIndexId int64 `orm:"column(base_from_business_index_id);pk"`
  120. IndexCode string `description:"指标编码"`
  121. IndexName string `description:"指标名称"`
  122. Unit string `description:"单位"`
  123. Frequency string `description:"频度"`
  124. Source int `description:"数据来源"`
  125. SourceName string `description:"数据来源名称"`
  126. StartDate string `description:"开始日期"`
  127. EndDate string `description:"结束日期"`
  128. Remark string `description:"备注字段"`
  129. BaseModifyTime string `description:"基础信息(名称,单位,频度)变更时间"`
  130. DataUpdateTime string `description:"最近一次数据发生变化的时间"`
  131. CreateTime string `description:"创建时间"`
  132. ModifyTime string `description:"修改时间"`
  133. EdbInfoId int `description:"eta指标库的id"`
  134. EdbUniqueCode string `description:"指标库唯一编码"`
  135. EdbClassifyId int `description:"指标库分类ID"`
  136. EdbExist int `description:"指标库是否已添加:0-否;1-是"`
  137. }
  138. func (m *BaseFromBusinessIndex) GetPageItemsByCondition(condition string, pars []interface{}, startSize, pageSize int) (items []*BaseFromBusinessIndexItem, err error) {
  139. sql := `select * FROM base_from_business_index AS a LEFT JOIN edb_info b on a.index_code=b.edb_code WHERE 1=1 AND b.source=?`
  140. if condition != "" {
  141. sql += condition
  142. }
  143. sql += ` order by a.base_from_business_index_id desc limit ?,? `
  144. o := orm.NewOrmUsingDB("data")
  145. _, err = o.Raw(sql, utils.DATA_SOURCE_BUSINESS, pars, startSize, pageSize).QueryRows(&items)
  146. return
  147. }
  148. func (m *BaseFromBusinessIndex) GeItemsByCondition(condition string, pars []interface{}, limitSize int) (items []*BaseFromBusinessIndexItem, err error) {
  149. sql := `select a.*,b.edb_info_id,b.unique_code as edb_unique_code,b.classify_id as edb_classify_id FROM base_from_business_index AS a LEFT JOIN edb_info b on a.index_code=b.edb_code WHERE 1=1 AND b.source=?`
  150. if condition != "" {
  151. sql += condition
  152. }
  153. sql += ` order by a.base_from_business_index_id desc `
  154. if limitSize > 0 {
  155. sql += " limit ? "
  156. }
  157. o := orm.NewOrmUsingDB("data")
  158. _, err = o.Raw(sql, utils.DATA_SOURCE_BUSINESS, pars, limitSize).QueryRows(&items)
  159. return
  160. }