base_from_icpi.go 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. package data_manage
  2. import (
  3. "github.com/beego/beego/v2/client/orm"
  4. "github.com/rdlucklib/rdluck_tools/paging"
  5. "time"
  6. )
  7. type BaseFromIcpiIndex struct {
  8. BaseFromIcpiIndexId int `orm:"column(base_from_icpi_index_id);pk"`
  9. BaseFromIcpiClassifyId int `description:"分类id"`
  10. IndexCode string `description:"指标编码"`
  11. IndexName string `description:"指标名称"`
  12. Frequency string `description:"频度"`
  13. StartDate time.Time `description:"开始日期"`
  14. EndDate time.Time `description:"结束日期"`
  15. CreateTime time.Time `description:"创建时间"`
  16. ModifyTime time.Time `description:"修改时间"`
  17. }
  18. func GetBaseFromIcpiIndexMaxDate() (max_date time.Time, err error) {
  19. o := orm.NewOrm()
  20. sql := ` SELECT max(a.data_time)as max_date FROM base_from_icpi_data as a `
  21. err = o.Raw(sql).QueryRow(&max_date)
  22. return
  23. }
  24. type IcpiIndexResp struct {
  25. Ret int
  26. Msg string
  27. ErrMsg string
  28. ErrCode string
  29. Data []*BaseFromIcpiIndex
  30. }
  31. func GetBaseFromIcpiIndexAll(dateStr string) (list []*BaseFromIcpiIndex, err error) {
  32. o := orm.NewOrm()
  33. sql := `SELECT * FROM base_from_icpi_index WHERE end_date>=?`
  34. _, err = o.Raw(sql, dateStr).QueryRows(&list)
  35. return
  36. }
  37. func (obj *BaseFromIcpiIndex) AddBaseFromIcpiIndex(item *BaseFromIcpiIndex) (lastId int64, err error) {
  38. o := orm.NewOrm()
  39. lastId, err = o.Insert(item)
  40. return
  41. }
  42. type BaseFromIcpiClassify struct {
  43. BaseFromIcpiClassifyId int `orm:"column(base_from_icpi_classify_id);pk"`
  44. ClassifyName string `description:"分类名称"`
  45. ClassifyNameEn string `description:"英文名称"`
  46. ParentId int `description:"上级id"`
  47. CreateTime string `description:"创建时间"`
  48. ModifyTime string `description:"修改时间"`
  49. }
  50. type IcpiClassifyResp struct {
  51. Ret int
  52. Msg string
  53. ErrMsg string
  54. ErrCode string
  55. Data []*BaseFromIcpiClassify
  56. }
  57. func GetBaseFromIcpiClassifyAll() (list []*BaseFromIcpiClassify, err error) {
  58. o := orm.NewOrm()
  59. sql := `SELECT * FROM base_from_icpi_classify `
  60. _, err = o.Raw(sql).QueryRows(&list)
  61. return
  62. }
  63. func AddBaseFromIcpiClassify(item *BaseFromIcpiClassify) (lastId int64, err error) {
  64. o := orm.NewOrm()
  65. lastId, err = o.Insert(item)
  66. return
  67. }
  68. // GetBaseFromComTradeMaxDate 获取ICPI消费者指数最大数据
  69. func GetBaseFromIcpiMaxDate() (max_date time.Time, err error) {
  70. o := orm.NewOrm()
  71. sql := ` SELECT max(a.create_time)as max_date FROM base_from_icpi_data as a `
  72. err = o.Raw(sql).QueryRow(&max_date)
  73. return
  74. }
  75. type BaseFromIcpiData struct {
  76. BaseFromIcpiDataId int `orm:"column(base_from_icpi_data_id);pk"`
  77. BaseFromIcpiIndexId int `description:"指标id"`
  78. IndexCode string `description:"指标编码"`
  79. DataTime string `description:"日期"`
  80. Value string `description:"值"`
  81. CreateTime time.Time `description:"创建时间"`
  82. ModifyTime time.Time `description:"修改时间"`
  83. }
  84. // GetAllComTradeDataList 获取ICPI消费者指数数据
  85. func GetAllBaseFromIcpiDataList(startDate string) (list []*BaseFromIcpiData, err error) {
  86. o := orm.NewOrm()
  87. sql := `SELECT * FROM base_from_icpi_data WHERE create_time>=? ORDER BY base_from_icpi_data_id ASC `
  88. _, err = o.Raw(sql, startDate).QueryRows(&list)
  89. return
  90. }
  91. type BaseFromIcpiDataResp struct {
  92. Ret int
  93. Msg string
  94. ErrMsg string
  95. ErrCode string
  96. Data BaseFromIcpiDataIndexAndDataResp
  97. }
  98. // ComTradeIndexDataResp 分页列表响应体
  99. type BaseFromIcpiDataIndexAndDataResp struct {
  100. List []*BaseFromIcpiData
  101. Paging *paging.PagingItem `description:"分页数据"`
  102. }
  103. // MultiAddBaseFromComTradeData 批量添加数据
  104. func MultiAddBaseFromIcpiDataIndex(items []*BaseFromIcpiData) (lastId int64, err error) {
  105. num := len(items)
  106. if num <= 0 {
  107. return
  108. }
  109. o := orm.NewOrm()
  110. lastId, err = o.InsertMulti(num, items)
  111. return
  112. }