diff --git a/laws-modules-docking/src/main/java/com/jero/modules/docking/iam/dto/bpmc/ResourceDto.java b/laws-modules-docking/src/main/java/com/jero/modules/docking/iam/dto/bpmc/ResourceDto.java index 157d7965..c29f444b 100644 --- a/laws-modules-docking/src/main/java/com/jero/modules/docking/iam/dto/bpmc/ResourceDto.java +++ b/laws-modules-docking/src/main/java/com/jero/modules/docking/iam/dto/bpmc/ResourceDto.java @@ -44,6 +44,11 @@ public class ResourceDto { */ private String redirect; + /** + * 路径 + */ + private String url; + /** * 类型(0:一级菜单; 1:子菜单:2:按钮权限) */ diff --git a/laws-modules-docking/src/main/java/com/jero/modules/docking/iam/service/SyncIamService.java b/laws-modules-docking/src/main/java/com/jero/modules/docking/iam/service/SyncIamService.java index 3eaae6ef..06b55b9d 100644 --- a/laws-modules-docking/src/main/java/com/jero/modules/docking/iam/service/SyncIamService.java +++ b/laws-modules-docking/src/main/java/com/jero/modules/docking/iam/service/SyncIamService.java @@ -578,24 +578,18 @@ public class SyncIamService { * 角色创建 */ public BpmcResponseDto roleCreateService(RoleDto roleDto){ - try { - SysRole sysRole = new SysRole(); - sysRole.setId(roleDto.getId()); - sysRole.setRoleName(roleDto.getName()); - sysRole.setRoleCode(roleDto.getCode()); - sysRole.setDescription(roleDto.getDescription()); - sysRole.setCreateBy(DockingConstant.IAM_SYSTEM_NAME); - sysRole.setCreateTime(roleDto.getCreateTime()); - sysRole.setUpdateBy(DockingConstant.IAM_SYSTEM_NAME); - sysRole.setUpdateTime(roleDto.getModifyTime()); - sysRole.setAppId(roleDto.getAppId()); - - sysRoleService.save(sysRole); - } catch (Exception e){ - e.printStackTrace(); - return BpmcResponseDto.error(e.getMessage()); - } + SysRole sysRole = new SysRole(); + sysRole.setId(roleDto.getId()); + sysRole.setRoleName(roleDto.getName()); + sysRole.setRoleCode(roleDto.getCode()); + sysRole.setDescription(roleDto.getDescription()); + sysRole.setCreateBy(DockingConstant.IAM_SYSTEM_NAME); + sysRole.setCreateTime(roleDto.getCreateTime()); + sysRole.setUpdateBy(DockingConstant.IAM_SYSTEM_NAME); + sysRole.setUpdateTime(roleDto.getModifyTime()); + sysRole.setAppId(roleDto.getAppId()); + sysRoleService.save(sysRole); return BpmcResponseDto.success(); } @@ -603,47 +597,42 @@ public class SyncIamService { * 角色更新 */ public BpmcResponseDto roleUpdateService(RoleDto roleDto){ - try { - if (CharSequenceUtil.isEmpty(roleDto.getId())){ - return BpmcResponseDto.error("角色id为空,无法更新"); - } - - SysRole sysRole = sysRoleService.getById(roleDto.getId()); - - if (sysRole == null){ - return BpmcResponseDto.error("未找到对应id角色,无法更新"); - }else { - sysRole.setId(roleDto.getId()); - } - - if (CharSequenceUtil.isNotEmpty(roleDto.getName())){ - sysRole.setRoleName(roleDto.getName()); - } - - if (CharSequenceUtil.isNotEmpty(roleDto.getCode())){ - sysRole.setRoleCode(roleDto.getCode()); - } - - if (CharSequenceUtil.isNotEmpty(roleDto.getDescription())){ - sysRole.setDescription(roleDto.getDescription()); - } - - if (CharSequenceUtil.isNotEmpty(roleDto.getAppId())){ - sysRole.setAppId(roleDto.getAppId()); - } - - sysRole.setUpdateBy(DockingConstant.IAM_SYSTEM_NAME); - - if (roleDto.getModifyTime() != null){ - sysRole.setUpdateTime(roleDto.getModifyTime()); - } - - sysRoleService.updateById(sysRole); - } catch (Exception e){ - e.printStackTrace(); - return BpmcResponseDto.error(e.getMessage()); + if (CharSequenceUtil.isEmpty(roleDto.getId())){ + return BpmcResponseDto.error("角色id为空,无法更新"); } + SysRole sysRole = sysRoleService.getById(roleDto.getId()); + + if (sysRole == null){ + return BpmcResponseDto.error("未找到对应id角色,无法更新"); + }else { + sysRole.setId(roleDto.getId()); + } + + if (CharSequenceUtil.isNotEmpty(roleDto.getName())){ + sysRole.setRoleName(roleDto.getName()); + } + + if (CharSequenceUtil.isNotEmpty(roleDto.getCode())){ + sysRole.setRoleCode(roleDto.getCode()); + } + + if (CharSequenceUtil.isNotEmpty(roleDto.getDescription())){ + sysRole.setDescription(roleDto.getDescription()); + } + + if (CharSequenceUtil.isNotEmpty(roleDto.getAppId())){ + sysRole.setAppId(roleDto.getAppId()); + } + + sysRole.setUpdateBy(DockingConstant.IAM_SYSTEM_NAME); + + if (roleDto.getModifyTime() != null){ + sysRole.setUpdateTime(roleDto.getModifyTime()); + } + + sysRoleService.updateById(sysRole); + return BpmcResponseDto.success(); } @@ -651,17 +640,12 @@ public class SyncIamService { * 角色删除 */ public BpmcResponseDto roleDeleteService(RoleDto roleDto){ - try { - if (CharSequenceUtil.isEmpty(roleDto.getId())){ - return BpmcResponseDto.error("角色id为空,无法删除"); - } - - sysRoleService.deleteRole(roleDto.getId()); - } catch (Exception e){ - e.printStackTrace(); - return BpmcResponseDto.error(e.getMessage()); + if (CharSequenceUtil.isEmpty(roleDto.getId())){ + return BpmcResponseDto.error("角色id为空,无法删除"); } + sysRoleService.deleteRole(roleDto.getId()); + return BpmcResponseDto.success(); } @@ -669,69 +653,67 @@ public class SyncIamService { * 菜单创建 */ public BpmcResponseDto resourceCreateService(ResourceDto resourceDto){ - try { - SysPermission sysPermission = new SysPermission(); - sysPermission.setId(resourceDto.getId()); - if (StringUtils.isNotBlank(resourceDto.getParentId())){ - sysPermission.setParentId(resourceDto.getParentId()); - } - sysPermission.setName(resourceDto.getName()); - sysPermission.setPermsType("1"); // 1显示2禁用,固定为1 - sysPermission.setIcon("copy"); //IAM 没有icon字段,设定为固定值 - if (StringUtils.isNotBlank(resourceDto.getCode())){ - sysPermission.setPerms(resourceDto.getCode()); - } - sysPermission.setComponent(resourceDto.getComponent()); // 组件的路径 - if (StringUtils.isNotBlank(resourceDto.getRedirect())){ - sysPermission.setUrl(resourceDto.getRedirect()); // 地址栏显示的路径 - } - sysPermission.setAppId(resourceDto.getAppId()); // appId - if (!Objects.isNull(resourceDto.getSort())){ - sysPermission.setSortNo(Double.valueOf(resourceDto.getSort())); - }else { - sysPermission.setSortNo(1D); - } - - - // TODO 菜单英文名数据库中没有,需要确认 - - // sysPermission的 menuType (0:一级菜单;1:子菜单 ;2:按钮权限) - if (DockingConstant.BPMC_RESOURCE_TYPE_MENU == resourceDto.getMenu_type()){ - if (CharSequenceUtil.isEmpty(resourceDto.getParentId())){ - sysPermission.setMenuType(0); - } else { - sysPermission.setMenuType(1); - } - } else { - sysPermission.setMenuType(2); - } - - sysPermission.setCreateTime(new Date()); - sysPermission.setCreateBy(DockingConstant.IAM_SYSTEM_NAME); - if (!Objects.isNull(resourceDto.getModifyTime())){ - sysPermission.setUpdateTime(resourceDto.getModifyTime()); - } - sysPermission.setUpdateBy(DockingConstant.IAM_SYSTEM_NAME); - - if (StringUtils.isNotBlank(resourceDto.getDescription())){ - sysPermission.setDescription(resourceDto.getDescription()); - } - - // 以下为IAM没有的属性,设置默认值 - sysPermission.setRoute(resourceDto.getIs_route() == 0 ? false : true); // 是否路由,设固定值 - sysPermission.setKeepAlive(resourceDto.getKeep_alive() == 0 ? false : true); // 是否缓存,设固定值 - sysPermission.setDelFlag(CommonConstant.DEL_FLAG_0); - sysPermission.setRuleFlag(0); // 是否配置菜单的数据权限 1是0否 默认0 - sysPermission.setHidden(resourceDto.getHidden() == 0 ? false : true); // 是否配置菜单的数据权限 1是0否 默认0 - sysPermission.setStatus("1"); // 按钮权限状态(0无效1有效) - sysPermission.setAlwaysShow(false); - sysPermission.setInternalOrExternal(resourceDto.getInternal_or_external() == 0 ? false : true); - - sysPermissionService.addPermission(sysPermission); - } catch (Exception e){ - e.printStackTrace(); - return BpmcResponseDto.error(e.getMessage()); + SysPermission sysPermission = new SysPermission(); + sysPermission.setId(resourceDto.getId()); + if (StringUtils.isNotBlank(resourceDto.getParentId())){ + sysPermission.setParentId(resourceDto.getParentId()); } + sysPermission.setName(resourceDto.getName()); + sysPermission.setPermsType("1"); // 1显示2禁用,固定为1 + sysPermission.setIcon("copy"); //IAM 没有icon字段,设定为固定值 + if (StringUtils.isNotBlank(resourceDto.getCode())){ + sysPermission.setPerms(resourceDto.getCode()); + } + sysPermission.setComponent(resourceDto.getComponent()); // 组件的路径 + if (CharSequenceUtil.isNotEmpty(resourceDto.getRedirect())){ + sysPermission.setRedirect(resourceDto.getRedirect()); // 地址栏显示的路径 + } + if (CharSequenceUtil.isNotEmpty(resourceDto.getUrl())){ + sysPermission.setUrl(resourceDto.getUrl()); // 路径 + } + sysPermission.setAppId(resourceDto.getAppId()); // appId + if (!Objects.isNull(resourceDto.getSort())){ + sysPermission.setSortNo(Double.valueOf(resourceDto.getSort())); + }else { + sysPermission.setSortNo(1D); + } + + + // TODO 菜单英文名数据库中没有,需要确认 + + // sysPermission的 menuType (0:一级菜单;1:子菜单 ;2:按钮权限) + if (DockingConstant.BPMC_RESOURCE_TYPE_MENU == resourceDto.getMenu_type()){ + if (CharSequenceUtil.isEmpty(resourceDto.getParentId())){ + sysPermission.setMenuType(0); + } else { + sysPermission.setMenuType(1); + } + } else { + sysPermission.setMenuType(2); + } + + sysPermission.setCreateTime(new Date()); + sysPermission.setCreateBy(DockingConstant.IAM_SYSTEM_NAME); + if (!Objects.isNull(resourceDto.getModifyTime())){ + sysPermission.setUpdateTime(resourceDto.getModifyTime()); + } + sysPermission.setUpdateBy(DockingConstant.IAM_SYSTEM_NAME); + + if (StringUtils.isNotBlank(resourceDto.getDescription())){ + sysPermission.setDescription(resourceDto.getDescription()); + } + + // 以下为IAM没有的属性,设置默认值 + sysPermission.setRoute(resourceDto.getIs_route() == 0 ? false : true); // 是否路由,设固定值 + sysPermission.setKeepAlive(resourceDto.getKeep_alive() == 0 ? false : true); // 是否缓存,设固定值 + sysPermission.setDelFlag(CommonConstant.DEL_FLAG_0); + sysPermission.setRuleFlag(0); // 是否配置菜单的数据权限 1是0否 默认0 + sysPermission.setHidden(resourceDto.getHidden() == 0 ? false : true); // 是否配置菜单的数据权限 1是0否 默认0 + sysPermission.setStatus("1"); // 按钮权限状态(0无效1有效) + sysPermission.setAlwaysShow(false); + sysPermission.setInternalOrExternal(resourceDto.getInternal_or_external() == 0 ? false : true); + + sysPermissionService.addPermission(sysPermission); return BpmcResponseDto.success(); } @@ -769,7 +751,11 @@ public class SyncIamService { } if (CharSequenceUtil.isNotEmpty(resourceDto.getRedirect())){ - sysPermission.setUrl(resourceDto.getRedirect()); // 地址栏显示的路径 + sysPermission.setRedirect(resourceDto.getRedirect()); // 地址栏显示的路径 + } + + if (CharSequenceUtil.isNotEmpty(resourceDto.getUrl())){ + sysPermission.setUrl(resourceDto.getUrl()); // 路径 } if (resourceDto.getSort() != null){ @@ -822,17 +808,10 @@ public class SyncIamService { * 菜单删除(真实删除) */ public BpmcResponseDto resourceDeleteService(ResourceDto resourceDto){ - try { - if (CharSequenceUtil.isEmpty(resourceDto.getId())){ - return BpmcResponseDto.error("菜单id为空,无法删除"); - } - - sysPermissionService.deletePermission(resourceDto.getId()); - } catch (Exception e){ - e.printStackTrace(); - return BpmcResponseDto.error(e.getMessage()); + if (CharSequenceUtil.isEmpty(resourceDto.getId())){ + return BpmcResponseDto.error("菜单id为空,无法删除"); } - + sysPermissionService.deletePermission(resourceDto.getId()); return BpmcResponseDto.success(); } @@ -840,38 +819,33 @@ public class SyncIamService { * 用户角色关联 创建(批量) */ public BpmcResponseDto userRoleCreateService(List userRoleDtoList){ - try { - List userRoleList = new ArrayList<>(); + List userRoleList = new ArrayList<>(); - for (UserRoleDto userRoleDto : userRoleDtoList){ - if (CharSequenceUtil.isNotEmpty(userRoleDto.getAccountCode())){ - SysUserRole sysUserRole = new SysUserRole(); - // 根据 accountCode 字段(即用户名username) 从数据库里查出来用户id,在给到sysUserRole - LoginUser userInfo = sysBaseAPI.getUserByName(userRoleDto.getAccountCode()); + for (UserRoleDto userRoleDto : userRoleDtoList){ + if (CharSequenceUtil.isNotEmpty(userRoleDto.getAccountCode())){ + SysUserRole sysUserRole = new SysUserRole(); + // 根据 accountCode 字段(即用户名username) 从数据库里查出来用户id,在给到sysUserRole + LoginUser userInfo = sysBaseAPI.getUserByName(userRoleDto.getAccountCode()); - if (userInfo == null){ - continue; - } - - sysUserRole.setUserId(userInfo.getId()); - sysUserRole.setRoleId(userRoleDto.getArId()); - - // 角色重复性校验 - int count = sysUserRoleService.count(new LambdaQueryWrapper() - .eq(SysUserRole::getUserId, sysUserRole.getUserId()) - .eq(SysUserRole::getRoleId, sysUserRole.getRoleId())); - if (count > 0){ - continue; - } - - userRoleList.add(sysUserRole); + if (userInfo == null){ + continue; } + + sysUserRole.setUserId(userInfo.getId()); + sysUserRole.setRoleId(userRoleDto.getArId()); + + // 角色重复性校验 + int count = sysUserRoleService.count(new LambdaQueryWrapper() + .eq(SysUserRole::getUserId, sysUserRole.getUserId()) + .eq(SysUserRole::getRoleId, sysUserRole.getRoleId())); + if (count > 0){ + continue; + } + + userRoleList.add(sysUserRole); } - this.sysUserRoleService.saveBatch(userRoleList); - } catch (Exception e){ - e.printStackTrace(); - return BpmcResponseDto.error(e.getMessage()); } + this.sysUserRoleService.saveBatch(userRoleList); return BpmcResponseDto.success(); } @@ -880,25 +854,19 @@ public class SyncIamService { * 用户角色关联 刪除(批量) */ public BpmcResponseDto userRoleDeleteService(List userRoleDtoList){ - try { - for (UserRoleDto userRoleDto : userRoleDtoList){ - QueryWrapper queryWrapper = new QueryWrapper(); - // 根据 accountCode 字段(即用户名username) 从数据库里查出来用户id,在给到sysUserRole - LoginUser userInfo = sysBaseAPI.getUserByName(userRoleDto.getAccountCode()); - if (userInfo == null){ - continue; - } - - queryWrapper.eq("user_id", userInfo.getId()); - queryWrapper.eq("role_id", userRoleDto.getArId()); - - this.sysUserRoleService.remove(queryWrapper); + for (UserRoleDto userRoleDto : userRoleDtoList){ + QueryWrapper queryWrapper = new QueryWrapper<>(); + // 根据 accountCode 字段(即用户名username) 从数据库里查出来用户id,在给到sysUserRole + LoginUser userInfo = sysBaseAPI.getUserByName(userRoleDto.getAccountCode()); + if (userInfo == null){ + continue; } - } catch (Exception e){ - e.printStackTrace(); - return BpmcResponseDto.error(e.getMessage()); - } + queryWrapper.eq("user_id", userInfo.getId()); + queryWrapper.eq("role_id", userRoleDto.getArId()); + + this.sysUserRoleService.remove(queryWrapper); + } return BpmcResponseDto.success(); } @@ -906,28 +874,22 @@ public class SyncIamService { * 角色菜单关联 创建(批量) */ public BpmcResponseDto roleResourceCreateService(List roleResourceDtoList){ - try { - List sysRolePermissionList = new ArrayList<>(); + List sysRolePermissionList = new ArrayList<>(); - for (RoleResourceDto roleResourceDto : roleResourceDtoList){ - SysRolePermission sysRolePermission = new SysRolePermission(); - sysRolePermission.setPermissionId(roleResourceDto.getAmId()); - sysRolePermission.setRoleId(roleResourceDto.getArId()); - // 重复性校验 - int count = sysRolePermissionService.count(new LambdaQueryWrapper() - .eq(SysRolePermission::getRoleId, sysRolePermission.getRoleId()) - .eq(SysRolePermission::getPermissionId, sysRolePermission.getPermissionId())); - if (count > 0){ - continue; - } - sysRolePermissionList.add(sysRolePermission); + for (RoleResourceDto roleResourceDto : roleResourceDtoList){ + SysRolePermission sysRolePermission = new SysRolePermission(); + sysRolePermission.setPermissionId(roleResourceDto.getAmId()); + sysRolePermission.setRoleId(roleResourceDto.getArId()); + // 重复性校验 + int count = sysRolePermissionService.count(new LambdaQueryWrapper() + .eq(SysRolePermission::getRoleId, sysRolePermission.getRoleId()) + .eq(SysRolePermission::getPermissionId, sysRolePermission.getPermissionId())); + if (count > 0){ + continue; } - this.sysRolePermissionService.saveBatch(sysRolePermissionList); - } catch (Exception e){ - e.printStackTrace(); - return BpmcResponseDto.error(e.getMessage()); + sysRolePermissionList.add(sysRolePermission); } - + this.sysRolePermissionService.saveBatch(sysRolePermissionList); return BpmcResponseDto.success(); } @@ -935,17 +897,12 @@ public class SyncIamService { * 用户角色关联 刪除(批量) */ public BpmcResponseDto roleResourceDeleteService(List roleResourceDtoList){ - try { - for (RoleResourceDto roleResourceDto : roleResourceDtoList){ - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("permission_id", roleResourceDto.getAmId()); - queryWrapper.eq("role_id", roleResourceDto.getArId()); + for (RoleResourceDto roleResourceDto : roleResourceDtoList){ + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("permission_id", roleResourceDto.getAmId()); + queryWrapper.eq("role_id", roleResourceDto.getArId()); - this.sysRolePermissionService.remove(queryWrapper); - } - } catch (Exception e){ - e.printStackTrace(); - return BpmcResponseDto.error(e.getMessage()); + this.sysRolePermissionService.remove(queryWrapper); } return BpmcResponseDto.success();