data_manage_permission.go 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216
  1. package data_manage
  2. import (
  3. "encoding/json"
  4. "eta/eta_api/controllers"
  5. "eta/eta_api/models"
  6. "eta/eta_api/models/data_manage"
  7. "eta/eta_api/services/data"
  8. "eta/eta_api/utils"
  9. "fmt"
  10. )
  11. // DataMangePermissionController 数据权限管理
  12. type DataMangePermissionController struct {
  13. controllers.BaseAuthController
  14. }
  15. // SetEdbChartPermission
  16. // @Title 指标/图表/表格权限设置接口
  17. // @Description 指标/图表/表格权限设置接口
  18. // @Param request body data_manage.SetEdbChartPermissionReq true "type json string"
  19. // @Success 200 {object} data_manage.ChartListResp
  20. // @router /edb_chart/permission/set [post]
  21. func (c *DataMangePermissionController) SetEdbChartPermission() {
  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. var req data_manage.SetEdbChartPermissionReq
  35. err := json.Unmarshal(c.Ctx.Input.RequestBody, &req)
  36. if err != nil {
  37. br.Msg = "参数解析异常!"
  38. br.ErrMsg = "参数解析失败,Err:" + err.Error()
  39. return
  40. }
  41. if req.Source <= 0 || req.Source > 6 {
  42. br.Msg = "错误的来源"
  43. br.IsSendEmail = false
  44. return
  45. }
  46. // 子来源(目前作用于ETA表格,2024-3-26 14:12:09)
  47. if req.Source == 6 && (req.SubSource <= utils.EXCEL_DEFAULT || req.SubSource > utils.CUSTOM_ANALYSIS_TABLE) {
  48. br.Msg = "错误的子来源"
  49. br.IsSendEmail = false
  50. return
  51. }
  52. if !req.IsSelectAll && len(req.DataIdList) <= 0 {
  53. br.Msg = "请勾选数据项"
  54. br.IsSendEmail = false
  55. return
  56. }
  57. err, errMsg := data.SetEdbChartPermission(req.Source, req.SubSource, req.UserId, req.UserList, req.IsSelectAll, req.DataIdList, req.NoDataIdList, req.Keyword, req.ClassifyId)
  58. if err != nil {
  59. //br.Success = true
  60. br.Msg = "设置失败"
  61. if errMsg != `` {
  62. br.Msg = errMsg
  63. }
  64. br.ErrMsg = "设置失败,Err:" + err.Error()
  65. return
  66. }
  67. br.Ret = 200
  68. br.IsAddLog = true
  69. br.Success = true
  70. br.Msg = "设置成功"
  71. }
  72. // SetPermissionEdbChartClassifyIsPermission
  73. // @Title 指标/图表/表格分类是否涉密设置接口
  74. // @Description 指标/图表/表格分类是否涉密设置接口
  75. // @Param request body data_manage.MoveEdbChartReq true "type json string"
  76. // @Success 200 {object} data_manage.ChartListResp
  77. // @router /edb_chart/classify/permission/is_permission/set [post]
  78. func (c *DataMangePermissionController) SetPermissionEdbChartClassifyIsPermission() {
  79. br := new(models.BaseResponse).Init()
  80. defer func() {
  81. c.Data["json"] = br
  82. c.ServeJSON()
  83. }()
  84. sysUser := c.SysUser
  85. if sysUser == nil {
  86. br.Msg = "请登录"
  87. br.ErrMsg = "请登录,SysUser Is Empty"
  88. br.Ret = 408
  89. return
  90. }
  91. var req data_manage.SetDataIsPermissionReq
  92. err := json.Unmarshal(c.Ctx.Input.RequestBody, &req)
  93. if err != nil {
  94. br.Msg = "参数解析异常!"
  95. br.ErrMsg = "参数解析失败,Err:" + err.Error()
  96. return
  97. }
  98. if req.Source <= 0 || req.Source > 6 {
  99. br.Msg = "错误的来源"
  100. br.IsSendEmail = false
  101. return
  102. }
  103. // 子来源(目前作用于ETA表格,2024-3-26 14:12:09)
  104. if req.Source == 6 && (req.SubSource <= utils.EXCEL_DEFAULT || req.SubSource > utils.CUSTOM_ANALYSIS_TABLE) {
  105. br.Msg = "错误的子来源"
  106. br.IsSendEmail = false
  107. return
  108. }
  109. err, errMsg := data.SetDataIsPermission(req.Source, req.SubSource, req.ClassifyIdList)
  110. if err != nil {
  111. //br.Success = true
  112. br.Msg = "设置失败"
  113. if errMsg != `` {
  114. br.Msg = errMsg
  115. }
  116. br.ErrMsg = "设置失败,Err:" + err.Error()
  117. return
  118. }
  119. br.Ret = 200
  120. br.IsAddLog = true
  121. br.Success = true
  122. br.Msg = "设置成功"
  123. }
  124. // SetEdbChartClassifyPermission
  125. // @Title 指标/图表/表格分类权限设置接口
  126. // @Description 指标/图表/表格分类权限设置接口
  127. // @Param request body data_manage.SetEdbChartClassifyPermissionReq true "type json string"
  128. // @Success 200 {object} data_manage.ChartListResp
  129. // @router /edb_chart/classify/permission/set [post]
  130. func (c *DataMangePermissionController) SetEdbChartClassifyPermission() {
  131. br := new(models.BaseResponse).Init()
  132. defer func() {
  133. c.Data["json"] = br
  134. c.ServeJSON()
  135. }()
  136. sysUser := c.SysUser
  137. if sysUser == nil {
  138. br.Msg = "请登录"
  139. br.ErrMsg = "请登录,SysUser Is Empty"
  140. br.Ret = 408
  141. return
  142. }
  143. var req data_manage.SetEdbChartClassifyPermissionReq
  144. err := json.Unmarshal(c.Ctx.Input.RequestBody, &req)
  145. if err != nil {
  146. br.Msg = "参数解析异常!"
  147. br.ErrMsg = "参数解析失败,Err:" + err.Error()
  148. return
  149. }
  150. if req.Source <= 0 || req.Source > 6 {
  151. br.Msg = "错误的来源"
  152. br.IsSendEmail = false
  153. return
  154. }
  155. // 子来源(目前作用于ETA表格,2024-3-26 14:12:09)
  156. if req.Source == 6 && (req.SubSource <= utils.EXCEL_DEFAULT || req.SubSource > utils.CUSTOM_ANALYSIS_TABLE) {
  157. br.Msg = "错误的子来源"
  158. br.IsSendEmail = false
  159. return
  160. }
  161. if len(req.UserList) <= 0 {
  162. br.Msg = "请选择用户"
  163. br.IsSendEmail = false
  164. return
  165. }
  166. err, errMsg := data.SetEdbChartClassifyPermission(req.Source, req.SubSource, req.UserList, req.ClassifyIdList)
  167. if err != nil {
  168. //br.Success = true
  169. br.Msg = "设置失败"
  170. if errMsg != `` {
  171. br.Msg = errMsg
  172. }
  173. br.ErrMsg = "设置失败,Err:" + err.Error()
  174. return
  175. }
  176. br.Ret = 200
  177. br.IsAddLog = true
  178. br.Success = true
  179. br.Msg = "设置成功"
  180. }
  181. func init() {
  182. fmt.Println()
  183. item, err := data_manage.GetEdbInfoById(100080)
  184. if err != nil {
  185. fmt.Println("GetEdbInfoById err:", err)
  186. return
  187. }
  188. classifyItem, err := data_manage.GetEdbClassifyById(item.ClassifyId)
  189. if err != nil {
  190. fmt.Println("GetChartClassifyById err:", err)
  191. return
  192. }
  193. fmt.Println(data.CheckEdbPermission(item.IsJoinPermission, classifyItem.IsJoinPermission, 142, item.EdbInfoId, item.ClassifyId))
  194. }