UserRoleController.java 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. package com.jzg.controller;
  2. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  3. import com.jzg.commons.aop.OperatorTrajectory;
  4. import com.jzg.commons.constants.SystemConstants;
  5. import com.jzg.commons.core.base.BaseController;
  6. import com.jzg.commons.core.page.HttpResult;
  7. import com.jzg.commons.entity.po.SysRole;
  8. import com.jzg.commons.entity.vo.SysRoleVo;
  9. import com.jzg.commons.exception.ValidateException;
  10. import com.jzg.commons.util.StringUtils;
  11. import com.jzg.mapper.SysRoleMapper;
  12. import com.jzg.service.UserRoleService;
  13. import io.swagger.v3.oas.annotations.Operation;
  14. import io.swagger.v3.oas.annotations.tags.Tag;
  15. import org.springframework.beans.factory.annotation.Autowired;
  16. import org.springframework.validation.annotation.Validated;
  17. import org.springframework.web.bind.annotation.*;
  18. import java.util.List;
  19. import java.util.Objects;
  20. /**
  21. * 用户角色管理
  22. */
  23. @Tag(name="用户角色管理")
  24. @RestController
  25. @RequestMapping("/userRole")
  26. public class UserRoleController extends BaseController {
  27. @Autowired
  28. UserRoleService userRoleService;
  29. /**
  30. * 获取角色列表
  31. * @param sysRoleVo
  32. * @return
  33. */
  34. @Operation(summary = "角色列表")
  35. @PostMapping("/roleList")
  36. public HttpResult<List<SysRole>> roleList(@RequestBody SysRoleVo sysRoleVo){
  37. return HttpResult.ok(userRoleService.list(new LambdaQueryWrapper<SysRole>()
  38. .like(StringUtils.isNotBlank(sysRoleVo.getName()),SysRole::getName,sysRoleVo.getName())));
  39. }
  40. @Operation(summary = "角色信息查询")
  41. @GetMapping("/roleGet")
  42. public HttpResult roleGet(String roleId){
  43. return HttpResult.ok(userRoleService.roleGet(roleId));
  44. }
  45. @OperatorTrajectory(moduleName = "组织架构/角色管理/添加角色",mapperClass = SysRoleMapper.class,entityClass = SysRoleVo.class )
  46. @Operation(summary = "角色添加")
  47. @PostMapping("/roleAdd")
  48. public HttpResult roleAdd(@Validated @RequestBody SysRoleVo sysRoleVo){
  49. //如果不是平台则校验数据权限
  50. if(!getUserSystemCode().equals(SystemConstants.SYSTEM_PLATFORM.getCode())){
  51. //从用户信息中获取租户code
  52. sysRoleVo.setSystemCode(getUserSystemCode());
  53. }
  54. if(userRoleService.isExist(sysRoleVo.getName())){
  55. throw new ValidateException("角色名称已存在,请修改后重新提交");
  56. }
  57. return userRoleService.roleAdd(sysRoleVo) ? HttpResult.ok("添加角色成功") : HttpResult.error("添加角色失败");
  58. }
  59. @OperatorTrajectory(moduleName = "组织架构/角色管理/修改角色",mapperClass = SysRoleMapper.class,type = "U",entityClass = SysRoleVo.class )
  60. @Operation(summary = "角色修改")
  61. @PostMapping("/roleUpdate")
  62. public HttpResult roleUpdate(@Validated @RequestBody SysRoleVo sysRoleVo){
  63. //如果不是平台则校验数据权限
  64. if(!getUserSystemCode().equals(SystemConstants.SYSTEM_PLATFORM.getCode())){
  65. //从用户信息中获取租户code
  66. sysRoleVo.setSystemCode(getUserSystemCode());
  67. //租户校验 部门表单
  68. if(Objects.isNull(sysRoleVo.getDeptId()) || sysRoleVo.getDeptId().isEmpty()){
  69. throw new ValidateException("请选择部门");
  70. }
  71. }
  72. if(userRoleService.isExist(sysRoleVo.getName(),sysRoleVo.getId())){
  73. throw new ValidateException("角色名称已存在,请修改后重新提交");
  74. }
  75. return userRoleService.roleUpdate(sysRoleVo)? HttpResult.ok("修改角色成功") : HttpResult.error("修改角色失败");
  76. }
  77. @Operation(summary = "角色删除检测")
  78. @PostMapping("/roleDeleteValid")
  79. public HttpResult roleDeleteValid(@RequestBody SysRoleVo roleVo) {
  80. //如果不是平台则校验数据权限 平台可以传递systemcode
  81. if(!getUserSystemCode().equals(SystemConstants.SYSTEM_PLATFORM.getCode())){
  82. //从用户信息中获取租户code
  83. roleVo.setSystemCode(getUserSystemCode());
  84. }
  85. return userRoleService.roleDeleteValid(roleVo) ? HttpResult.ok("角色可以进行删除") : HttpResult.error("删除角色前,请先移除角色内的所有成员");
  86. }
  87. @OperatorTrajectory(moduleName = "组织架构/角色管理/删除角色",mapperClass = SysRoleMapper.class,type = "D", entityClass = SysRoleVo.class )
  88. @Operation(summary = "角色删除")
  89. @PostMapping("/roleDelete")
  90. public HttpResult roleDelete(@RequestBody SysRoleVo roleVo){
  91. //如果不是平台则校验数据权限 平台可以传递systemcode
  92. if(!getUserSystemCode().equals(SystemConstants.SYSTEM_PLATFORM.getCode())){
  93. //从用户信息中获取租户code
  94. roleVo.setSystemCode(getUserSystemCode());
  95. }
  96. return userRoleService.roleDelete(roleVo) ? HttpResult.ok("删除角色成功") : HttpResult.error("删除角色失败");
  97. }
  98. }