base_from_ths.go 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. package controllers
  2. import (
  3. "encoding/json"
  4. "hongze/hongze_edb_lib/models"
  5. "hongze/hongze_edb_lib/utils"
  6. "strconv"
  7. )
  8. type ThsController struct {
  9. BaseAuthController
  10. }
  11. // @Title 编辑指标接口
  12. // @Description 编辑指标接口
  13. // @Success 200 {object} data_manage.EditEdbInfoReq
  14. // @router /add [post]
  15. func (this *ThsController) EdbInfoEdit() {
  16. br := new(models.BaseResponse).Init()
  17. deleteCache := true
  18. var cacheKey string
  19. defer func() {
  20. if deleteCache {
  21. utils.Rc.Delete(cacheKey)
  22. }
  23. this.Data["json"] = br
  24. this.ServeJSON()
  25. }()
  26. source := utils.DATA_SOURCE_THS
  27. var req models.AddEdbInfoReq
  28. err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
  29. if err != nil {
  30. br.Msg = "参数解析异常!"
  31. br.ErrMsg = "参数解析失败,Err:" + err.Error()
  32. return
  33. }
  34. if req.EdbCode == "" {
  35. br.Msg = "请输入指标编码!"
  36. br.ErrMsg = "请输入指标编码,指标编码为空"
  37. return
  38. }
  39. cacheKey = "CACHE_EDB_DATA_ADD_" + strconv.Itoa(source) + "_" + req.EdbCode
  40. err = models.AddEdbDataFromThs(req.EdbCode, utils.BASE_START_DATE, utils.BASE_END_DATE)
  41. if err != nil {
  42. br.Msg = "获取指标信息失败!"
  43. br.ErrMsg = "获取指标信息失败,Err:" + err.Error()
  44. return
  45. }
  46. item := new(models.EdbDataItem)
  47. item.EdbCode = req.EdbCode
  48. maxAndMinInfo, err := models.GetEdbDataMaxAndMinInfo(source, req.EdbCode)
  49. if err != nil {
  50. br.Msg = "获取指标信息失败!"
  51. br.ErrMsg = "获取最大最小值信息失败,Err:" + err.Error()
  52. return
  53. }
  54. item.StartDate = maxAndMinInfo.MinDate
  55. item.EndDate = maxAndMinInfo.MaxDate
  56. dataList, err := models.GetEdbDataAllByEdbCode(req.EdbCode, source, utils.EDB_DATA_LIMIT)
  57. if err != nil {
  58. br.Msg = "获取指标信息失败!"
  59. br.ErrMsg = "GetEdbDataAllByEdbCode,Err:" + err.Error()
  60. return
  61. }
  62. item.DataList = dataList
  63. br.Ret = 200
  64. br.Success = true
  65. br.Msg = "获取成功"
  66. br.Data = item
  67. }