【添加】用户角色关联、角色权限关联全部代码处理完毕
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 com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.core.type.TypeReference;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.jero.modules.docking.iam.dto.bpmc.*;
|
||||
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 javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* IAM同步的控制器,提供用户、组织、菜单和权限的同步
|
||||
@@ -300,13 +302,23 @@ public class SyncIamController {
|
||||
}
|
||||
|
||||
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)){
|
||||
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;
|
||||
|
||||
+97
-8
@@ -4,6 +4,7 @@ import cn.hutool.core.lang.Validator;
|
||||
import cn.hutool.core.util.NumberUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.bamboocloud.codec.BamboocloudFacade;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
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.bpmc.ResourceDto;
|
||||
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.exception.IamGlobalException;
|
||||
import com.jero.modules.docking.iam.po.MessageHeader;
|
||||
import com.jero.modules.docking.iam.po.SendPoSystemPo;
|
||||
import com.jero.modules.docking.iam.po.SendReturnsPo;
|
||||
import com.jero.modules.docking.utils.DockingConstant;
|
||||
import com.jero.modules.system.entity.SysDepart;
|
||||
import com.jero.modules.system.entity.SysPermission;
|
||||
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 com.jero.modules.system.entity.*;
|
||||
import com.jero.modules.system.service.*;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.security.core.parameters.P;
|
||||
@@ -71,6 +68,12 @@ public class SyncIamService {
|
||||
@Resource
|
||||
private ISysPermissionService sysPermissionService;
|
||||
|
||||
@Resource
|
||||
private ISysUserRoleService sysUserRoleService;
|
||||
|
||||
@Resource
|
||||
private ISysRolePermissionService sysRolePermissionService;
|
||||
|
||||
/**
|
||||
* 校验IAM调用时的账号密码是否正确
|
||||
* 校验通过了正常走后续,不通过直接返回
|
||||
@@ -810,4 +813,90 @@ public class SyncIamService {
|
||||
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