stl.go 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
  1. package stl
  2. import (
  3. "encoding/json"
  4. "eta/eta_api/controllers"
  5. "eta/eta_api/models"
  6. "eta/eta_api/services/data/stl"
  7. "eta/eta_api/utils"
  8. "eta/eta_api/models/data_manage/stl/request"
  9. "eta/eta_api/models/data_manage/stl/response"
  10. )
  11. type STLController struct {
  12. controllers.BaseAuthController
  13. }
  14. // Preview
  15. // @Title STL分解预览
  16. // @Description STL分解预览
  17. // @Success 200 {object} request.STLReq
  18. // @router /chart_info/preview [post]
  19. func (c *STLController) Preview() {
  20. br := new(models.BaseResponse).Init()
  21. defer func() {
  22. c.Data["json"] = br
  23. c.ServeJSON()
  24. }()
  25. sysUser := c.SysUser
  26. if sysUser == nil {
  27. br.Msg = "请登录"
  28. br.ErrMsg = "请登录,SysUser Is Empty"
  29. br.Ret = 408
  30. return
  31. }
  32. var req *request.StlConfigReq
  33. if err := json.Unmarshal(c.Ctx.Input.RequestBody, &req); err != nil {
  34. br.Msg = "请求参数错误"
  35. br.ErrMsg = err.Error()
  36. return
  37. }
  38. resp, msg, err := stl.GenerateStlEdbData(req, sysUser.AdminId)
  39. if err != nil {
  40. if msg == "" {
  41. msg = "预览异常"
  42. }
  43. br.Msg = msg
  44. br.ErrMsg = err.Error()
  45. return
  46. }
  47. br.Data = resp
  48. br.Msg = "预览成功"
  49. br.Ret = 200
  50. br.Success = true
  51. return
  52. }
  53. // SaveConf
  54. // @Title STL分解配置保存
  55. // @Description STL分解配置保存
  56. // @Success 200 {object} request.STLReq
  57. // @router /config/save [post]
  58. func (c *STLController) SaveConf() {
  59. br := new(models.BaseResponse).Init()
  60. defer func() {
  61. c.Data["json"] = br
  62. c.ServeJSON()
  63. }()
  64. sysUser := c.SysUser
  65. if sysUser == nil {
  66. br.Msg = "请登录"
  67. br.ErrMsg = "请登录,SysUser Is Empty"
  68. br.Ret = 408
  69. return
  70. }
  71. var req *request.StlConfigReq
  72. if err := json.Unmarshal(c.Ctx.Input.RequestBody, &req); err != nil {
  73. br.Msg = "请求参数错误"
  74. br.ErrMsg = err.Error()
  75. return
  76. }
  77. insertId, err := stl.SaveStlConfig(req, sysUser.AdminId)
  78. if err != nil {
  79. br.Msg = "保存失败"
  80. br.ErrMsg = "保存失败,err:" + err.Error()
  81. return
  82. }
  83. resp := new(response.SaveStlConfigResp)
  84. resp.CalculateStlConfigId = insertId
  85. br.Data = resp
  86. br.Msg = "保存成功"
  87. br.Ret = 200
  88. br.Success = true
  89. }
  90. // SaveStlEdbInfo
  91. // @Title STL分解指标保存到指标库
  92. // @Description STL分解指标保存到指标库
  93. // @Success 200 {object} request.STLReq
  94. // @router /edb_info/save [post]
  95. func (c *STLController) SaveStlEdbInfo() {
  96. br := new(models.BaseResponse).Init()
  97. defer func() {
  98. c.Data["json"] = br
  99. c.ServeJSON()
  100. }()
  101. var req *request.SaveStlEdbInfoReq
  102. if err := json.Unmarshal(c.Ctx.Input.RequestBody, &req); err != nil {
  103. br.Msg = "请求参数错误"
  104. br.ErrMsg = err.Error()
  105. return
  106. }
  107. sysUser := c.SysUser
  108. IsSendEmail, msg, err := stl.SaveStlEdbInfo(req, sysUser.AdminId, sysUser.RealName, c.Lang)
  109. if err != nil {
  110. if msg == "" {
  111. msg = "保存异常"
  112. }
  113. br.Msg = msg
  114. br.ErrMsg = err.Error()
  115. return
  116. }
  117. br.Ret = 200
  118. br.Success = true
  119. br.Msg = "保存成功"
  120. br.IsSendEmail = IsSendEmail
  121. }
  122. // EdbInfoFilterByEs
  123. // @Title 指标筛选接口
  124. // @Description 指标筛选接口
  125. // @Param KeyWord query string false "搜索关键词:指标ID/指标名称"
  126. // @Param PageSize query int true "每页数据条数"
  127. // @Param CurrentIndex query int true "当前页页码,从1开始"
  128. // @Success 200 {object} data_manage.EdbInfoList
  129. // @router /edb_info/search [get]
  130. func (this *STLController) EdbInfoFilterByEs() {
  131. br := new(models.BaseResponse).Init()
  132. defer func() {
  133. this.Data["json"] = br
  134. this.ServeJSON()
  135. }()
  136. pageSize, _ := this.GetInt("PageSize")
  137. currentIndex, _ := this.GetInt("CurrentIndex")
  138. keyWord := this.GetString("KeyWord")
  139. if pageSize <= 0 {
  140. pageSize = utils.PageSize20
  141. }
  142. if currentIndex <= 0 {
  143. currentIndex = 1
  144. }
  145. resp, msg, err := stl.SearchEdbInfoWithStl(this.SysUser.AdminId, keyWord, currentIndex, pageSize)
  146. if err != nil {
  147. if msg == "" {
  148. msg = "获取异常"
  149. }
  150. br.Msg = msg
  151. br.ErrMsg = err.Error()
  152. return
  153. }
  154. br.Ret = 200
  155. br.Success = true
  156. br.Msg = "获取成功"
  157. br.Data = resp
  158. }