base_from_business.go 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. package controllers
  2. import (
  3. "encoding/json"
  4. "eta/eta_index_lib/models"
  5. "eta/eta_index_lib/services"
  6. "eta/eta_index_lib/utils"
  7. "fmt"
  8. "strconv"
  9. "time"
  10. )
  11. // BusinessIndexController 钢联化工
  12. type BusinessIndexController struct {
  13. BaseAuthController
  14. }
  15. // HandleBusinessIndexData
  16. // @Title 处理外部指标(商家)的接口
  17. // @Description 处理外部指标(商家)的接口
  18. // @Success 200 {object} models.AddBusinessIndexReq
  19. // @router /handle [post]
  20. func (c *BusinessIndexController) HandleBusinessIndexData() {
  21. br := new(models.BaseResponse).Init()
  22. defer func() {
  23. c.Data["json"] = br
  24. c.ServeJSON()
  25. }()
  26. body := c.Ctx.Input.RequestBody
  27. var req models.AddBusinessIndexReq
  28. err := json.Unmarshal(body, &req)
  29. if err != nil {
  30. br.Msg = "参数解析异常!"
  31. br.ErrMsg = "参数解析失败,Err:" + err.Error()
  32. return
  33. }
  34. err = services.HandleBusinessIndex(&req)
  35. if err != nil {
  36. fmt.Println("HandleBusinessIndexData Err:" + err.Error())
  37. br.Msg = "处理失败"
  38. br.ErrMsg = "处理失败,Err:" + err.Error()
  39. return
  40. }
  41. br.Ret = 200
  42. br.Success = true
  43. br.Msg = "处理成功"
  44. }
  45. // Add
  46. // @Title 新增钢联化工指标接口
  47. // @Description 新增钢联化工指标接口
  48. // @Success 200 {object} models.AddEdbInfoReq
  49. // @router /add [post]
  50. func (c *BusinessIndexController) Add() {
  51. br := new(models.BaseResponse).Init()
  52. var cacheKey string
  53. defer func() {
  54. utils.Rc.Delete(cacheKey)
  55. c.Data["json"] = br
  56. c.ServeJSON()
  57. }()
  58. source := utils.DATA_SOURCE_MYSTEEL_CHEMICAL
  59. var req models.AddEdbInfoReq
  60. err := json.Unmarshal(c.Ctx.Input.RequestBody, &req)
  61. if err != nil {
  62. br.Msg = "参数解析异常!"
  63. br.ErrMsg = "参数解析失败,Err:" + err.Error()
  64. return
  65. }
  66. if req.EdbCode == "" {
  67. br.Msg = "请输入指标编码!"
  68. br.ErrMsg = "请输入指标编码,指标编码为空"
  69. return
  70. }
  71. cacheKey = utils.CACHE_EDB_DATA_ADD + strconv.Itoa(source) + "_" + req.EdbCode
  72. if utils.Rc.IsExist(cacheKey) {
  73. br.Ret = 501
  74. br.Success = true
  75. br.Msg = "系统处理中,请稍后重试"
  76. return
  77. }
  78. utils.Rc.SetNX(cacheKey, 1, 1*time.Minute)
  79. err = models.AddEdbDataFromMysteelChemical(req.EdbCode)
  80. if err != nil {
  81. br.Msg = "获取指标信息失败!"
  82. br.ErrMsg = "获取指标信息失败 AddEdbDataFromMysteelChemical,Err:" + err.Error()
  83. return
  84. }
  85. br.Ret = 200
  86. br.Success = true
  87. br.Msg = "获取成功"
  88. indexObj := new(models.BaseFromBusinessIndex)
  89. //判断指标是否存在
  90. item, err := indexObj.GetIndexItem(edbCode)
  91. }