chart.go 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. package controllers
  2. import (
  3. "encoding/json"
  4. "hongze/hongze_open_api/models/request/chart"
  5. "hongze/hongze_open_api/models/tables/business_conf"
  6. celuePushTable "hongze/hongze_open_api/models/tables/cygx/cygx_chart"
  7. chartServ "hongze/hongze_open_api/services/chart"
  8. "hongze/hongze_open_api/utils"
  9. "time"
  10. )
  11. // 图表模块
  12. type ChartController struct {
  13. BaseAuth
  14. }
  15. // ChartChange
  16. // @Title 图表变更通知的插入点接口
  17. // @Description 图表变更通知的插入点接口
  18. // @Param request body chart.CreatChartCeluePushReq true "type json string"
  19. // @Success 200 创建成功
  20. // @router /change [post]
  21. func (c *ChartController) ChartChange() {
  22. var req chart.CreatChartCeluePushReq
  23. err := json.Unmarshal(c.Ctx.Input.RequestBody, &req)
  24. if err != nil {
  25. c.FailWithMessage("参数解析异常")
  26. return
  27. }
  28. //appid权限校验
  29. appid := req.Appid
  30. if utils.RunMode == "release" && appid != utils.CLPT_APPID {
  31. c.FailWithMessage("无权限")
  32. return
  33. }
  34. chartId := req.ChartId
  35. action := req.Action
  36. if chartId < 0 {
  37. c.FailWithMessage("缺少 chart_id 参数")
  38. return
  39. }
  40. if action != "add" && action != "edit" && action != "move" {
  41. c.FailWithMessage("action参数类型错误")
  42. return
  43. }
  44. item := new(celuePushTable.CygxChartCeluePush)
  45. item.ChartId = chartId
  46. item.Action = action
  47. item.CreateTime = time.Now()
  48. item.ModifyTime = time.Now()
  49. err = celuePushTable.AddCygxChartCeluePush(item)
  50. if err != nil {
  51. c.OkWithMessage("创建失败")
  52. return
  53. }
  54. c.OkWithMessage("创建成功")
  55. }
  56. // GeneralChartToken
  57. // @Title 图表生成token接口
  58. // @Description 图表生成token接口
  59. // @Param request body chart.GeneralChartTokenReq true "type json string"
  60. // @Success 200 创建成功
  61. // @router /general_token [post]
  62. func (c *ChartController) GeneralChartToken() {
  63. var req chart.GeneralChartTokenReq
  64. err := json.Unmarshal(c.Ctx.Input.RequestBody, &req)
  65. if err != nil {
  66. c.FailWithMessage("参数解析异常")
  67. return
  68. }
  69. //appid权限校验
  70. appid := req.Appid
  71. if utils.RunMode == "release" && appid != utils.CLPT_APPID {
  72. c.FailWithMessage("无权限")
  73. return
  74. }
  75. if req.UniqueCode == "" {
  76. c.FailWithMessage("缺少 unique_code 参数")
  77. return
  78. }
  79. businessConf, err := business_conf.GetBusinessConfByKey(business_conf.BusinessConfIsOpenChartExpired)
  80. if err != nil {
  81. c.FailWithMessageErr(`获取失败`, "获取配置失败,Err:"+err.Error())
  82. return
  83. }
  84. var token string
  85. if businessConf.ConfVal == `true` {
  86. // 缓存key
  87. sourceType := req.Source
  88. if req.Source == `table` {
  89. sourceType = req.Source
  90. }
  91. token, err = chartServ.GeneralChartToken(sourceType, req.UniqueCode)
  92. if err != nil {
  93. c.FailWithMessageErr(`获取失败`, "生成失败,Err:"+err.Error())
  94. return
  95. }
  96. }
  97. c.OkDetailed(token, "获取成功")
  98. }