edb_info_share.go 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. package data_manage
  2. import (
  3. "encoding/json"
  4. "eta_gn/eta_api/controllers"
  5. "eta_gn/eta_api/models"
  6. "eta_gn/eta_api/models/data_manage"
  7. "eta_gn/eta_api/models/data_manage/request"
  8. "eta_gn/eta_api/models/data_manage/response"
  9. "eta_gn/eta_api/services/data"
  10. )
  11. // EdbInfoShareController 数据管理
  12. type EdbInfoShareController struct {
  13. controllers.BaseAuthController
  14. }
  15. // UserList
  16. // @Title 获取指标设置共享的详情
  17. // @Description 获取指标详情接口
  18. // @Param EdbInfoId query int true "指标id"
  19. // @Success 200 {object} response.EdbInfoShareUserResp
  20. // @router /edb_info/share/user_list [get]
  21. func (c *EdbInfoShareController) UserList() {
  22. br := new(models.BaseResponse).Init()
  23. defer func() {
  24. c.Data["json"] = br
  25. c.ServeJSON()
  26. }()
  27. sysUser := c.SysUser
  28. if sysUser == nil {
  29. br.Msg = "请登录"
  30. br.ErrMsg = "请登录,SysUser Is Empty"
  31. br.Ret = 408
  32. return
  33. }
  34. edbInfoId, _ := c.GetInt("EdbInfoId")
  35. if edbInfoId <= 0 {
  36. br.Msg = "参数错误"
  37. br.ErrMsg = "参数错误"
  38. return
  39. }
  40. _, err := data_manage.GetEdbInfoById(edbInfoId)
  41. if err != nil {
  42. br.Msg = "获取失败"
  43. br.ErrMsg = "获取指标信息失败,Err:" + err.Error()
  44. return
  45. }
  46. //// TODO 权限校验
  47. //{
  48. // classifyMap := make(map[int]*data_manage.EdbClassifyIdItems)
  49. // for _, v := range classifyList {
  50. // classifyMap[v.ClassifyId] = v
  51. // }
  52. // if currClassify, ok := classifyMap[edbInfo.ClassifyId]; ok {
  53. // haveOperaAuth, err := data_manage_permission.CheckEdbPermission(edbInfo.IsJoinPermission, currClassify.IsJoinPermission, c.SysUser.AdminId, edbInfo.EdbInfoId, edbInfo.ClassifyId)
  54. // if err != nil {
  55. // br.Msg = err.Error()
  56. // br.ErrMsg = "校验指标权限失败,err:" + err.Error()
  57. // return
  58. // }
  59. // resp.HaveOperaAuth = haveOperaAuth
  60. // }
  61. //}
  62. resp := response.EdbInfoShareUserResp{}
  63. obj := data_manage.EdbInfoShare{}
  64. list, err := obj.GetListByEdbInfoId(edbInfoId)
  65. if err != nil {
  66. br.Msg = `获取失败`
  67. br.ErrMsg = `获取失败:` + err.Error()
  68. return
  69. }
  70. resp.List = list
  71. if len(list) > 0 {
  72. resp.ShareType = list[0].ShareType
  73. }
  74. br.Ret = 200
  75. br.Success = true
  76. br.Msg = "获取成功"
  77. br.Data = resp
  78. }
  79. // Save
  80. // @Title 保存指标指标设置共享的详情
  81. // @Description 获取指标详情接口
  82. // @Param request body request.SetEdbInfoShareReq true "type json string"
  83. // @Success 200 {object} data_manage.EdbInfo
  84. // @router /edb_info/share/save [post]
  85. func (c *EdbInfoShareController) Save() {
  86. br := new(models.BaseResponse).Init()
  87. defer func() {
  88. c.Data["json"] = br
  89. c.ServeJSON()
  90. }()
  91. sysUser := c.SysUser
  92. if sysUser == nil {
  93. br.Msg = "请登录"
  94. br.ErrMsg = "请登录,SysUser Is Empty"
  95. br.Ret = 408
  96. return
  97. }
  98. var req request.SetEdbInfoShareReq
  99. err := json.Unmarshal(c.Ctx.Input.RequestBody, &req)
  100. if err != nil {
  101. br.Msg = "参数解析异常!"
  102. br.ErrMsg = "参数解析失败,Err:" + err.Error()
  103. return
  104. }
  105. obj := data_manage.EdbInfoShare{}
  106. err = obj.SaveEdbInfoShare([]int{req.EdbInfoId}, req.UserIdList, req.ShareType)
  107. if err != nil {
  108. br.Msg = `保存失败`
  109. br.ErrMsg = `保存失败:` + err.Error()
  110. return
  111. }
  112. // 更新es
  113. go data.AddOrEditEdbInfoToEs(req.EdbInfoId)
  114. br.Ret = 200
  115. br.Success = true
  116. br.Msg = "保存成功"
  117. }