【添加】添加组织机构添加接口逻辑
This commit is contained in:
+25
-2
@@ -6,6 +6,7 @@ import com.jero.modules.docking.iam.dto.IamCommonAcceptDto;
|
|||||||
import com.jero.modules.docking.iam.dto.IamOrgAcceptDto;
|
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.response.IamCommonResponseDto;
|
import com.jero.modules.docking.iam.dto.response.IamCommonResponseDto;
|
||||||
|
import com.jero.modules.docking.iam.dto.response.IamOrgCreateResponse;
|
||||||
import com.jero.modules.docking.iam.dto.response.IamSchemaResponse;
|
import com.jero.modules.docking.iam.dto.response.IamSchemaResponse;
|
||||||
import com.jero.modules.docking.iam.dto.response.IamUserCreateResponse;
|
import com.jero.modules.docking.iam.dto.response.IamUserCreateResponse;
|
||||||
import com.jero.modules.docking.iam.exception.IamGlobalException;
|
import com.jero.modules.docking.iam.exception.IamGlobalException;
|
||||||
@@ -151,8 +152,30 @@ public class SyncIamController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping({"/OrgCreateService"})
|
@PostMapping({"/OrgCreateService"})
|
||||||
public SendPoSystemPo orgCreateService(@RequestBody AcceptPoSystemPo<IamOrgAcceptDto> iamOrgInfo) {
|
public SendPoSystemPo orgCreateService(@RequestBody AcceptPoSystemPo<IamOrgAcceptDto> iamOrgInfo) throws JsonProcessingException {
|
||||||
SendPoSystemPo sendPoSystemPo = new SendPoSystemPo();
|
if (iamOrgInfo == null
|
||||||
|
|| iamOrgInfo.getMessageTabels() == null
|
||||||
|
|| iamOrgInfo.getMessageTabels().getHeader() == null
|
||||||
|
|| iamOrgInfo.getMessageTabels().getHeader().getData() == null){
|
||||||
|
throw new IamGlobalException(null, "参数传递错误,未收到参数");
|
||||||
|
}
|
||||||
|
|
||||||
|
// 对核心数据解密
|
||||||
|
String bodyParam = iamOrgInfo.getMessageTabels().getHeader().getData();
|
||||||
|
String bodyParamDecrypt = BamboocloudUtils.getPlaintext(bodyParam, DockingConstant.IAM_ENCRYPT_SECRET, DockingConstant.IAM_ENCRYPT_TYPE);
|
||||||
|
|
||||||
|
ObjectMapper objectMapper = new ObjectMapper();
|
||||||
|
IamOrgAcceptDto orgAcceptDto = objectMapper.readValue(bodyParamDecrypt, IamOrgAcceptDto.class);
|
||||||
|
|
||||||
|
// 校验身份认证,确保接口正确 必须调用!
|
||||||
|
this.syncIamService.validateUserAndPwd(orgAcceptDto);
|
||||||
|
|
||||||
|
// 处理业务逻辑,存储用户,返回用户id
|
||||||
|
IamOrgCreateResponse iamOrgCreateResponse = this.syncIamService.orgCreateService(orgAcceptDto);
|
||||||
|
|
||||||
|
// 处理统一响应PO层,并加密业务字段
|
||||||
|
MessageHeader acceptMessageHeader = iamOrgInfo.getMessageHeader();
|
||||||
|
SendPoSystemPo sendPoSystemPo = this.syncIamService.handlerGloablResponse(acceptMessageHeader, iamOrgCreateResponse);
|
||||||
|
|
||||||
return sendPoSystemPo;
|
return sendPoSystemPo;
|
||||||
}
|
}
|
||||||
|
|||||||
+89
-29
@@ -16,16 +16,15 @@ import com.jero.modules.docking.iam.annotation.IamProperty;
|
|||||||
import com.jero.modules.docking.iam.dto.IamCommonAcceptDto;
|
import com.jero.modules.docking.iam.dto.IamCommonAcceptDto;
|
||||||
import com.jero.modules.docking.iam.dto.IamOrgAcceptDto;
|
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.response.IamCommonResponseDto;
|
import com.jero.modules.docking.iam.dto.response.*;
|
||||||
import com.jero.modules.docking.iam.dto.response.IamSchemaResponse;
|
|
||||||
import com.jero.modules.docking.iam.dto.response.IamUserCreateResponse;
|
|
||||||
import com.jero.modules.docking.iam.dto.response.SchemaResponseInner;
|
|
||||||
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.SysUser;
|
import com.jero.modules.system.entity.SysUser;
|
||||||
|
import com.jero.modules.system.service.ISysDepartService;
|
||||||
import com.jero.modules.system.service.ISysUserService;
|
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;
|
||||||
@@ -57,6 +56,9 @@ public class SyncIamService {
|
|||||||
@Resource
|
@Resource
|
||||||
private ISysUserService sysUserService;
|
private ISysUserService sysUserService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private ISysDepartService sysDepartService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 校验IAM调用时的账号密码是否正确
|
* 校验IAM调用时的账号密码是否正确
|
||||||
* 校验通过了正常走后续,不通过直接返回
|
* 校验通过了正常走后续,不通过直接返回
|
||||||
@@ -161,8 +163,8 @@ public class SyncIamService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
sysUser.setTelephone(userAcceptDto.getSrmsOfficePhone());
|
sysUser.setTelephone(userAcceptDto.getSrmsOfficePhone());
|
||||||
sysUser.setCreateBy("IAM");
|
sysUser.setCreateBy(DockingConstant.IAM_SYSTEM_NAME);
|
||||||
sysUser.setUpdateBy("IAM");
|
sysUser.setUpdateBy(DockingConstant.IAM_SYSTEM_NAME);
|
||||||
if (StrUtil.isNotEmpty(userAcceptDto.getSrmsCreateTime())){
|
if (StrUtil.isNotEmpty(userAcceptDto.getSrmsCreateTime())){
|
||||||
Date createTime = DateUtils.str2Date(userAcceptDto.getSrmsCreateTime(), new SimpleDateFormat("YYYY-MM-dd HH:mm:ss"));
|
Date createTime = DateUtils.str2Date(userAcceptDto.getSrmsCreateTime(), new SimpleDateFormat("YYYY-MM-dd HH:mm:ss"));
|
||||||
sysUser.setCreateTime(createTime);
|
sysUser.setCreateTime(createTime);
|
||||||
@@ -204,33 +206,13 @@ public class SyncIamService {
|
|||||||
// 存储到用户表中
|
// 存储到用户表中
|
||||||
this.sysUserService.saveUser(sysUser, selectedRoles, selectedDeparts);
|
this.sysUserService.saveUser(sysUser, selectedRoles, selectedDeparts);
|
||||||
|
|
||||||
iamUserCreateResponse.setUid(sysUser.getId()); // TODO sysUser处理完毕得到用户id后,设置
|
iamUserCreateResponse.setUid(sysUser.getId());
|
||||||
|
|
||||||
return iamUserCreateResponse;
|
return iamUserCreateResponse;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据传过来看的bimUid标识用户的唯一id,取出后修改新传递的字符串
|
*根据传过来看的bimUid标识用户的唯一id,取出后修改新传递的字符串
|
||||||
* @param userAcceptDto
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
public IamCommonResponseDto userDeleteService(IamUserAcceptDto userAcceptDto){
|
|
||||||
if (userAcceptDto == null || StrUtil.isEmpty(userAcceptDto.getBimUid())){
|
|
||||||
throw new IamGlobalException(userAcceptDto.getBimRequestId(), "用户id(bimUid)为空,无法进行用户删除");
|
|
||||||
}
|
|
||||||
|
|
||||||
this.sysUserService.deleteUser(userAcceptDto.getBimUid());
|
|
||||||
|
|
||||||
IamCommonResponseDto iamCommonResponseDto = new IamCommonResponseDto();
|
|
||||||
iamCommonResponseDto.setBimRequestId(userAcceptDto.getBimRequestId());
|
|
||||||
iamCommonResponseDto.setResultCode(DockingConstant.IAM_SUCCESS_RESULT_CODE);
|
|
||||||
iamCommonResponseDto.setMessage(DockingConstant.IAM_SUCCESS_MESSAGE);
|
|
||||||
|
|
||||||
return iamCommonResponseDto;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 删除用户
|
|
||||||
* @param userAcceptDto
|
* @param userAcceptDto
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@@ -276,7 +258,7 @@ public class SyncIamService {
|
|||||||
sysUser.setTelephone(userAcceptDto.getSrmsOfficePhone());
|
sysUser.setTelephone(userAcceptDto.getSrmsOfficePhone());
|
||||||
}
|
}
|
||||||
|
|
||||||
sysUser.setUpdateBy("IAM");
|
sysUser.setUpdateBy(DockingConstant.IAM_SYSTEM_NAME);
|
||||||
|
|
||||||
if (StrUtil.isNotEmpty(userAcceptDto.getSrmsUpdateTime())){
|
if (StrUtil.isNotEmpty(userAcceptDto.getSrmsUpdateTime())){
|
||||||
Date updateTime = DateUtils.str2Date(userAcceptDto.getSrmsUpdateTime(), new SimpleDateFormat("YYYY-MM-dd HH:mm:ss"));
|
Date updateTime = DateUtils.str2Date(userAcceptDto.getSrmsUpdateTime(), new SimpleDateFormat("YYYY-MM-dd HH:mm:ss"));
|
||||||
@@ -379,6 +361,84 @@ public class SyncIamService {
|
|||||||
return iamCommonResponseDto;
|
return iamCommonResponseDto;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除用户
|
||||||
|
* @param userAcceptDto
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public IamCommonResponseDto userDeleteService(IamUserAcceptDto userAcceptDto){
|
||||||
|
if (userAcceptDto == null || StrUtil.isEmpty(userAcceptDto.getBimUid())){
|
||||||
|
throw new IamGlobalException(userAcceptDto.getBimRequestId(), "用户id(bimUid)为空,无法进行用户删除");
|
||||||
|
}
|
||||||
|
|
||||||
|
this.sysUserService.deleteUser(userAcceptDto.getBimUid());
|
||||||
|
|
||||||
|
IamCommonResponseDto iamCommonResponseDto = new IamCommonResponseDto();
|
||||||
|
iamCommonResponseDto.setBimRequestId(userAcceptDto.getBimRequestId());
|
||||||
|
iamCommonResponseDto.setResultCode(DockingConstant.IAM_SUCCESS_RESULT_CODE);
|
||||||
|
iamCommonResponseDto.setMessage(DockingConstant.IAM_SUCCESS_MESSAGE);
|
||||||
|
|
||||||
|
return iamCommonResponseDto;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 转换Iam传来的组织数据,进行转换后存储
|
||||||
|
* @param orgAcceptDto
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public IamOrgCreateResponse orgCreateService(IamOrgAcceptDto orgAcceptDto){
|
||||||
|
if (orgAcceptDto == null || StrUtil.isEmpty(orgAcceptDto.getSrmsOrgCode())){
|
||||||
|
throw new IamGlobalException(orgAcceptDto.getBimRequestId(), "机构编码为空,无法进行数据存储");
|
||||||
|
}
|
||||||
|
|
||||||
|
IamOrgCreateResponse iamOrgCreateResponse = new IamOrgCreateResponse();
|
||||||
|
iamOrgCreateResponse.setBimRequestId(orgAcceptDto.getBimRequestId());
|
||||||
|
iamOrgCreateResponse.setResultCode(DockingConstant.IAM_SUCCESS_RESULT_CODE);
|
||||||
|
iamOrgCreateResponse.setMessage(DockingConstant.IAM_SUCCESS_MESSAGE);
|
||||||
|
|
||||||
|
// 将iam的数据转换成sysDepart数据存入数据库
|
||||||
|
SysDepart sysDepart = new SysDepart();
|
||||||
|
sysDepart.setId(orgAcceptDto.getSrmsOrgCode());
|
||||||
|
sysDepart.setParentId(orgAcceptDto.getSrmsParentCode());
|
||||||
|
sysDepart.setDepartName(orgAcceptDto.getSrmsDepartName());
|
||||||
|
sysDepart.setDepartOrder(100); // 接入数据无排序,都设置为100
|
||||||
|
|
||||||
|
// 1为单位,2为部门,转映射到 本系统内的数据 1公司,2组织机构,映射关系一致。如下代码是为了后续修改方便
|
||||||
|
if ("1".equals(orgAcceptDto.getSrmsOrgCategory())){
|
||||||
|
sysDepart.setOrgCategory("1");
|
||||||
|
} else {
|
||||||
|
sysDepart.setOrgCategory("2");
|
||||||
|
}
|
||||||
|
|
||||||
|
sysDepart.setOrgType(orgAcceptDto.getSrmsType());
|
||||||
|
sysDepart.setOrgCode(orgAcceptDto.getSrmsOrgCode());
|
||||||
|
sysDepart.setStatus(CommonConstant.STATUS_1);
|
||||||
|
sysDepart.setDelFlag(String.valueOf(CommonConstant.DEL_FLAG_0));
|
||||||
|
sysDepart.setCreateBy(DockingConstant.IAM_SYSTEM_NAME);
|
||||||
|
if (StrUtil.isNotEmpty(orgAcceptDto.getSrmsCreateTime())){
|
||||||
|
Date createTime = DateUtils.str2Date(orgAcceptDto.getSrmsCreateTime(), new SimpleDateFormat("YYYY-MM-dd HH:mm:ss"));
|
||||||
|
sysDepart.setCreateTime(createTime);
|
||||||
|
}
|
||||||
|
|
||||||
|
sysDepart.setUpdateBy(DockingConstant.IAM_SYSTEM_NAME);
|
||||||
|
if (StrUtil.isNotEmpty(orgAcceptDto.getSrmsUpdateTime())){
|
||||||
|
Date updateTime = DateUtils.str2Date(orgAcceptDto.getSrmsUpdateTime(), new SimpleDateFormat("YYYY-MM-dd HH:mm:ss"));
|
||||||
|
sysDepart.setCreateTime(updateTime);
|
||||||
|
}
|
||||||
|
|
||||||
|
sysDepart.setCompany(orgAcceptDto.getSrmsCompany());
|
||||||
|
sysDepart.setHeadOfDepartment(orgAcceptDto.getSrmsHeadOfDepartment());
|
||||||
|
sysDepart.setLeadersInCharge(orgAcceptDto.getSrmsLeadersInCharge());
|
||||||
|
sysDepart.setDeputyLeader(orgAcceptDto.getSrmsDeputyLeader());
|
||||||
|
|
||||||
|
// 存储到组织机构表中
|
||||||
|
this.sysDepartService.save(sysDepart);
|
||||||
|
|
||||||
|
iamOrgCreateResponse.setOrgId(sysDepart.getId());
|
||||||
|
|
||||||
|
return iamOrgCreateResponse;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 处理统一响应PO层,并加密业务字段
|
* 处理统一响应PO层,并加密业务字段
|
||||||
* @param acceptMessageHeader
|
* @param acceptMessageHeader
|
||||||
|
|||||||
Reference in New Issue
Block a user