sandbox.go 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. package sandbox
  2. import (
  3. "github.com/gin-gonic/gin"
  4. "hongze/hongze_yb/controller/response"
  5. sandboxLogic "hongze/hongze_yb/logic/sandbox"
  6. sandboxReq "hongze/hongze_yb/models/request/sandbox"
  7. responseModel "hongze/hongze_yb/models/response"
  8. sandboxModel "hongze/hongze_yb/models/tables/sandbox"
  9. "hongze/hongze_yb/services"
  10. "hongze/hongze_yb/services/company"
  11. "hongze/hongze_yb/services/user"
  12. "strconv"
  13. "strings"
  14. )
  15. // List 获取研报列表
  16. func List(c *gin.Context) {
  17. var req sandboxReq.ListReq
  18. if err := c.Bind(&req); err != nil {
  19. response.Fail("参数有误", c)
  20. return
  21. }
  22. // 品种id
  23. chartPermissionId := req.ChartPermissionId
  24. // 关键字
  25. keyword := req.Keyword
  26. // 是否高亮
  27. isHighLight := req.IsHighLight
  28. page := services.GetCurrPageByClaims(c)
  29. pageSize := services.GetPageSizeByClaims(c)
  30. userInfo := user.GetInfoByClaims(c)
  31. //权限验证
  32. checkOk, permissionCheckInfo, tempErr := company.CheckUserSandboxPermission(userInfo.CompanyID, int(userInfo.UserID), 0)
  33. if tempErr != nil {
  34. response.FailMsg("沙盘权限验证失败", "沙盘权限验证失败:"+tempErr.Error(), c)
  35. c.Abort()
  36. return
  37. }
  38. if !checkOk {
  39. response.AuthError(permissionCheckInfo, "暂无权限", c)
  40. c.Abort()
  41. return
  42. }
  43. //获取指标信息
  44. total, list, err, errMsg := sandboxLogic.GetList(chartPermissionId, keyword, page, pageSize)
  45. if err != nil {
  46. response.FailMsg(errMsg, err.Error(), c)
  47. return
  48. }
  49. // 如果要高亮,且有输入关键字搜索,那么就返回高亮显示字符串
  50. if isHighLight && keyword != `` {
  51. for index, v := range list {
  52. tmpKeyword := `<span style="color:#E3B377">` + keyword + `</span>`
  53. list[index].Name = strings.Replace(v.Name, keyword, tmpKeyword, -1)
  54. }
  55. }
  56. resp := responseModel.SandboxListResp{
  57. List: list,
  58. Paging: responseModel.GetPaging(page, pageSize, int(total)),
  59. }
  60. response.OkData("获取成功", resp, c)
  61. }
  62. // Detail 获取研报详情
  63. func Detail(c *gin.Context) {
  64. // 沙盘id
  65. sandboxIdStr := c.DefaultQuery("sandbox_id", "0")
  66. sandboxId, _ := strconv.Atoi(sandboxIdStr)
  67. userInfo := user.GetInfoByClaims(c)
  68. sandboxInfo, err := sandboxModel.GetBySandboxId(uint32(sandboxId))
  69. if err != nil {
  70. response.FailMsg("获取沙盘失败", "获取沙盘失败:"+err.Error(), c)
  71. c.Abort()
  72. return
  73. }
  74. //权限验证
  75. checkOk, permissionCheckInfo, tempErr := company.CheckUserSandboxPermission(userInfo.CompanyID, int(userInfo.UserID), int(sandboxInfo.ChartPermissionID))
  76. if tempErr != nil {
  77. response.FailMsg("沙盘权限验证失败", "沙盘权限验证失败:"+tempErr.Error(), c)
  78. c.Abort()
  79. return
  80. }
  81. if !checkOk {
  82. response.AuthError(permissionCheckInfo, "暂无权限", c)
  83. c.Abort()
  84. return
  85. }
  86. response.OkData("获取成功", sandboxLogic.SandboxItem{
  87. SandboxID: sandboxInfo.SandboxID,
  88. Name: sandboxInfo.Name,
  89. ChartPermissionID: sandboxInfo.ChartPermissionID,
  90. ChartPermissionName: sandboxInfo.ChartPermissionName,
  91. CurrVersion: sandboxInfo.CurrVersion,
  92. Code: sandboxInfo.Code,
  93. PicURL: sandboxInfo.PicURL,
  94. OpUserName: sandboxInfo.OpUserName,
  95. ModifyTime: sandboxInfo.ModifyTime,
  96. }, c)
  97. }