base_from_rzd_data.go 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. // Package data_manage @Author gmy 2024/8/7 9:50:00
  2. package data_manage
  3. import (
  4. "eta/eta_api/utils"
  5. "github.com/beego/beego/v2/client/orm"
  6. )
  7. type BaseFromRzdData struct {
  8. BaseFromRzdDataId int `orm:"column(base_from_rzd_data_id);pk"`
  9. BaseFromRzdIndexId int `orm:"column(base_from_rzd_index_id)"`
  10. CreateTime string `orm:"column(create_time)"`
  11. DataTime string `orm:"column(data_time)"`
  12. IndexCode string `orm:"column(index_code)"`
  13. ModifyTime string `orm:"column(modify_time)"`
  14. Value float64 `orm:"column(value)"`
  15. }
  16. // RzdIndexAddReq 指标添加vo
  17. type RzdIndexAddReq struct {
  18. EdbCode string `description:"指标编码"`
  19. EdbName string `description:"指标名称"`
  20. Frequency string `description:"频度"`
  21. Unit string `description:"单位"`
  22. ClassifyId int `description:"分类ID"`
  23. AdminId int `description:"管理员ID"`
  24. AdminRealName string `description:"管理员名称"`
  25. }
  26. type RzdIndexDataCountGroup struct {
  27. IndexCode string
  28. Count int
  29. }
  30. func init() {
  31. orm.RegisterModel(new(BaseFromRzdData))
  32. }
  33. func GetRzdIndexDataCountGroup(indexCodes []string) (items []*RzdIndexDataCountGroup, err error) {
  34. if len(indexCodes) <= 0 {
  35. return
  36. }
  37. o := orm.NewOrmUsingDB("data")
  38. sql := ` SELECT COUNT(1) AS count, index_code FROM base_from_rzd_data WHERE index_code IN (` + utils.GetOrmInReplace(len(indexCodes)) + `) GROUP BY index_code`
  39. _, err = o.Raw(sql, indexCodes).QueryRows(&items)
  40. return
  41. }
  42. func GetRzdIndexData(indexCode string, startSize, pageSize int) (items []*BaseFromRzdData, err error) {
  43. o := orm.NewOrmUsingDB("data")
  44. sql := ` SELECT * FROM base_from_rzd_data WHERE index_code=? ORDER BY data_time DESC LIMIT ?,? `
  45. _, err = o.Raw(sql, indexCode, startSize, pageSize).QueryRows(&items)
  46. return
  47. }
  48. // GetBaseFormRzdDataByIndexCode 根据指标编码查询
  49. func GetBaseFormRzdDataByIndexCode(indexCode string) (items []*BaseFromRzdData, err error) {
  50. sql := `SELECT * FROM base_from_rzd_data WHERE index_code=? ORDER BY data_time desc`
  51. o := orm.NewOrmUsingDB("data")
  52. _, err = o.Raw(sql, indexCode).QueryRows(&items)
  53. return
  54. }
  55. // GetRzdDataListByIndexCodes 根据指标编码查询
  56. func GetRzdDataListByIndexCodes(IndexCodes string) (items []string, err error) {
  57. sql := ` SELECT data_time FROM base_from_rzd_data WHERE index_code IN(` + IndexCodes + `) GROUP BY data_time DESC `
  58. o := orm.NewOrmUsingDB("data")
  59. _, err = o.Raw(sql).QueryRows(&items)
  60. return
  61. }