role.go 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  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. roleService, err := service.NewRoleService(ctx)
  71. if err != nil {
  72. return err
  73. }
  74. err = roleService.DeleteByIds(req.Ids)
  75. return err
  76. }
  77. // GetRoleDeptTreeselect 获取角色下的自定义部门
  78. func (h *RoleHandler) GetRoleDeptTreeselect(ctx context.Context, req *comm_def.IdReq, rsp *comm_def.CommonMsg) error {
  79. roleService, err := service.NewRoleService(ctx)
  80. if err != nil {
  81. return err
  82. }
  83. deptIds, err := roleService.GetRoleDeptTreeselect(req.Id)
  84. if err != nil {
  85. return err
  86. }
  87. rsp.Data = deptIds
  88. return nil
  89. }
  90. // UpdateRoleStatus 修改角色状态
  91. func (h *RoleHandler) UpdateRoleStatus(ctx context.Context, req *model.StatusSetReq, rsp *comm_def.CommonMsg) error {
  92. roleService, err := service.NewRoleService(ctx)
  93. if err != nil {
  94. return err
  95. }
  96. err = roleService.UpdateRoleStatus(req)
  97. return err
  98. }
  99. // UpdateRoleDataScope 角色下的数据权限
  100. func (h *RoleHandler) UpdateRoleDataScope(ctx context.Context, req *model.DataScopeReq, rsp *comm_def.CommonMsg) error {
  101. roleService, err := service.NewRoleService(ctx)
  102. if err != nil {
  103. return err
  104. }
  105. err = roleService.UpdateRoleDataScope(req)
  106. return err
  107. }
  108. // GetDataScope 获取某用户数据集合权限,返回Ids(用户Id列表),返回-1表示无角色,返回-2表示有全部集合权限
  109. func (o *RoleHandler) GetDataScope(ctx context.Context, nullParams interface{}, rsp *comm_def.CommonMsg) error {
  110. roleService, err := service.NewRoleService(ctx)
  111. if err != nil {
  112. return err
  113. }
  114. ids, err := roleService.GetDataScope(roleService.GetCxtUserId())
  115. if err != nil {
  116. return err
  117. }
  118. rsp.Data = ids
  119. return err
  120. }