role.go 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. package handler
  2. import (
  3. "context"
  4. "dashoo.cn/opms_libary/myerrors"
  5. "dashoo.cn/common_definition/comm_def"
  6. "github.com/gogf/gf/frame/g"
  7. "github.com/gogf/gf/util/gvalid"
  8. "dashoo.cn/micro/app/model"
  9. "dashoo.cn/micro/app/service"
  10. )
  11. type RoleHandler struct{}
  12. // GetList 获取列表
  13. func (h *RoleHandler) GetList(ctx context.Context, req *model.SelectPageReq, rsp *comm_def.CommonMsg) error {
  14. roleService, err := service.NewRoleService(ctx)
  15. if err != nil {
  16. return err
  17. }
  18. total, list, err := roleService.GetRoleListSearch(req)
  19. if err != nil {
  20. return err
  21. }
  22. rsp.Data = g.Map{"list": list, "total": total}
  23. return nil
  24. }
  25. // GetEntityById 详情
  26. func (o *RoleHandler) GetEntityById(ctx context.Context, req *comm_def.IdReq, rsp *comm_def.CommonMsg) error {
  27. // 参数校验
  28. if req.Id == 0 {
  29. return myerrors.TipsError("请求参数不存在。")
  30. }
  31. roleService, err := service.NewRoleService(ctx)
  32. if err != nil {
  33. return err
  34. }
  35. entity, err := roleService.GetRoleById(req.Id)
  36. if err != nil {
  37. return err
  38. }
  39. rsp.Data = entity
  40. return nil
  41. }
  42. // Create 添加
  43. func (h *RoleHandler) Create(ctx context.Context, req *model.SysRoleReq, rsp *comm_def.CommonMsg) error {
  44. // 检查请求参数
  45. if v := gvalid.CheckStruct(ctx, req, nil); v != nil {
  46. return v
  47. }
  48. roleService, err := service.NewRoleService(ctx)
  49. if err != nil {
  50. return err
  51. }
  52. err = roleService.CreateRole(req)
  53. return err
  54. }
  55. // UpdateById 编辑
  56. func (h *RoleHandler) UpdateById(ctx context.Context, req *model.UpdateSysRoleReq, rsp *comm_def.CommonMsg) error {
  57. // 检查请求参数
  58. if v := gvalid.CheckStruct(ctx, req, nil); v != nil {
  59. return v
  60. }
  61. roleService, err := service.NewRoleService(ctx)
  62. if err != nil {
  63. return err
  64. }
  65. err = roleService.UpdateRole(req)
  66. return err
  67. }
  68. // DeleteByIds 删除菜单
  69. func (h *RoleHandler) DeleteByIds(ctx context.Context, req *comm_def.IdsReq, rsp *comm_def.CommonMsg) error {
  70. if len(req.Ids) == 0 {
  71. return myerrors.TipsError("请求参数不存在。")
  72. }
  73. roleService, err := service.NewRoleService(ctx)
  74. if err != nil {
  75. return err
  76. }
  77. err = roleService.DeleteByIds(req.Ids)
  78. return err
  79. }
  80. // GetRoleDeptTreeselect 获取角色下的自定义部门
  81. func (h *RoleHandler) GetRoleDeptTreeselect(ctx context.Context, req *comm_def.IdReq, rsp *comm_def.CommonMsg) error {
  82. roleService, err := service.NewRoleService(ctx)
  83. if err != nil {
  84. return err
  85. }
  86. deptIds, err := roleService.GetRoleDeptTreeselect(req.Id)
  87. if err != nil {
  88. return err
  89. }
  90. rsp.Data = deptIds
  91. return nil
  92. }
  93. // UpdateRoleStatus 修改角色状态
  94. func (h *RoleHandler) UpdateRoleStatus(ctx context.Context, req *model.StatusSetReq, rsp *comm_def.CommonMsg) error {
  95. // 检查请求参数
  96. if v := gvalid.CheckStruct(ctx, req, nil); v != nil {
  97. return v
  98. }
  99. roleService, err := service.NewRoleService(ctx)
  100. if err != nil {
  101. return err
  102. }
  103. err = roleService.UpdateRoleStatus(req)
  104. return err
  105. }
  106. // UpdateRoleDataScope 角色下的数据权限
  107. func (h *RoleHandler) UpdateRoleDataScope(ctx context.Context, req *model.DataScopeReq, rsp *comm_def.CommonMsg) error {
  108. // 检查请求参数
  109. if v := gvalid.CheckStruct(ctx, req, nil); v != nil {
  110. return v
  111. }
  112. roleService, err := service.NewRoleService(ctx)
  113. if err != nil {
  114. return err
  115. }
  116. err = roleService.UpdateRoleDataScope(req)
  117. return err
  118. }