【添加】角色 增/改/删 接口处理完毕

This commit is contained in:
zer0Black
2023-10-02 22:01:30 +08:00
parent b5a4fa6c35
commit 28e53c2aa4
6 changed files with 127 additions and 7 deletions
@@ -13,6 +13,7 @@ import javax.servlet.http.HttpServletResponse;
import com.jero.common.api.vo.Result;
import com.jero.common.system.base.controller.JeroController;
import com.jero.common.util.UUIDGenerator;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.ss.formula.functions.T;
import org.apache.shiro.authz.annotation.RequiresPermissions;
@@ -105,6 +106,7 @@ public class SysRoleController {
public Result<Object> add(@RequestBody SysRole role) {
try {
role.setCreateTime(new Date());
role.setId(UUIDGenerator.generate());
sysRoleService.save(role);
return Result.OK(OPTION_SUCCESS);
} catch (Exception e) {
@@ -126,6 +128,7 @@ public class SysRoleController {
return Result.error("未找到对应实体");
}else {
role.setUpdateTime(new Date());
role.setId(UUIDGenerator.generate());
boolean ok = sysRoleService.updateById(role);
if(ok) {
return Result.OK(OPTION_SUCCESS);
@@ -30,7 +30,7 @@ public class SysRole implements Serializable {
/**
* id
*/
@TableId(type = IdType.ASSIGN_ID)
@TableId(type = IdType.INPUT)
private String id;
/**
@@ -5,6 +5,7 @@ import com.jero.common.api.vo.Result;
import com.jero.common.constant.CommonConstant;
import com.jero.common.exception.JeroBootException;
import com.jero.common.util.ImportExcelUtil;
import com.jero.common.util.UUIDGenerator;
import com.jero.modules.system.entity.SysRole;
import com.jero.modules.system.mapper.SysRoleMapper;
import com.jero.modules.system.mapper.SysUserMapper;
@@ -51,6 +52,8 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
String roleCodeI =((SysRole)listSysRoles.get(i)).getRoleCode();
for (int j = i + 1; j < listSysRoles.size(); j++) {
String roleCodeJ =((SysRole)listSysRoles.get(j)).getRoleCode();
((SysRole)listSysRoles.get(j)).setId(UUIDGenerator.generate());
// 发现重复数据
if (roleCodeI.equals(roleCodeJ)) {
errorStrs.add("" + (j + 1) + " 行的 roleCode 值:" + roleCodeI + " 已存在,忽略导入");
@@ -3,7 +3,7 @@ package com.jero.modules.docking.iam.controller;
import cn.hutool.core.util.StrUtil;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.jero.modules.docking.iam.dto.bpmc.BpmcAcceptDto;
import com.jero.modules.docking.iam.dto.bpmc.*;
import com.jero.modules.docking.iam.dto.IamCommonAcceptDto;
import com.jero.modules.docking.iam.dto.IamOrgAcceptDto;
import com.jero.modules.docking.iam.dto.IamUserAcceptDto;
@@ -248,7 +248,7 @@ public class SyncIamController {
* 通过type字段来区分
*/
@PostMapping({"/OrgDeleteService"})
public BpmcResponseDto bpmcCreate(@RequestBody BpmcAcceptDto bpmcAcceptDto){
public BpmcResponseDto bpmcCreate(@RequestBody BpmcAcceptDto bpmcAcceptDto) throws JsonProcessingException {
if (StrUtil.isEmpty(bpmcAcceptDto.getType())){
return BpmcResponseDto.error("接口类型(type)未传参,请检查");
}
@@ -271,21 +271,35 @@ public class SyncIamController {
return BpmcResponseDto.error("签名校验不通过,请检查");
}
BpmcResponseDto bpmcResponseDto = BpmcResponseDto.success();
ObjectMapper objectMapper = new ObjectMapper();
// 分接口类型分别处理
if (bpmcAcceptDto.getType().equals(DockingConstant.BPMC_TYPE_ROLE)){
RoleDto roleDto = objectMapper.readValue(bpmcAcceptDto.getEntity(), RoleDto.class);
// 根据新增/编辑/删除调用不同的业务处理代码
if (bpmcAcceptDto.getAction().equals(DockingConstant.BPMC_ACTION_ADD)){
bpmcResponseDto = this.syncIamService.roleCreateService(roleDto);
} else if (bpmcAcceptDto.getAction().equals(DockingConstant.BPMC_ACTION_UPDATE)) {
bpmcResponseDto = this.syncIamService.roleUpdateService(roleDto);
} else if (bpmcAcceptDto.getAction().equals(DockingConstant.BPMC_ACTION_DELETE)) {
bpmcResponseDto = this.syncIamService.roleDeleteService(roleDto);
}
}
if (bpmcAcceptDto.getType().equals(DockingConstant.BPMC_TYPE_RESOURCE)){
ResourceDto resourceDto = objectMapper.readValue(bpmcAcceptDto.getEntity(), ResourceDto.class);
// 根据新增/编辑/删除调用不同的业务处理代码
}
if (bpmcAcceptDto.getType().equals(DockingConstant.BPMC_TYPE_USER_ROLE)){
UserRoleDto userRoleDto = objectMapper.readValue(bpmcAcceptDto.getEntity(), UserRoleDto.class);
// 根据新增/编辑/删除调用不同的业务处理代码
}
if (bpmcAcceptDto.getType().equals(DockingConstant.BPMC_TYPE_ROLE_RESOURCE)){
RoleResourceDto roleResourceDto = objectMapper.readValue(bpmcAcceptDto.getEntity(), RoleResourceDto.class);
// 根据新增/编辑/删除调用不同的业务处理代码
}
return BpmcResponseDto.success();
@@ -16,6 +16,7 @@ import com.jero.modules.docking.iam.annotation.IamProperty;
import com.jero.modules.docking.iam.dto.IamCommonAcceptDto;
import com.jero.modules.docking.iam.dto.IamOrgAcceptDto;
import com.jero.modules.docking.iam.dto.IamUserAcceptDto;
import com.jero.modules.docking.iam.dto.bpmc.RoleDto;
import com.jero.modules.docking.iam.dto.response.*;
import com.jero.modules.docking.iam.exception.IamGlobalException;
import com.jero.modules.docking.iam.po.MessageHeader;
@@ -23,8 +24,10 @@ 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.SysRole;
import com.jero.modules.system.entity.SysUser;
import com.jero.modules.system.service.ISysDepartService;
import com.jero.modules.system.service.ISysRoleService;
import com.jero.modules.system.service.ISysUserService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Value;
@@ -59,6 +62,9 @@ public class SyncIamService {
@Resource
private ISysDepartService sysDepartService;
@Resource
private ISysRoleService sysRoleService;
/**
* 校验IAM调用时的账号密码是否正确
* 校验通过了正常走后续,不通过直接返回
@@ -586,4 +592,84 @@ public class SyncIamService {
return sendPoSystemPo;
}
/**
* 角色创建
*/
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());
sysRoleService.save(sysRole);
} catch (Exception e){
e.printStackTrace();
return BpmcResponseDto.error(e.getMessage());
}
return BpmcResponseDto.success();
}
/**
* 角色更新
*/
public BpmcResponseDto roleUpdateService(RoleDto roleDto){
try {
if (StrUtil.isEmpty(roleDto.getId())){
return BpmcResponseDto.error("角色id为空,无法更新");
}
SysRole sysRole = sysRoleService.getById(roleDto.getId());
if (StrUtil.isNotEmpty(roleDto.getName())){
sysRole.setRoleName(roleDto.getName());
}
if (StrUtil.isNotEmpty(roleDto.getCode())){
sysRole.setRoleCode(roleDto.getCode());
}
if (StrUtil.isNotEmpty(roleDto.getDescription())){
sysRole.setDescription(roleDto.getDescription());
}
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());
}
return BpmcResponseDto.success();
}
/**
* 角色删除
*/
public BpmcResponseDto roleDeleteService(RoleDto roleDto){
try {
if (StrUtil.isEmpty(roleDto.getId())){
return BpmcResponseDto.error("角色id为空,无法删除");
}
sysRoleService.deleteRole(roleDto.getId());
} catch (Exception e){
e.printStackTrace();
return BpmcResponseDto.error(e.getMessage());
}
return BpmcResponseDto.success();
}
}
@@ -55,4 +55,18 @@ public class DockingConstant {
*/
public static String BPMC_TYPE_ROLE_RESOURCE = "R_AR_AM";
/**
* 竹云统一认证平台,操作类型:新增
*/
public static String BPMC_ACTION_ADD = "add";
/**
* 竹云统一认证平台,操作类型:更新
*/
public static String BPMC_ACTION_UPDATE = "update";
/**
* 竹云统一认证平台,操作类型:删除
*/
public static String BPMC_ACTION_DELETE = "delete";
}