|
@@ -11,10 +11,7 @@ import com.xy.consts.CommConsts;
|
|
import com.xy.dto.BatchDeleteDto;
|
|
import com.xy.dto.BatchDeleteDto;
|
|
import com.xy.dto.CommDto;
|
|
import com.xy.dto.CommDto;
|
|
import com.xy.dto.SysRoleDto;
|
|
import com.xy.dto.SysRoleDto;
|
|
-import com.xy.entity.SysDeptRole;
|
|
|
|
-import com.xy.entity.SysRole;
|
|
|
|
-import com.xy.entity.SysRoleMenu;
|
|
|
|
-import com.xy.entity.SysUserRole;
|
|
|
|
|
|
+import com.xy.entity.*;
|
|
import com.xy.mapper.SysRoleMapper;
|
|
import com.xy.mapper.SysRoleMapper;
|
|
import com.xy.redis.RedisCache;
|
|
import com.xy.redis.RedisCache;
|
|
import com.xy.service.SysDeptRoleService;
|
|
import com.xy.service.SysDeptRoleService;
|
|
@@ -56,6 +53,7 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
|
|
private final SysRoleMenuService sysRoleMenuService;
|
|
private final SysRoleMenuService sysRoleMenuService;
|
|
private final SysDeptRoleService sysDeptRoleService;
|
|
private final SysDeptRoleService sysDeptRoleService;
|
|
private final SysUserRoleService sysUserRoleService;
|
|
private final SysUserRoleService sysUserRoleService;
|
|
|
|
+ private final SysMenuServiceImpl sysMenuService;
|
|
|
|
|
|
@ApiOperation(value = "新增、更新角色信息", notes = "新增、更新角色信息")
|
|
@ApiOperation(value = "新增、更新角色信息", notes = "新增、更新角色信息")
|
|
@PostMapping("saveOrUpdate")
|
|
@PostMapping("saveOrUpdate")
|
|
@@ -81,7 +79,20 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
|
|
}
|
|
}
|
|
|
|
|
|
Long sysRoleId = sysRole.getId();
|
|
Long sysRoleId = sysRole.getId();
|
|
- sysRoleMenuService.remove(Wrappers.<SysRoleMenu>lambdaQuery().eq(SysRoleMenu::getRoleId, sysRoleId));
|
|
|
|
|
|
+ String clientType = sysRoleDto.getClientType();
|
|
|
|
+ if (StrUtil.isNotEmpty(clientType)) {
|
|
|
|
+ //如果有客户端类型,只能移除次客户端类型对应的菜单
|
|
|
|
+ List<SysMenu> sysMenus = sysMenuService.list(Wrappers.<SysMenu>lambdaQuery().eq(SysMenu::getClientType, clientType).eq(SysMenu::getSysId, sysRoleDto.getSysId()));
|
|
|
|
+ if (CollUtil.isNotEmpty(sysMenus)) {
|
|
|
|
+ List<Long> mIds = sysMenus.stream().map(SysMenu::getId).collect(Collectors.toList());
|
|
|
|
+ sysRoleMenuService.remove(Wrappers.<SysRoleMenu>lambdaQuery().eq(SysRoleMenu::getRoleId, sysRoleId)
|
|
|
|
+ .in(SysRoleMenu::getMenuId, mIds)
|
|
|
|
+ );
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ sysRoleMenuService.remove(Wrappers.<SysRoleMenu>lambdaQuery().eq(SysRoleMenu::getRoleId, sysRoleId));
|
|
|
|
+ }
|
|
|
|
|
|
//角色菜单绑定
|
|
//角色菜单绑定
|
|
Boolean finalSelectAdmin = selectAdmin;
|
|
Boolean finalSelectAdmin = selectAdmin;
|