【添加】添加组织机构添加接口逻辑
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.IamUserAcceptDto;
|
||||
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.IamUserCreateResponse;
|
||||
import com.jero.modules.docking.iam.exception.IamGlobalException;
|
||||
@@ -151,8 +152,30 @@ public class SyncIamController {
|
||||
}
|
||||
|
||||
@PostMapping({"/OrgCreateService"})
|
||||
public SendPoSystemPo orgCreateService(@RequestBody AcceptPoSystemPo<IamOrgAcceptDto> iamOrgInfo) {
|
||||
SendPoSystemPo sendPoSystemPo = new SendPoSystemPo();
|
||||
public SendPoSystemPo orgCreateService(@RequestBody AcceptPoSystemPo<IamOrgAcceptDto> iamOrgInfo) throws JsonProcessingException {
|
||||
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;
|
||||
}
|
||||
|
||||
+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.IamOrgAcceptDto;
|
||||
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.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.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.SysUser;
|
||||
import com.jero.modules.system.service.ISysDepartService;
|
||||
import com.jero.modules.system.service.ISysUserService;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
@@ -57,6 +56,9 @@ public class SyncIamService {
|
||||
@Resource
|
||||
private ISysUserService sysUserService;
|
||||
|
||||
@Resource
|
||||
private ISysDepartService sysDepartService;
|
||||
|
||||
/**
|
||||
* 校验IAM调用时的账号密码是否正确
|
||||
* 校验通过了正常走后续,不通过直接返回
|
||||
@@ -161,8 +163,8 @@ public class SyncIamService {
|
||||
}
|
||||
|
||||
sysUser.setTelephone(userAcceptDto.getSrmsOfficePhone());
|
||||
sysUser.setCreateBy("IAM");
|
||||
sysUser.setUpdateBy("IAM");
|
||||
sysUser.setCreateBy(DockingConstant.IAM_SYSTEM_NAME);
|
||||
sysUser.setUpdateBy(DockingConstant.IAM_SYSTEM_NAME);
|
||||
if (StrUtil.isNotEmpty(userAcceptDto.getSrmsCreateTime())){
|
||||
Date createTime = DateUtils.str2Date(userAcceptDto.getSrmsCreateTime(), new SimpleDateFormat("YYYY-MM-dd HH:mm:ss"));
|
||||
sysUser.setCreateTime(createTime);
|
||||
@@ -204,33 +206,13 @@ public class SyncIamService {
|
||||
// 存储到用户表中
|
||||
this.sysUserService.saveUser(sysUser, selectedRoles, selectedDeparts);
|
||||
|
||||
iamUserCreateResponse.setUid(sysUser.getId()); // TODO sysUser处理完毕得到用户id后,设置
|
||||
iamUserCreateResponse.setUid(sysUser.getId());
|
||||
|
||||
return iamUserCreateResponse;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据传过来看的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;
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除用户
|
||||
*根据传过来看的bimUid标识用户的唯一id,取出后修改新传递的字符串
|
||||
* @param userAcceptDto
|
||||
* @return
|
||||
*/
|
||||
@@ -276,7 +258,7 @@ public class SyncIamService {
|
||||
sysUser.setTelephone(userAcceptDto.getSrmsOfficePhone());
|
||||
}
|
||||
|
||||
sysUser.setUpdateBy("IAM");
|
||||
sysUser.setUpdateBy(DockingConstant.IAM_SYSTEM_NAME);
|
||||
|
||||
if (StrUtil.isNotEmpty(userAcceptDto.getSrmsUpdateTime())){
|
||||
Date updateTime = DateUtils.str2Date(userAcceptDto.getSrmsUpdateTime(), new SimpleDateFormat("YYYY-MM-dd HH:mm:ss"));
|
||||
@@ -379,6 +361,84 @@ public class SyncIamService {
|
||||
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层,并加密业务字段
|
||||
* @param acceptMessageHeader
|
||||
|
||||
Reference in New Issue
Block a user