|
@@ -12,6 +12,7 @@ import io.swagger.annotations.Api;
|
|
|
import io.swagger.annotations.ApiImplicitParam;
|
|
|
import io.swagger.annotations.ApiImplicitParams;
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
|
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
@@ -28,11 +29,9 @@ import java.util.List;
|
|
|
@RestController
|
|
|
@RequestMapping("sys/role")
|
|
|
public class RoleController {
|
|
|
-
|
|
|
private String prefix = "system/role";
|
|
|
@Autowired
|
|
|
private RoleService roleService;
|
|
|
-
|
|
|
@Autowired
|
|
|
private UserService userService;
|
|
|
|
|
@@ -43,7 +42,6 @@ public class RoleController {
|
|
|
return prefix + "/role";
|
|
|
}
|
|
|
|
|
|
-
|
|
|
@ApiOperation(value = "角色查询-分页")
|
|
|
@PostMapping("list")
|
|
|
@RequiresPermissions("system:role:list")
|
|
@@ -132,22 +130,22 @@ public class RoleController {
|
|
|
@ResponseBody
|
|
|
@ApiImplicitParams({
|
|
|
@ApiImplicitParam(name = "roleId", value = "角色id", required = true, paramType = "query"),
|
|
|
- @ApiImplicitParam(name = "roleName", value = "角色名称", required = true, paramType = "query"),
|
|
|
+ @ApiImplicitParam(name = "roleName", value = "角色名称", required = false, paramType = "query"),
|
|
|
@ApiImplicitParam(name = "menuIds", value = "菜单组", required = false, paramType = "query"),
|
|
|
@ApiImplicitParam(name = "deptIds", value = "部门", required = false, paramType = "query"),
|
|
|
- @ApiImplicitParam(name = "roleKey", value = "角色权限字符", required = true, paramType = "query"),
|
|
|
- @ApiImplicitParam(name = "roleSort", value = "排序", required = true, paramType = "query"),
|
|
|
+ @ApiImplicitParam(name = "roleKey", value = "角色权限字符", required = false, paramType = "query"),
|
|
|
+ @ApiImplicitParam(name = "roleSort", value = "排序", required = false, paramType = "query"),
|
|
|
@ApiImplicitParam(name = "dataScope", value = "数据范围(1:全部数据权限 2:自定数据权限 3:本部门数据权限 4本部门及以下数据权限)", required = true, paramType = "query"),
|
|
|
@ApiImplicitParam(name = "status", value = "角色状态(0正常 1停用)", required = true, paramType = "query"),
|
|
|
@ApiImplicitParam(name = "remark", value = "备注", required = false, paramType = "query"),
|
|
|
})
|
|
|
public Result<?> edit(
|
|
|
- @RequestParam("roleName") String roleName,
|
|
|
+ @RequestParam(value = "roleName", required = false) String roleName,
|
|
|
@RequestParam("roleId") Integer roleId,
|
|
|
@RequestParam(value = "menuIds", required = false) Integer[] menuIds,
|
|
|
@RequestParam(value = "deptIds", required = false) Integer[] deptIds,
|
|
|
- @RequestParam("roleKey") String roleKey,
|
|
|
- @RequestParam("roleSort") Integer roleSort,
|
|
|
+ @RequestParam(value = "roleKey", required = false) String roleKey,
|
|
|
+ @RequestParam(value = "roleSort", required = false) Integer roleSort,
|
|
|
@RequestParam("dataScope") String dataScope,
|
|
|
@RequestParam("status") String status,
|
|
|
@RequestParam(value = "remark", required = false) String remark
|
|
@@ -164,14 +162,25 @@ public class RoleController {
|
|
|
roleVO.setRemark(remark);
|
|
|
roleVO.setMenuIds(menuIds);
|
|
|
roleVO.setDeptIds(deptIds);
|
|
|
- SysRoleDTO roleDTO = roleService.queryRoleByName(roleVO);
|
|
|
- if (roleDTO != null) {
|
|
|
- return Result.error("角色名称不能重复!");
|
|
|
+ SysRoleDTO role = roleService.queryRoleById(roleId);
|
|
|
+ if (role == null) {
|
|
|
+ return Result.error("角色不存在!");
|
|
|
+ }
|
|
|
+
|
|
|
+ if (StringUtils.isNotBlank(roleName)) {
|
|
|
+ roleVO.setRoleName(roleName);
|
|
|
+ SysRoleDTO roleDTO = roleService.queryRoleByName(roleVO);
|
|
|
+ if (roleDTO != null) {
|
|
|
+ return Result.error("角色名称不能重复!");
|
|
|
+ }
|
|
|
}
|
|
|
//权限字符校验
|
|
|
- SysRoleDTO roleKeyDto = roleService.queryRoleByKey(roleVO);
|
|
|
- if (roleKeyDto != null) {
|
|
|
- return Result.error("权限字符不能重复!");
|
|
|
+ if (StringUtils.isNotBlank(roleKey)) {
|
|
|
+ roleVO.setRoleKey(roleKey);
|
|
|
+ SysRoleDTO roleKeyDto = roleService.queryRoleByKey(roleVO);
|
|
|
+ if (roleKeyDto != null) {
|
|
|
+ return Result.error("权限字符不能重复!");
|
|
|
+ }
|
|
|
}
|
|
|
AuthorizationUtils.clearAllCachedAuthorizationInfo();
|
|
|
roleService.edit(roleVO);
|