stl.go 4.9 KB

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