role.go 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. package handler
  2. import (
  3. "context"
  4. "dashoo.cn/common_definition/comm_def"
  5. "github.com/gogf/gf/errors/gerror"
  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. g.Log().Error(err)
  17. return gerror.New("系统异常,请重新尝试")
  18. }
  19. total, list, err := roleService.GetRoleListSearch(req)
  20. //_, _, rsp.Code, rsp.Msg = myerrors.CheckError(err)
  21. rsp.Data = g.Map{"list": list, "total": total}
  22. return nil
  23. }
  24. // GetEntityById 详情
  25. func (o *RoleHandler) GetEntityById(ctx context.Context, req *comm_def.IdReq, rsp *comm_def.CommonMsg) error {
  26. // 参数校验
  27. if req.Id == 0 {
  28. return NoParamsErr
  29. }
  30. roleService, err := service.NewRoleService(ctx)
  31. if err != nil {
  32. g.Log().Error(err)
  33. return gerror.New("系统异常,请重新尝试")
  34. }
  35. entity, err := roleService.GetRoleById(req.Id)
  36. //_, _, rsp.Code, rsp.Msg = myerrors.CheckError(err)
  37. rsp.Data = entity
  38. return nil
  39. }
  40. // Create 添加
  41. func (h *RoleHandler) Create(ctx context.Context, req *model.SysRoleReq, rsp *comm_def.CommonMsg) error {
  42. // 检查请求参数
  43. if v := gvalid.CheckStruct(ctx, req, nil); v != nil {
  44. g.Log().Error(v)
  45. return v
  46. }
  47. roleService, err := service.NewRoleService(ctx)
  48. if err != nil {
  49. g.Log().Error(err)
  50. return gerror.New("系统异常,请重新尝试")
  51. }
  52. err = roleService.CreateRole(req)
  53. //_, _, rsp.Code, rsp.Msg = myerrors.CheckError(err)
  54. return nil
  55. }
  56. // UpdateById 编辑
  57. func (h *RoleHandler) UpdateById(ctx context.Context, req *model.UpdateSysRoleReq, rsp *comm_def.CommonMsg) error {
  58. // 检查请求参数
  59. if v := gvalid.CheckStruct(ctx, req, nil); v != nil {
  60. g.Log().Error(v)
  61. return v
  62. }
  63. roleService, err := service.NewRoleService(ctx)
  64. if err != nil {
  65. g.Log().Error(err)
  66. return gerror.New("系统异常,请重新尝试")
  67. }
  68. err = roleService.UpdateRole(req)
  69. //_, _, rsp.Code, rsp.Msg = myerrors.CheckError(err)
  70. return nil
  71. }
  72. // DeleteByIds 删除菜单
  73. func (h *RoleHandler) DeleteByIds(ctx context.Context, req *comm_def.IdsReq, rsp *comm_def.CommonMsg) error {
  74. roleService, err := service.NewRoleService(ctx)
  75. if err != nil {
  76. g.Log().Error(err)
  77. return gerror.New("系统异常,请重新尝试")
  78. }
  79. err = roleService.DeleteByIds(req.Ids)
  80. //_, _, rsp.Code, rsp.Msg = myerrors.CheckError(err)
  81. return nil
  82. }
  83. // GetRoleDeptTreeselect 获取角色下的自定义部门
  84. func (h *RoleHandler) GetRoleDeptTreeselect(ctx context.Context, req *comm_def.IdReq, rsp *comm_def.CommonMsg) error {
  85. roleService, err := service.NewRoleService(ctx)
  86. if err != nil {
  87. g.Log().Error(err)
  88. return gerror.New("系统异常,请重新尝试")
  89. }
  90. deptIds, err := roleService.GetRoleDeptTreeselect(req.Id)
  91. //_, _, rsp.Code, rsp.Msg = myerrors.CheckError(err)
  92. rsp.Data = deptIds
  93. return nil
  94. }
  95. // UpdateRoleStatus 修改角色状态
  96. func (h *RoleHandler) UpdateRoleStatus(ctx context.Context, req *model.StatusSetReq, rsp *comm_def.CommonMsg) error {
  97. roleService, err := service.NewRoleService(ctx)
  98. if err != nil {
  99. g.Log().Error(err)
  100. return gerror.New("系统异常,请重新尝试")
  101. }
  102. err = roleService.UpdateRoleStatus(req)
  103. //_, _, rsp.Code, rsp.Msg = myerrors.CheckError(err)
  104. return nil
  105. }
  106. // UpdateRoleDataScope 角色下的数据权限
  107. func (h *RoleHandler) UpdateRoleDataScope(ctx context.Context, req *model.DataScopeReq, rsp *comm_def.CommonMsg) error {
  108. roleService, err := service.NewRoleService(ctx)
  109. if err != nil {
  110. g.Log().Error(err)
  111. return gerror.New("系统异常,请重新尝试")
  112. }
  113. err = roleService.UpdateRoleDataScope(req)
  114. //_, _, rsp.Code, rsp.Msg = myerrors.CheckError(err)
  115. return nil
  116. }
  117. // GetDataScope 获取某用户数据集合权限,返回Ids(用户Id列表),返回-1表示无角色,返回-2表示有全部集合权限
  118. func (o *RoleHandler) GetDataScope(ctx context.Context, nullParams interface{}, rsp *comm_def.CommonMsg) error {
  119. roleService, err := service.NewRoleService(ctx)
  120. if err != nil {
  121. return gerror.New("系统异常,请重新尝试")
  122. }
  123. ids, err := roleService.GetDataScope(roleService.GetCxtUserId())
  124. //_, err, rsp.Code, rsp.Msg = myerrors.CheckError(err)
  125. if err != nil {
  126. return err
  127. }
  128. rsp.Data = ids
  129. return err
  130. }