base_from_business_index.go 7.1 KB

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