chart_permission.go 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231
  1. package controllers
  2. import (
  3. "encoding/json"
  4. "eta/eta_api/models"
  5. "eta/eta_api/services"
  6. "eta/eta_api/utils"
  7. )
  8. // ChartPermissionController 品种列表
  9. type ChartPermissionController struct {
  10. BaseAuthController
  11. }
  12. // List
  13. // @Title 品种列表
  14. // @Description 品种列表
  15. // @Param Keyword query string false "关键词"
  16. // @Success 200 Ret=200 操作成功
  17. // @router /list [get]
  18. func (this *ChartPermissionController) List() {
  19. br := new(models.BaseResponse).Init()
  20. defer func() {
  21. if br.ErrMsg == "" {
  22. br.IsSendEmail = false
  23. }
  24. this.Data["json"] = br
  25. this.ServeJSON()
  26. }()
  27. sysUser := this.SysUser
  28. if sysUser == nil {
  29. br.Msg = "请登录"
  30. br.ErrMsg = "请登录,SysUser Is Empty"
  31. br.Ret = 408
  32. return
  33. }
  34. list, e := services.GetChartPermissionList()
  35. if e != nil {
  36. br.Msg = "获取失败"
  37. br.ErrMsg = "获取品种列表失败, Err: " + e.Error()
  38. return
  39. }
  40. // 品种树
  41. resp := make([]*models.ChartPermissionItem, 0)
  42. childMap := make(map[int][]*models.ChartPermissionItem)
  43. for _, v := range list {
  44. t := new(models.ChartPermissionItem)
  45. t.PermissionId = v.ChartPermissionId
  46. t.PermissionName = v.PermissionName
  47. t.ParentId = v.ParentId
  48. t.IsPublic = v.IsPublic
  49. t.Enabled = v.Enabled
  50. t.Sort = v.Sort
  51. t.CreateTime = v.CreatedTime.Format(utils.FormatDateTime)
  52. t.Child = make([]*models.ChartPermissionItem, 0)
  53. if v.ParentId == 0 {
  54. resp = append(resp, t)
  55. continue
  56. }
  57. if v.ParentId > 0 {
  58. if childMap[v.ParentId] == nil {
  59. childMap[v.ParentId] = make([]*models.ChartPermissionItem, 0)
  60. }
  61. childMap[v.ParentId] = append(childMap[v.ParentId], t)
  62. }
  63. }
  64. for _, r := range resp {
  65. r.Child = childMap[r.PermissionId]
  66. }
  67. br.Ret = 200
  68. br.Success = true
  69. br.Msg = "获取成功"
  70. br.Data = resp
  71. }
  72. // Add
  73. // @Title 新增品种列表
  74. // @Description 新增品种列表
  75. // @Param request body models.PermissionAddReq true "type json string"
  76. // @Success 200 Ret=200 操作成功
  77. // @router /add [post]
  78. func (this *ChartPermissionController) Add() {
  79. br := new(models.BaseResponse).Init()
  80. defer func() {
  81. if br.ErrMsg == "" {
  82. br.IsSendEmail = false
  83. }
  84. this.Data["json"] = br
  85. this.ServeJSON()
  86. }()
  87. sysUser := this.SysUser
  88. if sysUser == nil {
  89. br.Msg = "请登录"
  90. br.ErrMsg = "请登录,SysUser Is Empty"
  91. br.Ret = 408
  92. return
  93. }
  94. var req models.PermissionAddReq
  95. if e := json.Unmarshal(this.Ctx.Input.RequestBody, &req); e != nil {
  96. br.Msg = "参数解析异常!"
  97. br.ErrMsg = "参数解析失败,Err:" + e.Error()
  98. return
  99. }
  100. if req.PermissionName == "" {
  101. br.Msg = "参数有误"
  102. return
  103. }
  104. var req2 services.ChartPermissionAddReq
  105. req2.PermissionName = req.PermissionName
  106. req2.ParentId = req.ParentId
  107. req2.IsPublic = req.IsPublic
  108. req2.Enabled = req.Enabled
  109. e, msg := services.AddChartPermission(&req2)
  110. if e != nil {
  111. br.Msg = msg
  112. br.ErrMsg = "新增品种失败, Err: " + e.Error()
  113. return
  114. }
  115. br.Ret = 200
  116. br.Success = true
  117. br.Msg = "获取成功"
  118. }
  119. // Edit
  120. // @Title 编辑品种
  121. // @Description 编辑品种
  122. // @Param request body models.PermissionEditReq true "type json string"
  123. // @Success 200 Ret=200 操作成功
  124. // @router /edit [post]
  125. func (this *ChartPermissionController) Edit() {
  126. br := new(models.BaseResponse).Init()
  127. defer func() {
  128. if br.ErrMsg == "" {
  129. br.IsSendEmail = false
  130. }
  131. this.Data["json"] = br
  132. this.ServeJSON()
  133. }()
  134. sysUser := this.SysUser
  135. if sysUser == nil {
  136. br.Msg = "请登录"
  137. br.ErrMsg = "请登录,SysUser Is Empty"
  138. br.Ret = 408
  139. return
  140. }
  141. var req models.PermissionEditReq
  142. if e := json.Unmarshal(this.Ctx.Input.RequestBody, &req); e != nil {
  143. br.Msg = "参数解析异常!"
  144. br.ErrMsg = "参数解析失败,Err:" + e.Error()
  145. return
  146. }
  147. if req.PermissionId == 0 {
  148. br.Msg = "请选择要编辑的品种"
  149. return
  150. }
  151. if req.PermissionName == "" {
  152. br.Msg = "请输入品种名称"
  153. return
  154. }
  155. var req2 services.ChartPermissionEditReq
  156. req2.ChartPermissionId = req.PermissionId
  157. req2.PermissionName = req.PermissionName
  158. req2.IsPublic = req.IsPublic
  159. req2.Enabled = req.Enabled
  160. req2.PublicPermissionIds = req.PublicPermissionIds
  161. e, msg := services.EditChartPermission(&req2)
  162. if e != nil {
  163. br.Msg = msg
  164. br.ErrMsg = "编辑品种失败, Err: " + e.Error()
  165. return
  166. }
  167. br.Ret = 200
  168. br.Success = true
  169. br.Msg = "获取成功"
  170. }
  171. // Move
  172. // @Title 移动品种
  173. // @Description 移动品种
  174. // @Param request body models.PermissionMoveReq true "type json string"
  175. // @Success 200 Ret=200 操作成功
  176. // @router /move [post]
  177. func (this *ChartPermissionController) Move() {
  178. br := new(models.BaseResponse).Init()
  179. defer func() {
  180. if br.ErrMsg == "" {
  181. br.IsSendEmail = false
  182. }
  183. this.Data["json"] = br
  184. this.ServeJSON()
  185. }()
  186. sysUser := this.SysUser
  187. if sysUser == nil {
  188. br.Msg = "请登录"
  189. br.ErrMsg = "请登录,SysUser Is Empty"
  190. br.Ret = 408
  191. return
  192. }
  193. var req models.PermissionMoveReq
  194. if e := json.Unmarshal(this.Ctx.Input.RequestBody, &req); e != nil {
  195. br.Msg = "参数解析异常!"
  196. br.ErrMsg = "参数解析失败,Err:" + e.Error()
  197. return
  198. }
  199. if req.PermissionId == 0 {
  200. br.Msg = "请选择要移动的品种"
  201. return
  202. }
  203. var req2 services.ChartPermissionMoveReq
  204. req2.ChartPermissionId = req.PermissionId
  205. req2.PrevChartPermissionId = req.PrevPermissionId
  206. req2.NextChartPermissionId = req.NextPermissionId
  207. e, msg := services.MoveChartPermission(&req2)
  208. if e != nil {
  209. br.Msg = msg
  210. br.ErrMsg = "移动品种失败, Err: " + e.Error()
  211. return
  212. }
  213. br.Ret = 200
  214. br.Success = true
  215. br.Msg = "获取成功"
  216. }