sys_role.go 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  1. package system
  2. import (
  3. "github.com/gin-gonic/gin"
  4. "github.com/go-playground/validator/v10"
  5. "hongze/hrms_api/controller/resp"
  6. "hongze/hrms_api/global"
  7. "hongze/hrms_api/models/base"
  8. "hongze/hrms_api/models/system"
  9. systemService "hongze/hrms_api/services/system"
  10. "hongze/hrms_api/utils"
  11. )
  12. type SysRoleController struct {
  13. }
  14. // Add 添加角色
  15. func (s *SysRoleController) Add (c *gin.Context) {
  16. req := new(system.SysRoleAddReq)
  17. err := c.ShouldBind(&req)
  18. if err != nil {
  19. errs, ok := err.(validator.ValidationErrors)
  20. if !ok {
  21. resp.FailData("参数解析失败", "Err:"+err.Error(), c)
  22. return
  23. }
  24. resp.FailData("参数解析失败", errs.Translate(global.Trans), c)
  25. return
  26. }
  27. err, errMsg := systemService.AddRole(req)
  28. if err != nil {
  29. resp.FailMsg(errMsg, err.Error(), c)
  30. return
  31. }
  32. resp.Ok("保存成功", c)
  33. return
  34. }
  35. // 编辑角色菜单权限
  36. func (s *SysRoleController) EditMenu(c *gin.Context) {
  37. req := new(system.SysRoleMenuEditReq)
  38. err := c.ShouldBind(&req)
  39. if err != nil {
  40. errs, ok := err.(validator.ValidationErrors)
  41. if !ok {
  42. resp.FailData("参数解析失败", "Err:"+err.Error(), c)
  43. return
  44. }
  45. resp.FailData("参数解析失败", errs.Translate(global.Trans), c)
  46. return
  47. }
  48. err, errMsg := systemService.EditRoleMenu(req)
  49. if err != nil {
  50. resp.FailMsg(errMsg, err.Error(), c)
  51. return
  52. }
  53. resp.Ok("保存成功", c)
  54. return
  55. }
  56. func (s *SysRoleController) List(c *gin.Context) {
  57. req := new(system.SysRoleListReq)
  58. err := c.BindQuery(&req)
  59. if err != nil {
  60. errs, ok := err.(validator.ValidationErrors)
  61. if !ok {
  62. resp.FailData("参数解析失败", "Err:"+err.Error(), c)
  63. return
  64. }
  65. resp.FailData("参数解析失败", errs.Translate(global.Trans), c)
  66. return
  67. }
  68. page := new(base.Page)
  69. page.SetPageSize(req.PageSize)
  70. page.SetCurrent(req.Current)
  71. item := new(system.SysRole)
  72. var condition string
  73. var pars []interface{}
  74. if req.RoleName != "" {
  75. roleName := "%"+req.RoleName+"%"
  76. condition += " role_name like ?"
  77. pars = append(pars, roleName)
  78. }
  79. page.AddOrderItem(base.OrderItem{Column: "create_time", Asc: false})
  80. total, roles, err := item.SelectPage(page, condition, pars)
  81. if err != nil {
  82. resp.FailMsg("获取失败", "获取失败,Err:"+err.Error(), c)
  83. return
  84. }
  85. list := make([]*system.SysRoleListItem, 0)
  86. for _, v := range roles {
  87. tmp := new(system.SysRoleListItem)
  88. tmp.RoleId = v.RoleId
  89. tmp.RoleName = v.RoleName
  90. tmp.CreateTime = utils.TimeTransferString(utils.FormatDateTime, v.CreateTime)
  91. tmp.ModifyTime = utils.TimeTransferString(utils.FormatDateTime, v.ModifyTime)
  92. list = append(list, tmp)
  93. }
  94. page.SetTotal(total)
  95. baseData := new(base.BaseData)
  96. baseData.SetPage(page)
  97. baseData.SetList(list)
  98. resp.OkData("获取成功", baseData, c)
  99. }
  100. func (s *SysRoleController) MenuList(c *gin.Context) {
  101. req := new(system.SysRoleMenuListReq)
  102. err := c.BindQuery(&req)
  103. if err != nil {
  104. errs, ok := err.(validator.ValidationErrors)
  105. if !ok {
  106. resp.FailData("参数解析失败", "Err:"+err.Error(), c)
  107. return
  108. }
  109. resp.FailData("参数解析失败", errs.Translate(global.Trans), c)
  110. return
  111. }
  112. list, err, errMsg := systemService.RoleMenuList(req)
  113. if err != nil {
  114. resp.FailMsg(errMsg, err.Error(), c)
  115. return
  116. }
  117. resp.OkData("获取成功", list, c)
  118. }
  119. // Delete 删除角色
  120. func (s *SysRoleController) Delete(c *gin.Context) {
  121. req := new(system.SysRoleDelReq)
  122. err := c.ShouldBind(&req)
  123. if err != nil {
  124. errs, ok := err.(validator.ValidationErrors)
  125. if !ok {
  126. resp.FailData("参数解析失败", "Err:"+err.Error(), c)
  127. return
  128. }
  129. resp.FailData("参数解析失败", errs.Translate(global.Trans), c)
  130. return
  131. }
  132. err, errMsg := systemService.DeleteRole(req)
  133. if err != nil {
  134. resp.FailMsg(errMsg, errMsg, c)
  135. return
  136. }
  137. resp.Ok("删除成功", c)
  138. return
  139. }