chart_permission.go 5.2 KB

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