【添加】用户角色关联、角色权限关联全部代码处理完毕
This commit is contained in:
+14
-2
@@ -2,6 +2,7 @@ package com.jero.modules.docking.iam.controller;
|
|||||||
|
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||||
|
import com.fasterxml.jackson.core.type.TypeReference;
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
import com.jero.modules.docking.iam.dto.bpmc.*;
|
import com.jero.modules.docking.iam.dto.bpmc.*;
|
||||||
import com.jero.modules.docking.iam.dto.IamCommonAcceptDto;
|
import com.jero.modules.docking.iam.dto.IamCommonAcceptDto;
|
||||||
@@ -24,6 +25,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
|||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* IAM同步的控制器,提供用户、组织、菜单和权限的同步
|
* IAM同步的控制器,提供用户、组织、菜单和权限的同步
|
||||||
@@ -300,13 +302,23 @@ public class SyncIamController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (bpmcAcceptDto.getType().equals(DockingConstant.BPMC_TYPE_USER_ROLE)){
|
if (bpmcAcceptDto.getType().equals(DockingConstant.BPMC_TYPE_USER_ROLE)){
|
||||||
UserRoleDto userRoleDto = objectMapper.readValue(bpmcAcceptDto.getEntity(), UserRoleDto.class);
|
List<UserRoleDto> userRoleDtoList = objectMapper.readValue(bpmcAcceptDto.getEntity(), new TypeReference<List<UserRoleDto>>() {});
|
||||||
// 根据新增/编辑/删除调用不同的业务处理代码
|
// 根据新增/编辑/删除调用不同的业务处理代码
|
||||||
|
if (bpmcAcceptDto.getAction().equals(DockingConstant.BPMC_ACTION_ADD)){
|
||||||
|
bpmcResponseDto = this.syncIamService.userRoleCreateService(userRoleDtoList);
|
||||||
|
} else if (bpmcAcceptDto.getAction().equals(DockingConstant.BPMC_ACTION_DELETE)) {
|
||||||
|
bpmcResponseDto = this.syncIamService.userRoleDeleteService(userRoleDtoList);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (bpmcAcceptDto.getType().equals(DockingConstant.BPMC_TYPE_ROLE_RESOURCE)){
|
if (bpmcAcceptDto.getType().equals(DockingConstant.BPMC_TYPE_ROLE_RESOURCE)){
|
||||||
RoleResourceDto roleResourceDto = objectMapper.readValue(bpmcAcceptDto.getEntity(), RoleResourceDto.class);
|
List<RoleResourceDto> roleResourceDtoList = objectMapper.readValue(bpmcAcceptDto.getEntity(), new TypeReference<List<RoleResourceDto>>() {});
|
||||||
// 根据新增/编辑/删除调用不同的业务处理代码
|
// 根据新增/编辑/删除调用不同的业务处理代码
|
||||||
|
if (bpmcAcceptDto.getAction().equals(DockingConstant.BPMC_ACTION_ADD)){
|
||||||
|
bpmcResponseDto = this.syncIamService.roleResourceCreateService(roleResourceDtoList);
|
||||||
|
} else if (bpmcAcceptDto.getAction().equals(DockingConstant.BPMC_ACTION_DELETE)) {
|
||||||
|
bpmcResponseDto = this.syncIamService.roleResourceDeleteService(roleResourceDtoList);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return bpmcResponseDto;
|
return bpmcResponseDto;
|
||||||
|
|||||||
+97
-8
@@ -4,6 +4,7 @@ import cn.hutool.core.lang.Validator;
|
|||||||
import cn.hutool.core.util.NumberUtil;
|
import cn.hutool.core.util.NumberUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.bamboocloud.codec.BamboocloudFacade;
|
import com.bamboocloud.codec.BamboocloudFacade;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
import com.jero.common.aspect.annotation.Translation;
|
import com.jero.common.aspect.annotation.Translation;
|
||||||
@@ -18,20 +19,16 @@ import com.jero.modules.docking.iam.dto.IamOrgAcceptDto;
|
|||||||
import com.jero.modules.docking.iam.dto.IamUserAcceptDto;
|
import com.jero.modules.docking.iam.dto.IamUserAcceptDto;
|
||||||
import com.jero.modules.docking.iam.dto.bpmc.ResourceDto;
|
import com.jero.modules.docking.iam.dto.bpmc.ResourceDto;
|
||||||
import com.jero.modules.docking.iam.dto.bpmc.RoleDto;
|
import com.jero.modules.docking.iam.dto.bpmc.RoleDto;
|
||||||
|
import com.jero.modules.docking.iam.dto.bpmc.RoleResourceDto;
|
||||||
|
import com.jero.modules.docking.iam.dto.bpmc.UserRoleDto;
|
||||||
import com.jero.modules.docking.iam.dto.response.*;
|
import com.jero.modules.docking.iam.dto.response.*;
|
||||||
import com.jero.modules.docking.iam.exception.IamGlobalException;
|
import com.jero.modules.docking.iam.exception.IamGlobalException;
|
||||||
import com.jero.modules.docking.iam.po.MessageHeader;
|
import com.jero.modules.docking.iam.po.MessageHeader;
|
||||||
import com.jero.modules.docking.iam.po.SendPoSystemPo;
|
import com.jero.modules.docking.iam.po.SendPoSystemPo;
|
||||||
import com.jero.modules.docking.iam.po.SendReturnsPo;
|
import com.jero.modules.docking.iam.po.SendReturnsPo;
|
||||||
import com.jero.modules.docking.utils.DockingConstant;
|
import com.jero.modules.docking.utils.DockingConstant;
|
||||||
import com.jero.modules.system.entity.SysDepart;
|
import com.jero.modules.system.entity.*;
|
||||||
import com.jero.modules.system.entity.SysPermission;
|
import com.jero.modules.system.service.*;
|
||||||
import com.jero.modules.system.entity.SysRole;
|
|
||||||
import com.jero.modules.system.entity.SysUser;
|
|
||||||
import com.jero.modules.system.service.ISysDepartService;
|
|
||||||
import com.jero.modules.system.service.ISysPermissionService;
|
|
||||||
import com.jero.modules.system.service.ISysRoleService;
|
|
||||||
import com.jero.modules.system.service.ISysUserService;
|
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.security.core.parameters.P;
|
import org.springframework.security.core.parameters.P;
|
||||||
@@ -71,6 +68,12 @@ public class SyncIamService {
|
|||||||
@Resource
|
@Resource
|
||||||
private ISysPermissionService sysPermissionService;
|
private ISysPermissionService sysPermissionService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private ISysUserRoleService sysUserRoleService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private ISysRolePermissionService sysRolePermissionService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 校验IAM调用时的账号密码是否正确
|
* 校验IAM调用时的账号密码是否正确
|
||||||
* 校验通过了正常走后续,不通过直接返回
|
* 校验通过了正常走后续,不通过直接返回
|
||||||
@@ -810,4 +813,90 @@ public class SyncIamService {
|
|||||||
return BpmcResponseDto.success();
|
return BpmcResponseDto.success();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户角色关联 创建(批量)
|
||||||
|
*/
|
||||||
|
public BpmcResponseDto userRoleCreateService(List<UserRoleDto> userRoleDtoList){
|
||||||
|
try {
|
||||||
|
List<SysUserRole> userRoleList = new ArrayList<>();
|
||||||
|
|
||||||
|
for (UserRoleDto userRoleDto : userRoleDtoList){
|
||||||
|
SysUserRole sysUserRole = new SysUserRole();
|
||||||
|
sysUserRole.setUserId(userRoleDto.getUserId());
|
||||||
|
sysUserRole.setRoleId(userRoleDto.getArId());
|
||||||
|
|
||||||
|
userRoleList.add(sysUserRole);
|
||||||
|
}
|
||||||
|
this.sysUserRoleService.saveBatch(userRoleList);
|
||||||
|
} catch (Exception e){
|
||||||
|
e.printStackTrace();
|
||||||
|
return BpmcResponseDto.error(e.getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
return BpmcResponseDto.success();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户角色关联 刪除(批量)
|
||||||
|
*/
|
||||||
|
public BpmcResponseDto userRoleDeleteService(List<UserRoleDto> userRoleDtoList){
|
||||||
|
try {
|
||||||
|
for (UserRoleDto userRoleDto : userRoleDtoList){
|
||||||
|
QueryWrapper<SysUserRole> queryWrapper = new QueryWrapper();
|
||||||
|
queryWrapper.eq("user_id", userRoleDto.getUserId());
|
||||||
|
queryWrapper.eq("role_id", userRoleDto.getArId());
|
||||||
|
|
||||||
|
this.sysUserRoleService.remove(queryWrapper);
|
||||||
|
}
|
||||||
|
} catch (Exception e){
|
||||||
|
e.printStackTrace();
|
||||||
|
return BpmcResponseDto.error(e.getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
return BpmcResponseDto.success();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 角色菜单关联 创建(批量)
|
||||||
|
*/
|
||||||
|
public BpmcResponseDto roleResourceCreateService(List<RoleResourceDto> roleResourceDtoList){
|
||||||
|
try {
|
||||||
|
List<SysRolePermission> sysRolePermissionList = new ArrayList<>();
|
||||||
|
|
||||||
|
for (RoleResourceDto roleResourceDto : roleResourceDtoList){
|
||||||
|
SysRolePermission sysRolePermission = new SysRolePermission();
|
||||||
|
sysRolePermission.setPermissionId(roleResourceDto.getAmId());
|
||||||
|
sysRolePermission.setRoleId(roleResourceDto.getArId());
|
||||||
|
|
||||||
|
sysRolePermissionList.add(sysRolePermission);
|
||||||
|
}
|
||||||
|
this.sysRolePermissionService.saveBatch(sysRolePermissionList);
|
||||||
|
} catch (Exception e){
|
||||||
|
e.printStackTrace();
|
||||||
|
return BpmcResponseDto.error(e.getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
return BpmcResponseDto.success();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户角色关联 刪除(批量)
|
||||||
|
*/
|
||||||
|
public BpmcResponseDto roleResourceDeleteService(List<RoleResourceDto> roleResourceDtoList){
|
||||||
|
try {
|
||||||
|
for (RoleResourceDto roleResourceDto : roleResourceDtoList){
|
||||||
|
QueryWrapper<SysRolePermission> 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());
|
||||||
|
}
|
||||||
|
|
||||||
|
return BpmcResponseDto.success();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user