Merge remote-tracking branch 'origin/master'
This commit is contained in:
+1
-4
@@ -100,10 +100,7 @@ public class SysGroupController {
|
|||||||
@GetMapping("/list")
|
@GetMapping("/list")
|
||||||
@ApiOperation(value = "分组管理-列表查询", notes = "分组管理-列表查询")
|
@ApiOperation(value = "分组管理-列表查询", notes = "分组管理-列表查询")
|
||||||
public Result<Object> list() {
|
public Result<Object> list() {
|
||||||
LambdaQueryWrapper<SysGroup> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
List<SysGroup> list = sysGroupService.queryList();
|
||||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
|
||||||
lambdaQueryWrapper.eq(SysGroup::getCreateBy, loginUser.getUsername());
|
|
||||||
List<SysGroup> list = sysGroupService.list(lambdaQueryWrapper);
|
|
||||||
return Result.OK(list);
|
return Result.OK(list);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -271,6 +271,24 @@ public class SysUser implements Serializable {
|
|||||||
private String source;
|
private String source;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 入职时间
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "入职时间")
|
||||||
|
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
|
||||||
|
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||||
|
private Date entryTime;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 离职时间
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "离职时间")
|
||||||
|
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
|
||||||
|
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||||
|
private Date resignationTime;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 拼接真实姓名和工号形成唯一的用户信息可用户查看
|
* 拼接真实姓名和工号形成唯一的用户信息可用户查看
|
||||||
* 不能用get开头,否则会造成初始化queryWrapper的bug
|
* 不能用get开头,否则会造成初始化queryWrapper的bug
|
||||||
|
|||||||
@@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
|||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.jero.modules.system.entity.SysGroup;
|
import com.jero.modules.system.entity.SysGroup;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
* 用户分组表 Mapper 接口
|
* 用户分组表 Mapper 接口
|
||||||
@@ -18,4 +20,6 @@ public interface SysGroupMapper extends BaseMapper<SysGroup> {
|
|||||||
IPage<SysGroup> queryPageList(Page<SysGroup> page,SysGroup sysGroup);
|
IPage<SysGroup> queryPageList(Page<SysGroup> page,SysGroup sysGroup);
|
||||||
|
|
||||||
SysGroup queryOne(String id);
|
SysGroup queryOne(String id);
|
||||||
|
|
||||||
|
List<SysGroup> queryList(SysGroup sysGroup);
|
||||||
}
|
}
|
||||||
|
|||||||
+22
-2
@@ -10,7 +10,11 @@
|
|||||||
sg.create_time,
|
sg.create_time,
|
||||||
count(sug.id) as count,
|
count(sug.id) as count,
|
||||||
GROUP_CONCAT(sug.user_id) as ids,
|
GROUP_CONCAT(sug.user_id) as ids,
|
||||||
GROUP_CONCAT(CONCAT(su.realname, '(', su.username, ')') ORDER BY su.realname, su.username) as userNames
|
GROUP_CONCAT(CONCAT(su.realname, '(', su.username, ')') ORDER BY su.realname, su.username) as userNames,
|
||||||
|
CASE
|
||||||
|
WHEN sg.create_by = #{sysGroup.currentUserName} THEN 1
|
||||||
|
ELSE 0
|
||||||
|
END as is_admin_created
|
||||||
from sys_group sg
|
from sys_group sg
|
||||||
LEFT JOIN sys_user_group sug on sg.id = sug.group_id
|
LEFT JOIN sys_user_group sug on sg.id = sug.group_id
|
||||||
LEFT JOIN sys_user su on sug.user_id = su.id
|
LEFT JOIN sys_user su on sug.user_id = su.id
|
||||||
@@ -33,7 +37,7 @@
|
|||||||
</if>
|
</if>
|
||||||
</where>
|
</where>
|
||||||
group by sg.id,sg.group_name
|
group by sg.id,sg.group_name
|
||||||
order by sg.create_time desc
|
order by is_admin_created desc, sg.create_time desc
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="queryOne" resultType="com.jero.modules.system.entity.SysGroup">
|
<select id="queryOne" resultType="com.jero.modules.system.entity.SysGroup">
|
||||||
@@ -50,4 +54,20 @@
|
|||||||
LEFT JOIN sys_user su on sug.user_id = su.id
|
LEFT JOIN sys_user su on sug.user_id = su.id
|
||||||
where sg.id = #{id}
|
where sg.id = #{id}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="queryList" resultType="com.jero.modules.system.entity.SysGroup">
|
||||||
|
select
|
||||||
|
sg.*,
|
||||||
|
CASE
|
||||||
|
WHEN sg.create_by = #{currentUserName} THEN 1
|
||||||
|
ELSE 0
|
||||||
|
END as is_admin_created
|
||||||
|
from sys_group sg
|
||||||
|
<where>
|
||||||
|
<if test="isAdmin != 1">
|
||||||
|
sg.create_by = #{currentUserName}
|
||||||
|
</if>
|
||||||
|
</where>
|
||||||
|
order by is_admin_created desc, sg.create_time desc
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
|
|||||||
import com.jero.common.api.vo.Result;
|
import com.jero.common.api.vo.Result;
|
||||||
import com.jero.modules.system.entity.SysGroup;
|
import com.jero.modules.system.entity.SysGroup;
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
@@ -26,4 +27,7 @@ public interface ISysGroupService extends IService<SysGroup> {
|
|||||||
IPage<SysGroup> queryPageList(SysGroup sysGroup, Integer pageNo, Integer pageSize, HttpServletRequest req);
|
IPage<SysGroup> queryPageList(SysGroup sysGroup, Integer pageNo, Integer pageSize, HttpServletRequest req);
|
||||||
|
|
||||||
SysGroup queryOne(String id);
|
SysGroup queryOne(String id);
|
||||||
|
|
||||||
|
List<SysGroup> queryList();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+12
@@ -128,4 +128,16 @@ public class SysGroupServiceImpl extends ServiceImpl<SysGroupMapper, SysGroup> i
|
|||||||
return Result.OK("操作成功");
|
return Result.OK("操作成功");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<SysGroup> queryList() {
|
||||||
|
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||||
|
SysGroup sysGroup = new SysGroup();
|
||||||
|
if (loginUser.getRoleIds().contains("admin") || loginUser.getRoleIds().contains("superAdmin")){
|
||||||
|
sysGroup.setIsAdmin("1");
|
||||||
|
}else {
|
||||||
|
sysGroup.setIsAdmin("0");
|
||||||
|
}
|
||||||
|
sysGroup.setCurrentUserName(loginUser.getUsername());
|
||||||
|
return sysGroupMapper.queryList(sysGroup);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+4
@@ -779,6 +779,10 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|||||||
lambdaUpdateWrapper.set(SysUser::getCreateBy,user.getCreateBy());
|
lambdaUpdateWrapper.set(SysUser::getCreateBy,user.getCreateBy());
|
||||||
lambdaUpdateWrapper.set(SysUser::getUpdateTime,user.getUpdateTime());
|
lambdaUpdateWrapper.set(SysUser::getUpdateTime,user.getUpdateTime());
|
||||||
lambdaUpdateWrapper.set(SysUser::getUpdateBy,user.getUpdateBy());
|
lambdaUpdateWrapper.set(SysUser::getUpdateBy,user.getUpdateBy());
|
||||||
|
lambdaUpdateWrapper.set(SysUser::getBirthday,user.getBirthday());
|
||||||
|
lambdaUpdateWrapper.set(SysUser::getEntryTime,user.getEntryTime());
|
||||||
|
lambdaUpdateWrapper.set(SysUser::getResignationTime,user.getResignationTime());
|
||||||
|
lambdaUpdateWrapper.set(SysUser::getFeishuId,user.getFeishuId());
|
||||||
update(lambdaUpdateWrapper);
|
update(lambdaUpdateWrapper);
|
||||||
|
|
||||||
// this.updateById(user);
|
// this.updateById(user);
|
||||||
|
|||||||
Binary file not shown.
@@ -34,6 +34,13 @@
|
|||||||
<groupId>org.springframework</groupId>
|
<groupId>org.springframework</groupId>
|
||||||
<artifactId>spring-webflux</artifactId>
|
<artifactId>spring-webflux</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.banboocloud.codec</groupId>
|
||||||
|
<artifactId>bamboocloud_Codec</artifactId>
|
||||||
|
<version>0.0.3</version>
|
||||||
|
<scope>system</scope>
|
||||||
|
<systemPath>${project.basedir}/lib/bamboocloud_Codec-0.0.3.jar</systemPath>
|
||||||
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
</project>
|
</project>
|
||||||
|
|||||||
+28
-20
@@ -256,30 +256,25 @@ public class FeiShuDockingServiceImpl implements IFeiShuDockingService {
|
|||||||
logMessage(JSON.toJSONString(instanceDto), instanceDto.getTitle(), jsonResponse, "/feishu/synchronizeApprovalInstance", Constant.FEISHU_PENDING);
|
logMessage(JSON.toJSONString(instanceDto), instanceDto.getTitle(), jsonResponse, "/feishu/synchronizeApprovalInstance", Constant.FEISHU_PENDING);
|
||||||
// 使用审批机器人推送消息
|
// 使用审批机器人推送消息
|
||||||
String taskStatus = instanceDto.getTaskStatus();
|
String taskStatus = instanceDto.getTaskStatus();
|
||||||
String taskIds = instanceDto.getTaskIds();
|
|
||||||
LambdaQueryWrapper<ProcessApprovalRecord> lambdaQueryWrapper = new LambdaQueryWrapper();
|
LambdaQueryWrapper<ProcessApprovalRecord> lambdaQueryWrapper = new LambdaQueryWrapper();
|
||||||
lambdaQueryWrapper.eq(ProcessApprovalRecord::getTaskId,taskIds);
|
lambdaQueryWrapper.eq(ProcessApprovalRecord::getTaskId, instanceDto.getTaskIds()).or()
|
||||||
|
.eq(ProcessApprovalRecord::getTransferTaskId, instanceDto.getTaskIds());
|
||||||
ProcessApprovalRecord processApprovalRecord = processApprovalRecordService.getOne(lambdaQueryWrapper, false);
|
ProcessApprovalRecord processApprovalRecord = processApprovalRecordService.getOne(lambdaQueryWrapper, false);
|
||||||
String feishuMsgId = processApprovalRecord.getFeishuMsgId();
|
String feishuMsgId = processApprovalRecord.getFeishuMsgId();
|
||||||
if (StringUtils.isBlank(feishuMsgId)) {
|
if (StringUtils.isBlank(feishuMsgId) || instanceDto.getTaskIds().contains("_")) {
|
||||||
// 如果该条审核记录没有飞书消息id,证明是同步待办
|
// 飞书消息为空或者是转办的情况下,都需要进行待办消息的推送
|
||||||
BotApprovalMessageDto botApprovalMessageDto = new BotApprovalMessageDto();
|
if ("PENDING".equals(instanceDto.getTaskStatus())) {
|
||||||
botApprovalMessageDto.setTemplateId("1008");
|
BotApprovalMessageDto botApprovalMessageDto = buildBotApprovalMessageDto(instanceDto, approvalsInstanceVo);
|
||||||
botApprovalMessageDto.setApprovalName(instanceDto.getTitle());
|
String msgId = sendApprovalMessageByBot(botApprovalMessageDto);
|
||||||
botApprovalMessageDto.setReceivedUserId(approvalsInstanceVo.getTask_list().get(0).getUser_id());
|
// 将msgId存入审核记录表
|
||||||
botApprovalMessageDto.setApplicantUserId(approvalsInstanceVo.getUser_id());
|
LambdaUpdateWrapper<ProcessApprovalRecord> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
|
||||||
botApprovalMessageDto.setTitleUserId(approvalsInstanceVo.getUser_id());
|
lambdaUpdateWrapper.eq(ProcessApprovalRecord::getTaskId, instanceDto.getTaskIds()).or()
|
||||||
botApprovalMessageDto.setContent1(instanceDto.getTitle());
|
.eq(ProcessApprovalRecord::getTransferTaskId, instanceDto.getTaskIds());
|
||||||
botApprovalMessageDto.setPcUrl(approvalsInstanceVo.getTask_list().get(0).getLinks().getPc_link());
|
lambdaUpdateWrapper.set(ProcessApprovalRecord::getFeishuMsgId,msgId);
|
||||||
botApprovalMessageDto.setMobileUrl(approvalsInstanceVo.getTask_list().get(0).getLinks().getMobile_link());
|
processApprovalRecordService.update(lambdaUpdateWrapper);
|
||||||
String msgId = sendApprovalMessageByBot(botApprovalMessageDto);
|
}
|
||||||
// 将msgId存入审核记录表
|
|
||||||
LambdaUpdateWrapper<ProcessApprovalRecord> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
|
|
||||||
lambdaUpdateWrapper.eq(ProcessApprovalRecord::getTaskId,instanceDto.getTaskIds());
|
|
||||||
lambdaUpdateWrapper.set(ProcessApprovalRecord::getFeishuMsgId,msgId);
|
|
||||||
processApprovalRecordService.update(lambdaUpdateWrapper);
|
|
||||||
}else {
|
}else {
|
||||||
// 如果该条审核记录有飞书id ,说明是同步已办
|
// 如果该条审核记录有飞书id ,说明是同步已办,进行审核消息状态的更新
|
||||||
ApprovalsUpdateMessageVo approvalsUpdateMessageVo = new ApprovalsUpdateMessageVo();
|
ApprovalsUpdateMessageVo approvalsUpdateMessageVo = new ApprovalsUpdateMessageVo();
|
||||||
approvalsUpdateMessageVo.setMessage_id(feishuMsgId);
|
approvalsUpdateMessageVo.setMessage_id(feishuMsgId);
|
||||||
approvalsUpdateMessageVo.setStatus(taskStatus);
|
approvalsUpdateMessageVo.setStatus(taskStatus);
|
||||||
@@ -291,6 +286,19 @@ public class FeiShuDockingServiceImpl implements IFeiShuDockingService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private BotApprovalMessageDto buildBotApprovalMessageDto(InstanceDto instanceDto, ApprovalsInstanceVo approvalsInstanceVo) {
|
||||||
|
BotApprovalMessageDto botApprovalMessageDto = new BotApprovalMessageDto();
|
||||||
|
botApprovalMessageDto.setTemplateId("1008");
|
||||||
|
botApprovalMessageDto.setApprovalName(instanceDto.getTitle());
|
||||||
|
botApprovalMessageDto.setReceivedUserId(approvalsInstanceVo.getTask_list().get(0).getUser_id());
|
||||||
|
botApprovalMessageDto.setApplicantUserId(approvalsInstanceVo.getUser_id());
|
||||||
|
botApprovalMessageDto.setTitleUserId(approvalsInstanceVo.getUser_id());
|
||||||
|
botApprovalMessageDto.setContent1(instanceDto.getTitle());
|
||||||
|
botApprovalMessageDto.setPcUrl(approvalsInstanceVo.getTask_list().get(0).getLinks().getPc_link());
|
||||||
|
botApprovalMessageDto.setMobileUrl(approvalsInstanceVo.getTask_list().get(0).getLinks().getMobile_link());
|
||||||
|
return botApprovalMessageDto;
|
||||||
|
}
|
||||||
|
|
||||||
private ApprovalsInstanceVo buildApprovalsInstanceVo(InstanceDto instanceDto) throws Exception {
|
private ApprovalsInstanceVo buildApprovalsInstanceVo(InstanceDto instanceDto) throws Exception {
|
||||||
// 转换userId为飞书Id
|
// 转换userId为飞书Id
|
||||||
// 发起人的id
|
// 发起人的id
|
||||||
|
|||||||
+288
-104
@@ -1,12 +1,16 @@
|
|||||||
package com.jero.modules.docking.iam.client;
|
package com.jero.modules.docking.iam.client;
|
||||||
|
|
||||||
import cn.hutool.http.HttpUtil;
|
import cn.hutool.http.HttpUtil;
|
||||||
import com.bamboocloud.codec.BamboocloudFacade;
|
import com.alibaba.fastjson.JSON;
|
||||||
|
import com.banboocloud.Codec.BamboocloudFacade;
|
||||||
|
import com.banboocloud.Codec.Sm3Signature;
|
||||||
|
import com.banboocloud.Codec.Sm4Cipher;
|
||||||
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.util.DateUtils;
|
import com.jero.common.util.DateUtils;
|
||||||
import com.jero.common.util.UUIDGenerator;
|
import com.jero.common.util.UUIDGenerator;
|
||||||
import com.jero.common.util.UUIDUtils;
|
import com.jero.common.util.UUIDUtils;
|
||||||
|
import com.jero.modules.docking.utils.BamboocloudCheryUtils;
|
||||||
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;
|
||||||
@@ -15,45 +19,54 @@ import com.jero.modules.docking.iam.po.MessageHeader;
|
|||||||
import com.jero.modules.docking.iam.po.encrypt.MessageEncryptTabels;
|
import com.jero.modules.docking.iam.po.encrypt.MessageEncryptTabels;
|
||||||
import com.jero.modules.docking.iam.po.encrypt.MessageEncryptTabelsHeader;
|
import com.jero.modules.docking.iam.po.encrypt.MessageEncryptTabelsHeader;
|
||||||
import com.jero.modules.docking.iam.po.encrypt.SendPoEncryptPo;
|
import com.jero.modules.docking.iam.po.encrypt.SendPoEncryptPo;
|
||||||
import com.jero.modules.docking.utils.BamboocloudUtils;
|
|
||||||
import com.jero.modules.docking.utils.DockingConstant;
|
import com.jero.modules.docking.utils.DockingConstant;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
|
import java.lang.reflect.Field;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Objects;
|
||||||
|
import java.util.TreeMap;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 测试接口是否正确的客户端,mock IAM发送请求
|
* 测试接口是否正确的客户端,mock IAM发送请求
|
||||||
*/
|
*/
|
||||||
public class TestClient {
|
public class TestClient {
|
||||||
|
|
||||||
|
//SM4
|
||||||
|
private String key = "JLB6L6MJVIT5Z7IL";
|
||||||
|
private String type = "SM4";
|
||||||
|
|
||||||
public static void main(String[] args) throws JsonProcessingException {
|
public static void main(String[] args) throws JsonProcessingException {
|
||||||
TestClient testClient = new TestClient();
|
TestClient testClient = new TestClient();
|
||||||
// testClient.sendSchemaService(); // 字段映射接口测试
|
// testClient.sendSchemaService(); // 字段映射接口测试
|
||||||
// for (int i = 0; i < 1; i++) {
|
// for (int i = 1; i < 2; i++) {
|
||||||
// System.out.println(i);
|
// System.out.println(i);
|
||||||
// testClient.sendUserCreate(i);
|
// testClient.sendUserCreate(i);
|
||||||
// }
|
// }
|
||||||
// 创建用户接口测试
|
// 创建用户接口测试
|
||||||
// testClient.sendUserUpdate(); // 更新用户接口测试
|
// testClient.sendUserUpdate(); // 更新用户接口测试
|
||||||
|
// testClient.sendUserDel(); // 更新用户接口测试
|
||||||
// testClient.sendOrgCreate(); // 组织创建接口测试
|
// testClient.sendOrgCreate(); // 组织创建接口测试
|
||||||
|
// testClient.sendOrgUpdate(); // 组织修改接口测试
|
||||||
|
// testClient.sendOrgDel(); // 组织删除接口测试
|
||||||
// testClient.sendQueryAllUserIdsService(); // 查询所有用户ID接口测试
|
// testClient.sendQueryAllUserIdsService(); // 查询所有用户ID接口测试
|
||||||
// testClient.sendQueryAllOrgIdsService(); // 查询所有组织ID接口测试
|
// testClient.sendQueryAllOrgIdsService(); // 查询所有组织ID接口测试
|
||||||
// testClient.sendQueryOrgByIdService(); // 查询指定id的组织数据测试
|
// testClient.sendQueryOrgByIdService(); // 查询指定id的组织数据测试
|
||||||
// testClient.sendQueryUserByIdService(); // 查询指定id的用户数据测试
|
testClient.sendQueryUserByIdService(); // 查询指定id的用户数据测试
|
||||||
testClient.decryptSting("8rAKWPUwkEZ3yYLy/1TuGGkIGCYtc+MD56pShLi97OmMttoFooo5GXZ/lY4NrQ5DiWmVUX23zqDwyQqufXLZNDU+KuJO/9UonpqUlZxM91w=");
|
// testClient.decryptSting("8rAKWPUwkEZ3yYLy/1TuGGkIGCYtc+MD56pShLi97OmMttoFooo5GXZ/lY4NrQ5DiWmVUX23zqDwyQqufXLZNDU+KuJO/9UonpqUlZxM91w=");
|
||||||
}
|
}
|
||||||
|
|
||||||
private void decryptSting(String encryptString) {
|
private void decryptSting(String encryptString) {
|
||||||
String decrypt = BamboocloudUtils.getPlaintext(encryptString, DockingConstant.IAM_ENCRYPT_SECRET, DockingConstant.IAM_ENCRYPT_TYPE);
|
String decrypt = BamboocloudCheryUtils.getPlaintext(encryptString, key, type);
|
||||||
System.out.println("解密后数据:" + decrypt);
|
System.out.println("解密后数据:" + decrypt);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 对数据解密
|
// 对数据解密
|
||||||
private void decryptData(String encryptData) throws JsonProcessingException {
|
private void decryptData(String encryptData) throws JsonProcessingException {
|
||||||
ObjectMapper objectMapper = new ObjectMapper();
|
String res = BamboocloudFacade.decrypt(encryptData, key, type);
|
||||||
SendPoEncryptPo sendPoEncryptPo = objectMapper.readValue(encryptData, SendPoEncryptPo.class);
|
System.out.println("解密后数据:" + res);
|
||||||
String decrypt = BamboocloudUtils.getPlaintext(sendPoEncryptPo.getReturns().getData(), DockingConstant.IAM_ENCRYPT_SECRET, DockingConstant.IAM_ENCRYPT_TYPE);
|
|
||||||
|
|
||||||
System.out.println("解密后数据:" + decrypt);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -89,24 +102,54 @@ public class TestClient {
|
|||||||
/**
|
/**
|
||||||
* Schema映射获取
|
* Schema映射获取
|
||||||
*/
|
*/
|
||||||
private void sendSchemaService() throws JsonProcessingException {
|
private void sendSchemaService() {
|
||||||
String url = "http://localhost:8184/laws-sinotruk/sync/iam/UserCreateService";
|
String url = "http://localhost:8188/laws-chery/sync/iam/chery/SchemaService";
|
||||||
|
|
||||||
IamCommonAcceptDto iamCommonAcceptDto = new IamCommonAcceptDto();
|
IamCommonAcceptDto iamCommonAcceptDto = new IamCommonAcceptDto();
|
||||||
iamCommonAcceptDto.setBimRequestId(UUIDUtils.randomUUID20());
|
iamCommonAcceptDto.setBimRequestId(UUIDUtils.randomUUID20());
|
||||||
iamCommonAcceptDto.setBimRemoteUser("srmsIam");
|
iamCommonAcceptDto.setBimRemoteUser("srmsIam");
|
||||||
iamCommonAcceptDto.setBimRemotePwd("srmsIam2023");
|
iamCommonAcceptDto.setBimRemotePwd("srmsIam2023");
|
||||||
|
|
||||||
// 加密数据
|
StringBuilder sb = getStringBuilder(iamCommonAcceptDto);
|
||||||
ObjectMapper objectMapper = new ObjectMapper();
|
|
||||||
String sendData = objectMapper.writeValueAsString(iamCommonAcceptDto);
|
|
||||||
String encryptData = BamboocloudFacade.encrypt(sendData, DockingConstant.IAM_ENCRYPT_SECRET, DockingConstant.IAM_ENCRYPT_TYPE);
|
|
||||||
|
|
||||||
AcceptEncryptPo sendPoDataEntity = handlerPoPackage(encryptData);
|
System.out.println("签名前:" + sb.toString());
|
||||||
String sendPoDataJson = objectMapper.writeValueAsString(sendPoDataEntity);
|
//sm3签名
|
||||||
|
Sm3Signature signature = new Sm3Signature();
|
||||||
|
String signatureStr = signature.signature(sb.toString());
|
||||||
|
System.out.println("签名后:" + signatureStr);
|
||||||
|
iamCommonAcceptDto.setSignature(signatureStr);
|
||||||
|
|
||||||
String response = HttpUtil.post(url, sendPoDataJson);
|
//sm4加解密
|
||||||
|
Sm4Cipher sm4Cipher = new Sm4Cipher();
|
||||||
|
String source = JSON.toJSONString(iamCommonAcceptDto);
|
||||||
|
String target = sm4Cipher.encrypt(source, key);
|
||||||
|
//输出密文
|
||||||
|
System.out.println("加密:" + target);
|
||||||
|
//输出解密
|
||||||
|
System.out.println("解密:" + sm4Cipher.decrypt(target,key));
|
||||||
|
String response = HttpUtil.post(url, target);
|
||||||
System.out.println("映射接口响应:" + response);
|
System.out.println("映射接口响应:" + response);
|
||||||
|
String res = BamboocloudFacade.decrypt(response, key, type);
|
||||||
|
System.out.println("映射接口响应解密:" + res);
|
||||||
|
}
|
||||||
|
|
||||||
|
@NotNull
|
||||||
|
private StringBuilder getStringBuilder(IamCommonAcceptDto iamCommonAcceptDto) {
|
||||||
|
Map<String,Object> reqMap = (Map<String,Object>) JSON.parse(JSON.toJSONString(iamCommonAcceptDto));
|
||||||
|
|
||||||
|
Map<String, Object> verifymap = new TreeMap<>();
|
||||||
|
StringBuilder sb = new StringBuilder();
|
||||||
|
for (String key : reqMap.keySet()) {
|
||||||
|
verifymap.put(key, reqMap.get(key));
|
||||||
|
}
|
||||||
|
for (String key : verifymap.keySet()) {
|
||||||
|
if (!"signature".equals(key)) {
|
||||||
|
sb.append(key).append("=").append(verifymap.get(key)).append("&");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
sb.deleteCharAt(sb.length() - 1);
|
||||||
|
System.out.println(reqMap.get("signature") + " now " + sb.toString());
|
||||||
|
return sb;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -115,41 +158,43 @@ public class TestClient {
|
|||||||
private void sendUserCreate(int i) throws JsonProcessingException {
|
private void sendUserCreate(int i) throws JsonProcessingException {
|
||||||
// 封装 IamUserAcceptDto 为用户数据层
|
// 封装 IamUserAcceptDto 为用户数据层
|
||||||
IamUserAcceptDto iamUserAcceptDto = new IamUserAcceptDto();
|
IamUserAcceptDto iamUserAcceptDto = new IamUserAcceptDto();
|
||||||
iamUserAcceptDto.setSrmsCompanyCode("123");
|
|
||||||
iamUserAcceptDto.setSrmsOrgCode("123/321");
|
iamUserAcceptDto.setSrmsOrgCode("123/321");
|
||||||
iamUserAcceptDto.setSrmsTypeId("001");
|
iamUserAcceptDto.setSrmsTypeId("001");
|
||||||
iamUserAcceptDto.setSrmsUsername((108088 + i) +"");
|
iamUserAcceptDto.setSrmsUsername((108088 + i) +"");
|
||||||
iamUserAcceptDto.setSrmsRealname("测试" + i);
|
iamUserAcceptDto.setSrmsRealname("测试" + i);
|
||||||
iamUserAcceptDto.setSrmsPassword("1qaz@WSX");
|
|
||||||
iamUserAcceptDto.setSrmsSex("1"); // 男
|
iamUserAcceptDto.setSrmsSex("1"); // 男
|
||||||
iamUserAcceptDto.setSrmsPost("主任");
|
|
||||||
iamUserAcceptDto.setSrmsDutyLevelId("4"); // 主管级,srms不解析,直接存
|
|
||||||
iamUserAcceptDto.setSrmsDirectLeadership("1706939999105900545"); // 直接上级,不清楚应该存什么,暂时存为id(fcc-test)
|
|
||||||
iamUserAcceptDto.setSrmsPostStatus("1"); // 在岗,srms不解析,直接存
|
|
||||||
iamUserAcceptDto.setSrmsStatus("1"); // 1在册,0离职
|
|
||||||
iamUserAcceptDto.setSrmsOfficePhone("022-87648762");
|
|
||||||
iamUserAcceptDto.setSrmsPhone("13811112232");
|
iamUserAcceptDto.setSrmsPhone("13811112232");
|
||||||
iamUserAcceptDto.setSrmsEmail("test@sinotruk.com");
|
iamUserAcceptDto.setSrmsEmail("test@sinotruk.com");
|
||||||
iamUserAcceptDto.setSrmsCreateTime("2023-10-15 10:35:20");
|
iamUserAcceptDto.setEmployeeNo("1111");
|
||||||
|
|
||||||
iamUserAcceptDto.setBimRequestId(UUIDUtils.randomUUID20());
|
iamUserAcceptDto.setBimRequestId(UUIDUtils.randomUUID20());
|
||||||
iamUserAcceptDto.setBimRemoteUser("srmsIam");
|
iamUserAcceptDto.setBimRemoteUser("srmsIam");
|
||||||
iamUserAcceptDto.setBimRemotePwd("srmsIam2023");
|
iamUserAcceptDto.setBimRemotePwd("srmsIam2023");
|
||||||
|
iamUserAcceptDto.setBirthday("2024-05-01");
|
||||||
|
iamUserAcceptDto.setEntryTime("2024-06-01");
|
||||||
|
iamUserAcceptDto.setResignationTime("2024-07-01");
|
||||||
|
|
||||||
// 加密数据
|
StringBuilder sb = getStringBuilder(iamUserAcceptDto);
|
||||||
ObjectMapper objectMapper = new ObjectMapper();
|
|
||||||
String sendData = objectMapper.writeValueAsString(iamUserAcceptDto);
|
System.out.println("签名前:" + sb.toString());
|
||||||
String encryptData = BamboocloudFacade.encrypt(sendData, DockingConstant.IAM_ENCRYPT_SECRET, DockingConstant.IAM_ENCRYPT_TYPE);
|
//sm3签名
|
||||||
|
Sm3Signature signature = new Sm3Signature();
|
||||||
|
String signatureStr = signature.signature(sb.toString());
|
||||||
|
System.out.println("签名后:" + signatureStr);
|
||||||
|
iamUserAcceptDto.setSignature(signatureStr);
|
||||||
|
|
||||||
|
//sm4加解密
|
||||||
|
Sm4Cipher sm4Cipher = new Sm4Cipher();
|
||||||
|
String source = JSON.toJSONString(iamUserAcceptDto);
|
||||||
|
String target = sm4Cipher.encrypt(source, key);
|
||||||
|
|
||||||
// 封装 AcceptPoSystemPo 为PO层套壳
|
|
||||||
AcceptEncryptPo sendPoDataEntity = handlerPoPackage(encryptData);
|
|
||||||
String sendPoDataJson = objectMapper.writeValueAsString(sendPoDataEntity);
|
|
||||||
|
|
||||||
// 发送数据
|
// 发送数据
|
||||||
String url = "http://localhost:8184/laws-sinotruk/sync/iam/UserCreateService";
|
String url = "http://localhost:8188/laws-chery/sync/iam/chery/UserCreateService";
|
||||||
// String url = "laws-test.sinotruk.com/laws-sinotruk/sync/iam/UserCreateService";
|
// String url = "laws-test.sinotruk.com/laws-chery/sync/iam/chery/UserCreateService";
|
||||||
String response = HttpUtil.post(url, sendPoDataJson);
|
String response = HttpUtil.post(url, target);
|
||||||
System.out.println("用户创建接口响应:" + response);
|
System.out.println("用户创建接口响应:" + response);
|
||||||
|
String res = BamboocloudFacade.decrypt(response, key, type);
|
||||||
|
System.out.println("用户创建接口响应解密:" + res);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -158,27 +203,70 @@ public class TestClient {
|
|||||||
private void sendUserUpdate() throws JsonProcessingException {
|
private void sendUserUpdate() throws JsonProcessingException {
|
||||||
// 封装 IamUserAcceptDto 为用户数据层
|
// 封装 IamUserAcceptDto 为用户数据层
|
||||||
IamUserAcceptDto iamUserAcceptDto = new IamUserAcceptDto();
|
IamUserAcceptDto iamUserAcceptDto = new IamUserAcceptDto();
|
||||||
iamUserAcceptDto.setBimUid("1709786346053017601"); // 数据库中取到的ID
|
iamUserAcceptDto.setBimUid("1803973103451799554"); // 数据库中取到的ID
|
||||||
iamUserAcceptDto.setSrmsPost("科长");
|
iamUserAcceptDto.setBirthday("2018-12-05 00:00:00");
|
||||||
iamUserAcceptDto.setSrmsUpdateTime("2023-10-15 10:35:20"); // 测试不发送UpdateTime的情况
|
iamUserAcceptDto.setBirthday("2024-05-01");
|
||||||
|
iamUserAcceptDto.setEntryTime("2024-06-01");
|
||||||
|
iamUserAcceptDto.setResignationTime("2024-07-01");
|
||||||
|
iamUserAcceptDto.setBimRequestId(UUIDUtils.randomUUID20());
|
||||||
|
iamUserAcceptDto.setEmployeeNo("feishuid");
|
||||||
|
iamUserAcceptDto.setBimRemoteUser("srmsIam");
|
||||||
|
iamUserAcceptDto.setBimRemotePwd("srmsIam2023");
|
||||||
|
|
||||||
|
StringBuilder sb = getStringBuilder(iamUserAcceptDto);
|
||||||
|
|
||||||
|
System.out.println("签名前:" + sb.toString());
|
||||||
|
//sm3签名
|
||||||
|
Sm3Signature signature = new Sm3Signature();
|
||||||
|
String signatureStr = signature.signature(sb.toString());
|
||||||
|
System.out.println("签名后:" + signatureStr);
|
||||||
|
iamUserAcceptDto.setSignature(signatureStr);
|
||||||
|
|
||||||
|
//sm4加解密
|
||||||
|
Sm4Cipher sm4Cipher = new Sm4Cipher();
|
||||||
|
String source = JSON.toJSONString(iamUserAcceptDto);
|
||||||
|
String target = sm4Cipher.encrypt(source, key);
|
||||||
|
|
||||||
|
// 发送数据
|
||||||
|
String url = "http://localhost:8188/laws-chery/sync/iam/chery/UserUpdateService";
|
||||||
|
String response = HttpUtil.post(url, target);
|
||||||
|
System.out.println("用户更新接口响应:" + response);
|
||||||
|
String res = BamboocloudFacade.decrypt(response, key, type);
|
||||||
|
System.out.println("用户更新接口响应解密:" + res);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户删除测试
|
||||||
|
*/
|
||||||
|
private void sendUserDel() throws JsonProcessingException {
|
||||||
|
// 封装 IamUserAcceptDto 为用户数据层
|
||||||
|
IamUserAcceptDto iamUserAcceptDto = new IamUserAcceptDto();
|
||||||
|
iamUserAcceptDto.setBimUid("1819982931501633537"); // 数据库中取到的ID
|
||||||
iamUserAcceptDto.setBimRequestId(UUIDUtils.randomUUID20());
|
iamUserAcceptDto.setBimRequestId(UUIDUtils.randomUUID20());
|
||||||
iamUserAcceptDto.setBimRemoteUser("srmsIam");
|
iamUserAcceptDto.setBimRemoteUser("srmsIam");
|
||||||
iamUserAcceptDto.setBimRemotePwd("srmsIam2023");
|
iamUserAcceptDto.setBimRemotePwd("srmsIam2023");
|
||||||
|
|
||||||
// 加密数据
|
StringBuilder sb = getStringBuilder(iamUserAcceptDto);
|
||||||
ObjectMapper objectMapper = new ObjectMapper();
|
|
||||||
String sendData = objectMapper.writeValueAsString(iamUserAcceptDto);
|
|
||||||
String encryptData = BamboocloudFacade.encrypt(sendData, DockingConstant.IAM_ENCRYPT_SECRET, DockingConstant.IAM_ENCRYPT_TYPE);
|
|
||||||
|
|
||||||
// 封装 AcceptPoSystemPo 为PO层套壳
|
System.out.println("签名前:" + sb.toString());
|
||||||
AcceptEncryptPo sendPoDataEntity = handlerPoPackage(encryptData);
|
//sm3签名
|
||||||
String sendPoDataJson = objectMapper.writeValueAsString(sendPoDataEntity);
|
Sm3Signature signature = new Sm3Signature();
|
||||||
|
String signatureStr = signature.signature(sb.toString());
|
||||||
|
System.out.println("签名后:" + signatureStr);
|
||||||
|
iamUserAcceptDto.setSignature(signatureStr);
|
||||||
|
|
||||||
|
//sm4加解密
|
||||||
|
Sm4Cipher sm4Cipher = new Sm4Cipher();
|
||||||
|
String source = JSON.toJSONString(iamUserAcceptDto);
|
||||||
|
String target = sm4Cipher.encrypt(source, key);
|
||||||
|
|
||||||
// 发送数据
|
// 发送数据
|
||||||
String url = "http://localhost:8184/laws-sinotruk/sync/iam/UserUpdateService";
|
String url = "http://localhost:8188/laws-chery/sync/iam/chery/UserDeleteService";
|
||||||
String response = HttpUtil.post(url, sendPoDataJson);
|
String response = HttpUtil.post(url, target);
|
||||||
System.out.println("用户更新接口响应:" + response);
|
System.out.println("用户删除接口响应:" + response);
|
||||||
|
String res = BamboocloudFacade.decrypt(response, key, type);
|
||||||
|
System.out.println("用户删除接口响应解密:" + res);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -188,55 +276,135 @@ public class TestClient {
|
|||||||
// 封装 IamUserAcceptDto 为用户数据层
|
// 封装 IamUserAcceptDto 为用户数据层
|
||||||
IamOrgAcceptDto iamOrgAcceptDto = new IamOrgAcceptDto();
|
IamOrgAcceptDto iamOrgAcceptDto = new IamOrgAcceptDto();
|
||||||
|
|
||||||
iamOrgAcceptDto.setSrmsOrgCode("IA00102");
|
iamOrgAcceptDto.setSrmsOrgCode("IA00104");
|
||||||
iamOrgAcceptDto.setSrmsDepartName("测试IAM部门");
|
iamOrgAcceptDto.setSrmsDepartName("测试IAM部门");
|
||||||
iamOrgAcceptDto.setSrmsParentCode("");
|
iamOrgAcceptDto.setSrmsParentCode("");
|
||||||
iamOrgAcceptDto.setSrmsCompany("测试公司");
|
|
||||||
iamOrgAcceptDto.setSrmsStatus("1");
|
|
||||||
iamOrgAcceptDto.setSrmsCreateTime("2023-10-12 10:35:20");
|
|
||||||
iamOrgAcceptDto.setSrmsType("002");
|
|
||||||
iamOrgAcceptDto.setSrmsOrgCategory("2");
|
|
||||||
|
|
||||||
iamOrgAcceptDto.setBimRequestId(UUIDUtils.randomUUID20());
|
iamOrgAcceptDto.setBimRequestId(UUIDUtils.randomUUID20());
|
||||||
iamOrgAcceptDto.setBimRemoteUser("srmsIam");
|
iamOrgAcceptDto.setBimRemoteUser("srmsIam");
|
||||||
iamOrgAcceptDto.setBimRemotePwd("srmsIam2023");
|
iamOrgAcceptDto.setBimRemotePwd("srmsIam2023");
|
||||||
|
|
||||||
// 加密数据
|
StringBuilder sb = getStringBuilder(iamOrgAcceptDto);
|
||||||
ObjectMapper objectMapper = new ObjectMapper();
|
|
||||||
String sendData = objectMapper.writeValueAsString(iamOrgAcceptDto);
|
|
||||||
String encryptData = BamboocloudFacade.encrypt(sendData, DockingConstant.IAM_ENCRYPT_SECRET, DockingConstant.IAM_ENCRYPT_TYPE);
|
|
||||||
|
|
||||||
// 封装 AcceptPoSystemPo 为PO层套壳
|
System.out.println("签名前:" + sb.toString());
|
||||||
AcceptEncryptPo sendPoDataEntity = handlerPoPackage(encryptData);
|
//sm3签名
|
||||||
String sendPoDataJson = objectMapper.writeValueAsString(sendPoDataEntity);
|
Sm3Signature signature = new Sm3Signature();
|
||||||
|
String signatureStr = signature.signature(sb.toString());
|
||||||
|
System.out.println("签名后:" + signatureStr);
|
||||||
|
iamOrgAcceptDto.setSignature(signatureStr);
|
||||||
|
|
||||||
|
//sm4加解密
|
||||||
|
Sm4Cipher sm4Cipher = new Sm4Cipher();
|
||||||
|
String source = JSON.toJSONString(iamOrgAcceptDto);
|
||||||
|
String target = sm4Cipher.encrypt(source, key);
|
||||||
|
|
||||||
// 发送数据
|
// 发送数据
|
||||||
String url = "http://localhost:8184/laws-sinotruk/sync/iam/OrgCreateService";
|
String url = "http://localhost:8188/laws-chery/sync/iam/chery/OrgCreateService";
|
||||||
String response = HttpUtil.post(url, sendPoDataJson);
|
String response = HttpUtil.post(url, target);
|
||||||
System.out.println("组织创建接口响应:" + response);
|
System.out.println("组织创建接口响应:" + response);
|
||||||
|
String res = BamboocloudFacade.decrypt(response, key, type);
|
||||||
|
System.out.println("组织创建接口响应解密:" + res);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户修改测试
|
||||||
|
*/
|
||||||
|
private void sendOrgUpdate() throws JsonProcessingException {
|
||||||
|
// 封装 IamUserAcceptDto 为用户数据层
|
||||||
|
IamOrgAcceptDto iamOrgAcceptDto = new IamOrgAcceptDto();
|
||||||
|
iamOrgAcceptDto.setBimOrgId("IA00104");
|
||||||
|
iamOrgAcceptDto.setSrmsOrgCode("IA00104");
|
||||||
|
iamOrgAcceptDto.setSrmsDepartName("测试IAM部门1");
|
||||||
|
iamOrgAcceptDto.setSrmsParentCode("");
|
||||||
|
|
||||||
|
iamOrgAcceptDto.setBimRequestId(UUIDUtils.randomUUID20());
|
||||||
|
iamOrgAcceptDto.setBimRemoteUser("srmsIam");
|
||||||
|
iamOrgAcceptDto.setBimRemotePwd("srmsIam2023");
|
||||||
|
|
||||||
|
StringBuilder sb = getStringBuilder(iamOrgAcceptDto);
|
||||||
|
|
||||||
|
System.out.println("签名前:" + sb.toString());
|
||||||
|
//sm3签名
|
||||||
|
Sm3Signature signature = new Sm3Signature();
|
||||||
|
String signatureStr = signature.signature(sb.toString());
|
||||||
|
System.out.println("签名后:" + signatureStr);
|
||||||
|
iamOrgAcceptDto.setSignature(signatureStr);
|
||||||
|
|
||||||
|
//sm4加解密
|
||||||
|
Sm4Cipher sm4Cipher = new Sm4Cipher();
|
||||||
|
String source = JSON.toJSONString(iamOrgAcceptDto);
|
||||||
|
String target = sm4Cipher.encrypt(source, key);
|
||||||
|
|
||||||
|
// 发送数据
|
||||||
|
String url = "http://localhost:8188/laws-chery/sync/iam/chery/OrgUpdateService";
|
||||||
|
String response = HttpUtil.post(url, target);
|
||||||
|
System.out.println("组织修改接口响应:" + response);
|
||||||
|
String res = BamboocloudFacade.decrypt(response, key, type);
|
||||||
|
System.out.println("组织修改接口响应解密:" + res);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户删除测试
|
||||||
|
*/
|
||||||
|
private void sendOrgDel() throws JsonProcessingException {
|
||||||
|
// 封装 IamUserAcceptDto 为用户数据层
|
||||||
|
IamOrgAcceptDto iamOrgAcceptDto = new IamOrgAcceptDto();
|
||||||
|
iamOrgAcceptDto.setBimOrgId("IA00104");
|
||||||
|
|
||||||
|
iamOrgAcceptDto.setBimRequestId(UUIDUtils.randomUUID20());
|
||||||
|
iamOrgAcceptDto.setBimRemoteUser("srmsIam");
|
||||||
|
iamOrgAcceptDto.setBimRemotePwd("srmsIam2023");
|
||||||
|
|
||||||
|
StringBuilder sb = getStringBuilder(iamOrgAcceptDto);
|
||||||
|
|
||||||
|
System.out.println("签名前:" + sb.toString());
|
||||||
|
//sm3签名
|
||||||
|
Sm3Signature signature = new Sm3Signature();
|
||||||
|
String signatureStr = signature.signature(sb.toString());
|
||||||
|
System.out.println("签名后:" + signatureStr);
|
||||||
|
iamOrgAcceptDto.setSignature(signatureStr);
|
||||||
|
|
||||||
|
//sm4加解密
|
||||||
|
Sm4Cipher sm4Cipher = new Sm4Cipher();
|
||||||
|
String source = JSON.toJSONString(iamOrgAcceptDto);
|
||||||
|
String target = sm4Cipher.encrypt(source, key);
|
||||||
|
|
||||||
|
// 发送数据
|
||||||
|
String url = "http://localhost:8188/laws-chery/sync/iam/chery/OrgDeleteService";
|
||||||
|
String response = HttpUtil.post(url, target);
|
||||||
|
System.out.println("组织删除接口响应:" + response);
|
||||||
|
String res = BamboocloudFacade.decrypt(response, key, type);
|
||||||
|
System.out.println("组织删除接口响应解密:" + res);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取全部用户id
|
* 获取全部用户id
|
||||||
*/
|
*/
|
||||||
private void sendQueryAllUserIdsService() throws JsonProcessingException {
|
private void sendQueryAllUserIdsService() throws JsonProcessingException {
|
||||||
String url = "http://localhost:8184/laws-sinotruk/sync/iam/QueryAllUserIdsService";
|
String url = "http://localhost:8188/laws-chery/sync/iam/chery/QueryAllUserIdsService";
|
||||||
|
|
||||||
IamCommonAcceptDto iamCommonAcceptDto = new IamCommonAcceptDto();
|
IamCommonAcceptDto iamCommonAcceptDto = new IamCommonAcceptDto();
|
||||||
iamCommonAcceptDto.setBimRequestId(UUIDUtils.randomUUID20());
|
iamCommonAcceptDto.setBimRequestId(UUIDUtils.randomUUID20());
|
||||||
iamCommonAcceptDto.setBimRemoteUser("srmsIam");
|
iamCommonAcceptDto.setBimRemoteUser("srmsIam");
|
||||||
iamCommonAcceptDto.setBimRemotePwd("srmsIam2023");
|
iamCommonAcceptDto.setBimRemotePwd("srmsIam2023");
|
||||||
|
|
||||||
// 加密数据
|
StringBuilder sb = getStringBuilder(iamCommonAcceptDto);
|
||||||
ObjectMapper objectMapper = new ObjectMapper();
|
|
||||||
String sendData = objectMapper.writeValueAsString(iamCommonAcceptDto);
|
|
||||||
String encryptData = BamboocloudFacade.encrypt(sendData, DockingConstant.IAM_ENCRYPT_SECRET, DockingConstant.IAM_ENCRYPT_TYPE);
|
|
||||||
|
|
||||||
AcceptEncryptPo sendPoDataEntity = handlerPoPackage(encryptData);
|
System.out.println("签名前:" + sb.toString());
|
||||||
String sendPoDataJson = objectMapper.writeValueAsString(sendPoDataEntity);
|
//sm3签名
|
||||||
String response = HttpUtil.post(url, sendPoDataJson);
|
Sm3Signature signature = new Sm3Signature();
|
||||||
|
String signatureStr = signature.signature(sb.toString());
|
||||||
|
System.out.println("签名后:" + signatureStr);
|
||||||
|
iamCommonAcceptDto.setSignature(signatureStr);
|
||||||
|
|
||||||
|
//sm4加解密
|
||||||
|
Sm4Cipher sm4Cipher = new Sm4Cipher();
|
||||||
|
String source = JSON.toJSONString(iamCommonAcceptDto);
|
||||||
|
String target = sm4Cipher.encrypt(source, key);
|
||||||
|
|
||||||
|
String response = HttpUtil.post(url, target);
|
||||||
System.out.println("查询全部用户id接口响应:" + response);
|
System.out.println("查询全部用户id接口响应:" + response);
|
||||||
|
|
||||||
this.decryptData(response);
|
this.decryptData(response);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -244,22 +412,28 @@ public class TestClient {
|
|||||||
* 获取全部组织id
|
* 获取全部组织id
|
||||||
*/
|
*/
|
||||||
private void sendQueryAllOrgIdsService() throws JsonProcessingException {
|
private void sendQueryAllOrgIdsService() throws JsonProcessingException {
|
||||||
String url = "http://localhost:8184/laws-sinotruk/sync/iam/QueryAllOrgIdsService";
|
String url = "http://localhost:8188/laws-chery/sync/iam/chery/QueryAllOrgIdsService";
|
||||||
|
|
||||||
IamCommonAcceptDto iamCommonAcceptDto = new IamCommonAcceptDto();
|
IamCommonAcceptDto iamCommonAcceptDto = new IamCommonAcceptDto();
|
||||||
iamCommonAcceptDto.setBimRequestId(UUIDUtils.randomUUID20());
|
iamCommonAcceptDto.setBimRequestId(UUIDUtils.randomUUID20());
|
||||||
iamCommonAcceptDto.setBimRemoteUser("srmsIam");
|
iamCommonAcceptDto.setBimRemoteUser("srmsIam");
|
||||||
iamCommonAcceptDto.setBimRemotePwd("srmsIam2023");
|
iamCommonAcceptDto.setBimRemotePwd("srmsIam2023");
|
||||||
|
|
||||||
// 加密数据
|
StringBuilder sb = getStringBuilder(iamCommonAcceptDto);
|
||||||
ObjectMapper objectMapper = new ObjectMapper();
|
|
||||||
String sendData = objectMapper.writeValueAsString(iamCommonAcceptDto);
|
|
||||||
String encryptData = BamboocloudFacade.encrypt(sendData, DockingConstant.IAM_ENCRYPT_SECRET, DockingConstant.IAM_ENCRYPT_TYPE);
|
|
||||||
|
|
||||||
AcceptEncryptPo sendPoDataEntity = handlerPoPackage(encryptData);
|
System.out.println("签名前:" + sb.toString());
|
||||||
String sendPoDataJson = objectMapper.writeValueAsString(sendPoDataEntity);
|
//sm3签名
|
||||||
|
Sm3Signature signature = new Sm3Signature();
|
||||||
|
String signatureStr = signature.signature(sb.toString());
|
||||||
|
System.out.println("签名后:" + signatureStr);
|
||||||
|
iamCommonAcceptDto.setSignature(signatureStr);
|
||||||
|
|
||||||
String response = HttpUtil.post(url, sendPoDataJson);
|
//sm4加解密
|
||||||
|
Sm4Cipher sm4Cipher = new Sm4Cipher();
|
||||||
|
String source = JSON.toJSONString(iamCommonAcceptDto);
|
||||||
|
String target = sm4Cipher.encrypt(source, key);
|
||||||
|
|
||||||
|
String response = HttpUtil.post(url, target);
|
||||||
System.out.println("查询全部组织id接口响应:" + response);
|
System.out.println("查询全部组织id接口响应:" + response);
|
||||||
|
|
||||||
this.decryptData(response);
|
this.decryptData(response);
|
||||||
@@ -271,22 +445,27 @@ public class TestClient {
|
|||||||
private void sendQueryUserByIdService() throws JsonProcessingException {
|
private void sendQueryUserByIdService() throws JsonProcessingException {
|
||||||
// 封装 IamUserAcceptDto 为用户数据层
|
// 封装 IamUserAcceptDto 为用户数据层
|
||||||
IamUserAcceptDto iamUserAcceptDto = new IamUserAcceptDto();
|
IamUserAcceptDto iamUserAcceptDto = new IamUserAcceptDto();
|
||||||
iamUserAcceptDto.setBimUid("1709786346053017601"); // 数据库中取到的ID
|
iamUserAcceptDto.setBimUid("1819982931501633537"); // 数据库中取到的ID
|
||||||
iamUserAcceptDto.setBimRemoteUser("srmsIam");
|
iamUserAcceptDto.setBimRemoteUser("srmsIam");
|
||||||
iamUserAcceptDto.setBimRemotePwd("srmsIam2023");
|
iamUserAcceptDto.setBimRemotePwd("srmsIam2023");
|
||||||
|
|
||||||
// 加密数据
|
StringBuilder sb = getStringBuilder(iamUserAcceptDto);
|
||||||
ObjectMapper objectMapper = new ObjectMapper();
|
|
||||||
String sendData = objectMapper.writeValueAsString(iamUserAcceptDto);
|
|
||||||
String encryptData = BamboocloudFacade.encrypt(sendData, DockingConstant.IAM_ENCRYPT_SECRET, DockingConstant.IAM_ENCRYPT_TYPE);
|
|
||||||
|
|
||||||
// 封装 AcceptPoSystemPo 为PO层套壳
|
System.out.println("签名前:" + sb.toString());
|
||||||
AcceptEncryptPo sendPoDataEntity = handlerPoPackage(encryptData);
|
//sm3签名
|
||||||
String sendPoDataJson = objectMapper.writeValueAsString(sendPoDataEntity);
|
Sm3Signature signature = new Sm3Signature();
|
||||||
|
String signatureStr = signature.signature(sb.toString());
|
||||||
|
System.out.println("签名后:" + signatureStr);
|
||||||
|
iamUserAcceptDto.setSignature(signatureStr);
|
||||||
|
|
||||||
|
//sm4加解密
|
||||||
|
Sm4Cipher sm4Cipher = new Sm4Cipher();
|
||||||
|
String source = JSON.toJSONString(iamUserAcceptDto);
|
||||||
|
String target = sm4Cipher.encrypt(source, key);
|
||||||
|
|
||||||
// 发送数据
|
// 发送数据
|
||||||
String url = "http://localhost:8184/laws-sinotruk/sync/iam/QueryUserByIdService";
|
String url = "http://localhost:8188/laws-chery/sync/iam/chery/QueryUserByIdService";
|
||||||
String response = HttpUtil.post(url, sendPoDataJson);
|
String response = HttpUtil.post(url, target);
|
||||||
System.out.println("用户查询接口响应:" + response);
|
System.out.println("用户查询接口响应:" + response);
|
||||||
|
|
||||||
this.decryptData(response);
|
this.decryptData(response);
|
||||||
@@ -302,18 +481,23 @@ public class TestClient {
|
|||||||
iamOrgAcceptDto.setBimRemoteUser("srmsIam");
|
iamOrgAcceptDto.setBimRemoteUser("srmsIam");
|
||||||
iamOrgAcceptDto.setBimRemotePwd("srmsIam2023");
|
iamOrgAcceptDto.setBimRemotePwd("srmsIam2023");
|
||||||
|
|
||||||
// 加密数据
|
StringBuilder sb = getStringBuilder(iamOrgAcceptDto);
|
||||||
ObjectMapper objectMapper = new ObjectMapper();
|
|
||||||
String sendData = objectMapper.writeValueAsString(iamOrgAcceptDto);
|
|
||||||
String encryptData = BamboocloudFacade.encrypt(sendData, DockingConstant.IAM_ENCRYPT_SECRET, DockingConstant.IAM_ENCRYPT_TYPE);
|
|
||||||
|
|
||||||
// 封装 AcceptPoSystemPo 为PO层套壳
|
System.out.println("签名前:" + sb.toString());
|
||||||
AcceptEncryptPo sendPoDataEntity = handlerPoPackage(encryptData);
|
//sm3签名
|
||||||
String sendPoDataJson = objectMapper.writeValueAsString(sendPoDataEntity);
|
Sm3Signature signature = new Sm3Signature();
|
||||||
|
String signatureStr = signature.signature(sb.toString());
|
||||||
|
System.out.println("签名后:" + signatureStr);
|
||||||
|
iamOrgAcceptDto.setSignature(signatureStr);
|
||||||
|
|
||||||
|
//sm4加解密
|
||||||
|
Sm4Cipher sm4Cipher = new Sm4Cipher();
|
||||||
|
String source = JSON.toJSONString(iamOrgAcceptDto);
|
||||||
|
String target = sm4Cipher.encrypt(source, key);
|
||||||
|
|
||||||
// 发送数据
|
// 发送数据
|
||||||
String url = "http://localhost:8184/laws-sinotruk/sync/iam/QueryOrgByIdService";
|
String url = "http://localhost:8188/laws-chery/sync/iam/chery/QueryOrgByIdService";
|
||||||
String response = HttpUtil.post(url, sendPoDataJson);
|
String response = HttpUtil.post(url, target);
|
||||||
System.out.println("组织查询接口响应:" + response);
|
System.out.println("组织查询接口响应:" + response);
|
||||||
|
|
||||||
this.decryptData(response);
|
this.decryptData(response);
|
||||||
|
|||||||
+22
@@ -0,0 +1,22 @@
|
|||||||
|
package com.jero.modules.docking.iam.controller;
|
||||||
|
|
||||||
|
import com.banboocloud.Codec.Sm3Signature;
|
||||||
|
import com.banboocloud.Codec.Sm4Cipher;
|
||||||
|
|
||||||
|
public class EncryptTest {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
//sm3签名
|
||||||
|
String originalStr = "userId=1";
|
||||||
|
Sm3Signature signature = new Sm3Signature();
|
||||||
|
String signatureStr = signature.signature(originalStr);
|
||||||
|
|
||||||
|
//sm4加解密
|
||||||
|
String key = "JLB6L6MJVIT5Z7IL";
|
||||||
|
Sm4Cipher sm4Cipher = new Sm4Cipher();
|
||||||
|
String source = "{\"userId\":1,\"signature\":\"" + signatureStr + "\"}";
|
||||||
|
String target = sm4Cipher.encrypt(source, key);
|
||||||
|
|
||||||
|
//输出密文
|
||||||
|
System.out.println("target:" + target);
|
||||||
|
}
|
||||||
|
}
|
||||||
+451
@@ -0,0 +1,451 @@
|
|||||||
|
package com.jero.modules.docking.iam.controller;
|
||||||
|
|
||||||
|
import cn.hutool.core.text.CharSequenceUtil;
|
||||||
|
import com.alibaba.fastjson.JSON;
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.aliyun.oss.ServiceException;
|
||||||
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||||
|
import com.fasterxml.jackson.core.type.TypeReference;
|
||||||
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
|
import com.jero.common.constant.CacheConstant;
|
||||||
|
import com.jero.modules.base.service.BaseCommonService;
|
||||||
|
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.*;
|
||||||
|
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.decrypt.AcceptDecryptPo;
|
||||||
|
import com.jero.modules.docking.iam.po.encrypt.SendPoEncryptPo;
|
||||||
|
import com.jero.modules.docking.iam.service.SyncIamService;
|
||||||
|
import com.jero.modules.docking.utils.DockingConstant;
|
||||||
|
import com.jero.modules.docking.utils.SHA256Util;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
|
import org.springframework.cache.annotation.CacheEvict;
|
||||||
|
import org.springframework.dao.DuplicateKeyException;
|
||||||
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* IAM同步的控制器,提供用户、组织、菜单和权限的同步
|
||||||
|
*/
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/sync/iam/chery")
|
||||||
|
@Slf4j
|
||||||
|
public class SyncIamByCheryController {
|
||||||
|
|
||||||
|
@Value("${iam.bpmcAppkey}")
|
||||||
|
private String bpmcAppkey;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private SyncIamService syncIamService;
|
||||||
|
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private BaseCommonService baseCommonService;
|
||||||
|
|
||||||
|
@PostMapping({"/SchemaService"})
|
||||||
|
public String schemaService(HttpServletRequest req) {
|
||||||
|
String reqMap = this.syncIamService.getStringObjectMap(req);
|
||||||
|
IamCommonAcceptDto commonAcceptDto = JSONObject.parseObject(reqMap, IamCommonAcceptDto.class);
|
||||||
|
// 校验身份认证,确保接口正确 必须调用!
|
||||||
|
this.syncIamService.validateUserAndPwd(commonAcceptDto);
|
||||||
|
// 处理业务逻辑,封装字段
|
||||||
|
IamSchemaResponse iamSchemaResponse = this.syncIamService.getSchemaInfo(commonAcceptDto);
|
||||||
|
return this.syncIamService.strEncrypt(JSON.toJSONString(iamSchemaResponse));
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping({"/UserCreateService"})
|
||||||
|
public String userCreateService(HttpServletRequest req) {
|
||||||
|
log.info("进入账号创建");
|
||||||
|
IamUserAcceptDto userAcceptDto;
|
||||||
|
IamUserCreateResponse iamUserCreateResponse = new IamUserCreateResponse();
|
||||||
|
try {
|
||||||
|
String reqMap = this.syncIamService.getStringObjectMap(req);
|
||||||
|
userAcceptDto = JSONObject.parseObject(reqMap, IamUserAcceptDto.class);
|
||||||
|
// 校验身份认证,确保接口正确 必须调用!
|
||||||
|
this.syncIamService.validateUserAndPwd(userAcceptDto);
|
||||||
|
iamUserCreateResponse.setBimRequestId(userAcceptDto.getBimRequestId());
|
||||||
|
// 处理业务逻辑,存储用户,返回用户id
|
||||||
|
iamUserCreateResponse = this.syncIamService.userCreateService(userAcceptDto);
|
||||||
|
} catch (ServiceException e) {
|
||||||
|
iamUserCreateResponse.setResultCode(DockingConstant.IAM_ERROR_RESULT_CODE);
|
||||||
|
String message = e.getErrorMessage();
|
||||||
|
iamUserCreateResponse.setMessage(message);
|
||||||
|
log.error(iamUserCreateResponse.getMessage());
|
||||||
|
}catch (Exception e){
|
||||||
|
iamUserCreateResponse.setResultCode(DockingConstant.IAM_ERROR_RESULT_CODE);
|
||||||
|
iamUserCreateResponse.setMessage("操作失败" + e.getMessage());
|
||||||
|
log.error(iamUserCreateResponse.getMessage());
|
||||||
|
}
|
||||||
|
return this.syncIamService.strEncrypt(JSON.toJSONString(iamUserCreateResponse));
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping({"/UserUpdateService"})
|
||||||
|
public String userUpdateService(HttpServletRequest req){
|
||||||
|
IamUserCreateResponse iamUserCreateResponse = new IamUserCreateResponse();
|
||||||
|
try {
|
||||||
|
String reqMap = this.syncIamService.getStringObjectMap(req);
|
||||||
|
IamUserAcceptDto userAcceptDto = JSONObject.parseObject(reqMap, IamUserAcceptDto.class);
|
||||||
|
// 校验身份认证,确保接口正确 必须调用!
|
||||||
|
this.syncIamService.validateUserAndPwd(userAcceptDto);
|
||||||
|
// 处理业务逻辑,存储用户,返回用户id
|
||||||
|
iamUserCreateResponse = this.syncIamService.userUpdateService(userAcceptDto);
|
||||||
|
}catch (IamGlobalException e){
|
||||||
|
iamUserCreateResponse.setResultCode(DockingConstant.IAM_ERROR_RESULT_CODE);
|
||||||
|
String message = e.getMessage();
|
||||||
|
iamUserCreateResponse.setMessage(message);
|
||||||
|
log.error(iamUserCreateResponse.getMessage());
|
||||||
|
}catch (Exception e){
|
||||||
|
iamUserCreateResponse.setResultCode(DockingConstant.IAM_ERROR_RESULT_CODE);
|
||||||
|
iamUserCreateResponse.setMessage("操作失败" + e.getMessage());
|
||||||
|
log.error(iamUserCreateResponse.getMessage());
|
||||||
|
}
|
||||||
|
return this.syncIamService.strEncrypt(JSON.toJSONString(iamUserCreateResponse));
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping({"/UserDeleteService"})
|
||||||
|
public String userDeleteService(HttpServletRequest req) {
|
||||||
|
IamCommonResponseDto iamCommonResponseDto = new IamCommonResponseDto();
|
||||||
|
try {
|
||||||
|
String reqMap = this.syncIamService.getStringObjectMap(req);
|
||||||
|
IamUserAcceptDto userAcceptDto = JSONObject.parseObject(reqMap, IamUserAcceptDto.class);
|
||||||
|
// 校验身份认证,确保接口正确 必须调用!
|
||||||
|
this.syncIamService.validateUserAndPwd(userAcceptDto);
|
||||||
|
// 处理业务逻辑,存储用户,返回用户id
|
||||||
|
iamCommonResponseDto = this.syncIamService.userDeleteService(userAcceptDto);
|
||||||
|
iamCommonResponseDto.setBimRequestId(userAcceptDto.getBimRequestId());
|
||||||
|
}catch (IamGlobalException e){
|
||||||
|
iamCommonResponseDto.setResultCode(DockingConstant.IAM_ERROR_RESULT_CODE);
|
||||||
|
String message = e.getMessage();
|
||||||
|
iamCommonResponseDto.setMessage(message);
|
||||||
|
log.error(iamCommonResponseDto.getMessage());
|
||||||
|
}catch (Exception e){
|
||||||
|
iamCommonResponseDto.setResultCode(DockingConstant.IAM_ERROR_RESULT_CODE);
|
||||||
|
iamCommonResponseDto.setMessage("操作失败" + e.getMessage());
|
||||||
|
log.error(iamCommonResponseDto.getMessage());
|
||||||
|
}
|
||||||
|
return this.syncIamService.strEncrypt(JSON.toJSONString(iamCommonResponseDto));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 组织创建和更新移除缓存
|
||||||
|
* @param req
|
||||||
|
* @return
|
||||||
|
* @throws JsonProcessingException
|
||||||
|
*/
|
||||||
|
@PostMapping({"/OrgCreateService"})
|
||||||
|
@CacheEvict(value= {CacheConstant.SYS_DEPARTS_CACHE,CacheConstant.SYS_DEPART_IDS_CACHE}, allEntries=true)
|
||||||
|
public String orgCreateService(HttpServletRequest req) {
|
||||||
|
IamOrgAcceptDto orgAcceptDto = null;
|
||||||
|
IamOrgCreateResponse iamOrgCreateResponse = new IamOrgCreateResponse();
|
||||||
|
try {
|
||||||
|
String reqMap = this.syncIamService.getStringObjectMap(req);
|
||||||
|
orgAcceptDto = JSONObject.parseObject(reqMap, IamOrgAcceptDto.class);
|
||||||
|
// 校验身份认证,确保接口正确 必须调用!
|
||||||
|
this.syncIamService.validateUserAndPwd(orgAcceptDto);
|
||||||
|
// 处理业务逻辑,存储组织,返回组织id
|
||||||
|
iamOrgCreateResponse = this.syncIamService.orgCreateService(orgAcceptDto);
|
||||||
|
} catch (DuplicateKeyException duplicateKeyException) {
|
||||||
|
log.error("数据库值重复:{}", duplicateKeyException.getMessage());
|
||||||
|
if (orgAcceptDto != null) {
|
||||||
|
iamOrgCreateResponse.setResultCode(DockingConstant.IAM_ERROR_RESULT_CODE);
|
||||||
|
iamOrgCreateResponse.setMessage("操作失败" + "数据库值重复,请检查组织编号【" + orgAcceptDto.getSrmsOrgCode() + "】是否异常");
|
||||||
|
} else {
|
||||||
|
iamOrgCreateResponse.setResultCode(DockingConstant.IAM_ERROR_RESULT_CODE);
|
||||||
|
iamOrgCreateResponse.setMessage("未知异常,请联系管理员");
|
||||||
|
}
|
||||||
|
}catch (Exception e){
|
||||||
|
iamOrgCreateResponse.setResultCode(DockingConstant.IAM_ERROR_RESULT_CODE);
|
||||||
|
iamOrgCreateResponse.setMessage("操作失败" + e.getMessage());
|
||||||
|
log.error(iamOrgCreateResponse.getMessage());
|
||||||
|
}
|
||||||
|
return this.syncIamService.strEncrypt(JSON.toJSONString(iamOrgCreateResponse));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 组织创建和更新移除缓存
|
||||||
|
* @param req
|
||||||
|
* @return
|
||||||
|
* @throws JsonProcessingException
|
||||||
|
*/
|
||||||
|
@PostMapping({"/OrgUpdateService"})
|
||||||
|
@CacheEvict(value= {CacheConstant.SYS_DEPARTS_CACHE,CacheConstant.SYS_DEPART_IDS_CACHE}, allEntries=true)
|
||||||
|
public String orgUpdateService(HttpServletRequest req) {
|
||||||
|
IamCommonResponseDto iamCommonResponseDto = new IamCommonResponseDto();
|
||||||
|
try {
|
||||||
|
String reqMap = this.syncIamService.getStringObjectMap(req);
|
||||||
|
IamOrgAcceptDto orgAcceptDto = JSONObject.parseObject(reqMap, IamOrgAcceptDto.class);
|
||||||
|
// 校验身份认证,确保接口正确 必须调用!
|
||||||
|
this.syncIamService.validateUserAndPwd(orgAcceptDto);
|
||||||
|
// 处理业务逻辑,更新组织
|
||||||
|
iamCommonResponseDto = this.syncIamService.orgUpdateService(orgAcceptDto);
|
||||||
|
}catch (Exception e){
|
||||||
|
iamCommonResponseDto.setResultCode(DockingConstant.IAM_ERROR_RESULT_CODE);
|
||||||
|
iamCommonResponseDto.setMessage("操作失败" + e.getMessage());
|
||||||
|
}
|
||||||
|
return this.syncIamService.strEncrypt(JSON.toJSONString(iamCommonResponseDto));
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping({"/OrgDeleteService"})
|
||||||
|
public String orgDeleteService(HttpServletRequest req) {
|
||||||
|
IamCommonResponseDto iamCommonResponseDto = new IamCommonResponseDto();
|
||||||
|
try {
|
||||||
|
String reqMap = this.syncIamService.getStringObjectMap(req);
|
||||||
|
IamOrgAcceptDto orgAcceptDto = JSONObject.parseObject(reqMap, IamOrgAcceptDto.class);
|
||||||
|
// 校验身份认证,确保接口正确 必须调用!
|
||||||
|
this.syncIamService.validateUserAndPwd(orgAcceptDto);
|
||||||
|
// 处理业务逻辑,更新组织
|
||||||
|
iamCommonResponseDto = this.syncIamService.orgDeleteService(orgAcceptDto);
|
||||||
|
}catch (Exception e){
|
||||||
|
iamCommonResponseDto.setResultCode(DockingConstant.IAM_ERROR_RESULT_CODE);
|
||||||
|
iamCommonResponseDto.setMessage("操作失败" + e.getMessage());
|
||||||
|
}
|
||||||
|
return this.syncIamService.strEncrypt(JSON.toJSONString(iamCommonResponseDto));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 对接统一权限服务平台。
|
||||||
|
* 该接口包含角色创建、菜单创建、角色菜单关联、用户角色关联等4个接口
|
||||||
|
* 通过type字段来区分
|
||||||
|
*/
|
||||||
|
@PostMapping({"/bpmcCreate"})
|
||||||
|
public SendPoEncryptPo bpmcCreate(@RequestBody AcceptDecryptPo acceptDecryptPo) throws JsonProcessingException {
|
||||||
|
if (acceptDecryptPo == null
|
||||||
|
|| acceptDecryptPo.getMessageDecryptTabels() == null
|
||||||
|
|| acceptDecryptPo.getMessageDecryptTabels().getHeader() == null){
|
||||||
|
throw new IamGlobalException(null, "参数传递错误,未收到参数");
|
||||||
|
}
|
||||||
|
|
||||||
|
log.info("统一权限服务平台请求数据:{}", acceptDecryptPo.toString());
|
||||||
|
ObjectMapper objectMapper = new ObjectMapper();
|
||||||
|
BpmcAcceptDto bpmcAcceptDto = objectMapper.readValue(acceptDecryptPo.getMessageDecryptTabels().getHeader().getData(), BpmcAcceptDto.class);
|
||||||
|
|
||||||
|
MessageHeader messageHeader = acceptDecryptPo.getMessageHeader();
|
||||||
|
BpmcResponseDto bpmcResponseDto = BpmcResponseDto.success();
|
||||||
|
SendPoEncryptPo sendPoEncryptPo = new SendPoEncryptPo();
|
||||||
|
|
||||||
|
if (CharSequenceUtil.isEmpty(bpmcAcceptDto.getType())){
|
||||||
|
bpmcResponseDto.setResultCode(DockingConstant.IAM_ERROR_RESULT_CODE);
|
||||||
|
bpmcResponseDto.setMessage("接口类型(type)未传参,请检查");
|
||||||
|
log.error(bpmcResponseDto.getMessage());
|
||||||
|
sendPoEncryptPo = this.syncIamService.handlerGloablEncryptResponse(messageHeader, bpmcResponseDto);
|
||||||
|
sendPoEncryptPo.getReturns().setData(JSON.toJSONString(bpmcResponseDto));
|
||||||
|
return sendPoEncryptPo;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (CharSequenceUtil.isEmpty(bpmcAcceptDto.getEntity())){
|
||||||
|
bpmcResponseDto.setResultCode(DockingConstant.IAM_ERROR_RESULT_CODE);
|
||||||
|
bpmcResponseDto.setMessage("数据实体(entity)未传参,请检查");
|
||||||
|
log.error(bpmcResponseDto.getMessage());
|
||||||
|
sendPoEncryptPo = this.syncIamService.handlerGloablEncryptResponse(messageHeader, bpmcResponseDto);
|
||||||
|
sendPoEncryptPo.getReturns().setData(JSON.toJSONString(bpmcResponseDto));
|
||||||
|
return sendPoEncryptPo;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (CharSequenceUtil.isEmpty(bpmcAcceptDto.getAction())){
|
||||||
|
bpmcResponseDto.setResultCode(DockingConstant.IAM_ERROR_RESULT_CODE);
|
||||||
|
bpmcResponseDto.setMessage("操作方式(action)未传参,请检查");
|
||||||
|
log.error(bpmcResponseDto.getMessage());
|
||||||
|
sendPoEncryptPo = this.syncIamService.handlerGloablEncryptResponse(messageHeader, bpmcResponseDto);
|
||||||
|
sendPoEncryptPo.getReturns().setData(JSON.toJSONString(bpmcResponseDto));
|
||||||
|
return sendPoEncryptPo;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (CharSequenceUtil.isEmpty(bpmcAcceptDto.getSignature())){
|
||||||
|
bpmcResponseDto.setResultCode(DockingConstant.IAM_ERROR_RESULT_CODE);
|
||||||
|
bpmcResponseDto.setMessage("签名(signature)未传参,请检查");
|
||||||
|
log.error(bpmcResponseDto.getMessage());
|
||||||
|
sendPoEncryptPo = this.syncIamService.handlerGloablEncryptResponse(messageHeader, bpmcResponseDto);
|
||||||
|
sendPoEncryptPo.getReturns().setData(JSON.toJSONString(bpmcResponseDto));
|
||||||
|
return sendPoEncryptPo;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 验证签名
|
||||||
|
String validateSign = SHA256Util.getSHA256StrJava(bpmcAcceptDto.getEntity() + bpmcAppkey + bpmcAcceptDto.getTimestamp());
|
||||||
|
if (!bpmcAcceptDto.getSignature().equals(validateSign)){
|
||||||
|
bpmcResponseDto.setResultCode(DockingConstant.IAM_ERROR_RESULT_CODE);
|
||||||
|
bpmcResponseDto.setMessage("签名校验不通过,请检查");
|
||||||
|
log.error(bpmcResponseDto.getMessage());
|
||||||
|
sendPoEncryptPo = this.syncIamService.handlerGloablEncryptResponse(messageHeader, bpmcResponseDto);
|
||||||
|
sendPoEncryptPo.getReturns().setData(JSON.toJSONString(bpmcResponseDto));
|
||||||
|
return sendPoEncryptPo;
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
switch (bpmcAcceptDto.getType()){
|
||||||
|
// 角色
|
||||||
|
case DockingConstant.BPMC_TYPE_ROLE:
|
||||||
|
bpmcResponseDto = bpmcTypeRole(objectMapper, bpmcAcceptDto, bpmcResponseDto);
|
||||||
|
break;
|
||||||
|
|
||||||
|
// 菜单
|
||||||
|
case DockingConstant.BPMC_TYPE_RESOURCE:
|
||||||
|
bpmcResponseDto = bpmcTypeResource(objectMapper, bpmcAcceptDto, bpmcResponseDto);
|
||||||
|
break;
|
||||||
|
|
||||||
|
// 用户角色关联
|
||||||
|
case DockingConstant.BPMC_TYPE_USER_ROLE:
|
||||||
|
bpmcResponseDto = bpmcTypeUserRole(objectMapper, bpmcAcceptDto, bpmcResponseDto);
|
||||||
|
break;
|
||||||
|
|
||||||
|
// 角色菜单关联
|
||||||
|
case DockingConstant.BPMC_TYPE_ROLE_RESOURCE:
|
||||||
|
bpmcResponseDto = bpmcTypeRoleResource(objectMapper, bpmcAcceptDto, bpmcResponseDto);
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
bpmcResponseDto = BpmcResponseDto.error("接口类型(type)未找到,请检查");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}catch (Exception e){
|
||||||
|
e.printStackTrace();
|
||||||
|
log.error(e.getMessage());
|
||||||
|
bpmcResponseDto = BpmcResponseDto.error(e.getMessage());
|
||||||
|
}
|
||||||
|
log.info(bpmcResponseDto.getMessage());
|
||||||
|
sendPoEncryptPo = this.syncIamService.handlerGloablEncryptResponse(messageHeader, bpmcResponseDto);
|
||||||
|
sendPoEncryptPo.getReturns().setData(JSON.toJSONString(bpmcResponseDto));
|
||||||
|
return sendPoEncryptPo;
|
||||||
|
}
|
||||||
|
|
||||||
|
private BpmcResponseDto bpmcTypeRoleResource(ObjectMapper objectMapper, BpmcAcceptDto bpmcAcceptDto, BpmcResponseDto bpmcResponseDto) throws JsonProcessingException {
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
|
private BpmcResponseDto bpmcTypeUserRole(ObjectMapper objectMapper, BpmcAcceptDto bpmcAcceptDto, BpmcResponseDto bpmcResponseDto) throws JsonProcessingException {
|
||||||
|
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);
|
||||||
|
}
|
||||||
|
return bpmcResponseDto;
|
||||||
|
}
|
||||||
|
|
||||||
|
private BpmcResponseDto bpmcTypeResource(ObjectMapper objectMapper, BpmcAcceptDto bpmcAcceptDto, BpmcResponseDto bpmcResponseDto) throws JsonProcessingException {
|
||||||
|
ResourceDto resourceDto = objectMapper.readValue(bpmcAcceptDto.getEntity(), ResourceDto.class);
|
||||||
|
// 根据新增/编辑/删除调用不同的业务处理代码
|
||||||
|
if (bpmcAcceptDto.getAction().equals(DockingConstant.BPMC_ACTION_ADD)){
|
||||||
|
bpmcResponseDto = this.syncIamService.resourceCreateService(resourceDto);
|
||||||
|
} else if (bpmcAcceptDto.getAction().equals(DockingConstant.BPMC_ACTION_UPDATE)) {
|
||||||
|
bpmcResponseDto = this.syncIamService.resourceUpdateService(resourceDto);
|
||||||
|
} else if (bpmcAcceptDto.getAction().equals(DockingConstant.BPMC_ACTION_DELETE)) {
|
||||||
|
bpmcResponseDto = this.syncIamService.resourceDeleteService(resourceDto);
|
||||||
|
}
|
||||||
|
return bpmcResponseDto;
|
||||||
|
}
|
||||||
|
|
||||||
|
private BpmcResponseDto bpmcTypeRole(ObjectMapper objectMapper, BpmcAcceptDto bpmcAcceptDto, BpmcResponseDto bpmcResponseDto) throws JsonProcessingException {
|
||||||
|
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);
|
||||||
|
}
|
||||||
|
return bpmcResponseDto;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询全部用户id
|
||||||
|
* @param req
|
||||||
|
* @return
|
||||||
|
* @throws JsonProcessingException
|
||||||
|
*/
|
||||||
|
@PostMapping({"/QueryAllUserIdsService"})
|
||||||
|
public String QueryAllUserIdsService(HttpServletRequest req) {
|
||||||
|
IamUserIdListResponse userIdListResponse = new IamUserIdListResponse();
|
||||||
|
try {
|
||||||
|
String reqMap = this.syncIamService.getStringObjectMap(req);
|
||||||
|
IamCommonAcceptDto commonAcceptDto = JSONObject.parseObject(reqMap, IamCommonAcceptDto.class);
|
||||||
|
|
||||||
|
// 校验身份认证,确保接口正确 必须调用!
|
||||||
|
this.syncIamService.validateUserAndPwd(commonAcceptDto);
|
||||||
|
|
||||||
|
// 处理业务逻辑,封装字段
|
||||||
|
userIdListResponse = this.syncIamService.getAllUserIds(commonAcceptDto);
|
||||||
|
}catch (Exception e){
|
||||||
|
userIdListResponse.setResultCode(DockingConstant.IAM_ERROR_RESULT_CODE);
|
||||||
|
userIdListResponse.setMessage("操作失败" + e.getMessage());
|
||||||
|
}
|
||||||
|
return this.syncIamService.strEncrypt(JSON.toJSONString(userIdListResponse));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询全部组织id
|
||||||
|
* @param req
|
||||||
|
* @return
|
||||||
|
* @throws JsonProcessingException
|
||||||
|
*/
|
||||||
|
@PostMapping({"/QueryAllOrgIdsService"})
|
||||||
|
public String QueryAllOrgIdsService(HttpServletRequest req) {
|
||||||
|
IamOrgIdListResponse orgIdListResponse = new IamOrgIdListResponse();
|
||||||
|
try {
|
||||||
|
String reqMap = this.syncIamService.getStringObjectMap(req);
|
||||||
|
IamCommonAcceptDto commonAcceptDto = JSONObject.parseObject(reqMap, IamCommonAcceptDto.class);
|
||||||
|
// 校验身份认证,确保接口正确 必须调用!
|
||||||
|
this.syncIamService.validateUserAndPwd(commonAcceptDto);
|
||||||
|
// 处理业务逻辑,封装字段
|
||||||
|
orgIdListResponse = this.syncIamService.getAllOrgIds(commonAcceptDto);
|
||||||
|
}catch (Exception e){
|
||||||
|
orgIdListResponse.setResultCode(DockingConstant.IAM_ERROR_RESULT_CODE);
|
||||||
|
orgIdListResponse.setMessage("操作失败" + e.getMessage());
|
||||||
|
}
|
||||||
|
return this.syncIamService.strEncrypt(JSON.toJSONString(orgIdListResponse));
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping({"/QueryUserByIdService"})
|
||||||
|
public String QueryUserByIdService(HttpServletRequest req) {
|
||||||
|
IamUserInfoResponse iamUserInfoResponse = new IamUserInfoResponse();
|
||||||
|
try {
|
||||||
|
String reqMap = this.syncIamService.getStringObjectMap(req);
|
||||||
|
IamUserAcceptDto userAcceptDto = JSONObject.parseObject(reqMap, IamUserAcceptDto.class);
|
||||||
|
|
||||||
|
// 校验身份认证,确保接口正确 必须调用!
|
||||||
|
this.syncIamService.validateUserAndPwd(userAcceptDto);
|
||||||
|
|
||||||
|
// 处理业务逻辑,存储用户,返回用户id
|
||||||
|
iamUserInfoResponse = this.syncIamService.getUserInfoById(userAcceptDto);
|
||||||
|
}catch (Exception e){
|
||||||
|
iamUserInfoResponse.setResultCode(DockingConstant.IAM_ERROR_RESULT_CODE);
|
||||||
|
iamUserInfoResponse.setMessage("操作失败" + e.getMessage());
|
||||||
|
}
|
||||||
|
return this.syncIamService.strEncrypt(JSON.toJSONString(iamUserInfoResponse));
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping({"/QueryOrgByIdService"})
|
||||||
|
public String QueryOrgByIdService(HttpServletRequest req) {
|
||||||
|
IamOrgInfoResponse iamOrgInfoResponse = new IamOrgInfoResponse();
|
||||||
|
try {
|
||||||
|
String reqMap = this.syncIamService.getStringObjectMap(req);
|
||||||
|
IamOrgAcceptDto orgAcceptDto = JSONObject.parseObject(reqMap, IamOrgAcceptDto.class);
|
||||||
|
// 校验身份认证,确保接口正确 必须调用!
|
||||||
|
this.syncIamService.validateUserAndPwd(orgAcceptDto);
|
||||||
|
// 处理业务逻辑,存储用户,返回用户id
|
||||||
|
iamOrgInfoResponse = this.syncIamService.getOrgInfoById(orgAcceptDto);
|
||||||
|
}catch (Exception e){
|
||||||
|
iamOrgInfoResponse.setResultCode(DockingConstant.IAM_ERROR_RESULT_CODE);
|
||||||
|
iamOrgInfoResponse.setMessage("操作失败" + e.getMessage());
|
||||||
|
}
|
||||||
|
return this.syncIamService.strEncrypt(JSON.toJSONString(iamOrgInfoResponse));
|
||||||
|
}
|
||||||
|
}
|
||||||
+4
-1
@@ -22,10 +22,13 @@ public class IamCommonAcceptDto {
|
|||||||
*/
|
*/
|
||||||
private String bimRemoteUser ;
|
private String bimRemoteUser ;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* BIM调用三方应用接口的密码,由应用分配给BIM系统
|
* BIM调用三方应用接口的密码,由应用分配给BIM系统
|
||||||
*/
|
*/
|
||||||
private String bimRemotePwd;
|
private String bimRemotePwd;
|
||||||
|
/**
|
||||||
|
* BIM每次调用生成的签名,应用系统需对签名进行验证
|
||||||
|
*/
|
||||||
|
private String signature;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
-55
@@ -33,59 +33,4 @@ public class IamOrgAcceptDto extends IamCommonAcceptDto {
|
|||||||
*/
|
*/
|
||||||
@IamProperty(required = true, multivalued = false)
|
@IamProperty(required = true, multivalued = false)
|
||||||
private String srmsParentCode;
|
private String srmsParentCode;
|
||||||
|
|
||||||
/**
|
|
||||||
* 所属单位,10位HR机构编号
|
|
||||||
*/
|
|
||||||
@IamProperty(required = true, multivalued = false)
|
|
||||||
private String srmsCompany;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 机构状态
|
|
||||||
*/
|
|
||||||
@IamProperty(required = true, multivalued = false)
|
|
||||||
private String srmsStatus;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 机构类型。001内部机构 002 外部机构 003 虚拟机构
|
|
||||||
*/
|
|
||||||
@IamProperty(required = true, multivalued = false)
|
|
||||||
private String srmsType;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 组织类型。1.单位 2.部门。单位下可以有单位,但是部门下不能有单位
|
|
||||||
*/
|
|
||||||
@IamProperty(required = true, multivalued = false)
|
|
||||||
private String srmsOrgCategory;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 创建时间
|
|
||||||
*/
|
|
||||||
@IamProperty(required = true, multivalued = false)
|
|
||||||
private String srmsCreateTime;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 更新时间
|
|
||||||
*/
|
|
||||||
@IamProperty(required = true, multivalued = false)
|
|
||||||
private String srmsUpdateTime;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 部门负责人
|
|
||||||
*/
|
|
||||||
@IamProperty(required = false, multivalued = false)
|
|
||||||
private String srmsHeadOfDepartment;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 分管领导
|
|
||||||
*/
|
|
||||||
@IamProperty(required = false, multivalued = false)
|
|
||||||
private String srmsLeadersInCharge;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 副职领导
|
|
||||||
*/
|
|
||||||
@IamProperty(required = false, multivalued = false)
|
|
||||||
private String srmsDeputyLeader;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+16
-57
@@ -12,21 +12,11 @@ import lombok.ToString;
|
|||||||
public class IamUserAcceptDto extends IamCommonAcceptDto {
|
public class IamUserAcceptDto extends IamCommonAcceptDto {
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 飞书id
|
|
||||||
*/
|
|
||||||
private String id;
|
|
||||||
/**
|
/**
|
||||||
* 用户的id,在删除或编辑的接口会传递
|
* 用户的id,在删除或编辑的接口会传递
|
||||||
*/
|
*/
|
||||||
private String bimUid;
|
private String bimUid;
|
||||||
|
|
||||||
/**
|
|
||||||
* 单位编码
|
|
||||||
*/
|
|
||||||
@IamProperty(required = true, multivalued = false)
|
|
||||||
private String srmsCompanyCode;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 部门编码,用于做人员和组织的关联
|
* 部门编码,用于做人员和组织的关联
|
||||||
*/
|
*/
|
||||||
@@ -40,10 +30,15 @@ public class IamUserAcceptDto extends IamCommonAcceptDto {
|
|||||||
private String srmsTypeId;
|
private String srmsTypeId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 工号
|
* 用户账户工号 00063002
|
||||||
*/
|
*/
|
||||||
@IamProperty(required = true, multivalued = false)
|
@IamProperty(required = true, multivalued = false)
|
||||||
private String srmsUsername;
|
private String srmsUsername;
|
||||||
|
/**
|
||||||
|
* 工号 63002
|
||||||
|
*/
|
||||||
|
@IamProperty(required = true, multivalued = false)
|
||||||
|
private String employeeNo;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 姓名
|
* 姓名
|
||||||
@@ -51,60 +46,19 @@ public class IamUserAcceptDto extends IamCommonAcceptDto {
|
|||||||
@IamProperty(required = true, multivalued = false)
|
@IamProperty(required = true, multivalued = false)
|
||||||
private String srmsRealname;
|
private String srmsRealname;
|
||||||
|
|
||||||
/**
|
|
||||||
* 密码
|
|
||||||
*/
|
|
||||||
@IamProperty(required = false, multivalued = false)
|
|
||||||
private String srmsPassword;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 性别
|
* 性别
|
||||||
*/
|
*/
|
||||||
@IamProperty(required = true, multivalued = false)
|
@IamProperty(required = true, multivalued = false)
|
||||||
private String srmsSex;
|
private String srmsSex;
|
||||||
|
|
||||||
/**
|
|
||||||
* 岗位
|
|
||||||
*/
|
|
||||||
@IamProperty(required = true, multivalued = false)
|
|
||||||
private String srmsPost;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 职务级别
|
|
||||||
*/
|
|
||||||
@IamProperty(required = true, multivalued = false)
|
|
||||||
private String srmsDutyLevelId;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 直接上级
|
|
||||||
*/
|
|
||||||
@IamProperty(required = true, multivalued = false)
|
|
||||||
private String srmsDirectLeadership;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 岗位状态
|
|
||||||
*/
|
|
||||||
@IamProperty(required = true, multivalued = false)
|
|
||||||
private String srmsPostStatus;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 是否在册
|
|
||||||
*/
|
|
||||||
@IamProperty(required = true, multivalued = false)
|
|
||||||
private String srmsStatus;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 办公电话
|
|
||||||
*/
|
|
||||||
@IamProperty(required = true, multivalued = false)
|
|
||||||
private String srmsOfficePhone;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 移动电话
|
* 移动电话
|
||||||
*/
|
*/
|
||||||
@IamProperty(required = true, multivalued = false)
|
@IamProperty(required = true, multivalued = false)
|
||||||
private String srmsPhone;
|
private String srmsPhone;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 电子邮件
|
* 电子邮件
|
||||||
*/
|
*/
|
||||||
@@ -112,15 +66,20 @@ public class IamUserAcceptDto extends IamCommonAcceptDto {
|
|||||||
private String srmsEmail;
|
private String srmsEmail;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 创建时间
|
* 生日
|
||||||
*/
|
*/
|
||||||
@IamProperty(required = true, multivalued = false)
|
@IamProperty(required = true, multivalued = false)
|
||||||
private String srmsCreateTime;
|
private String birthday;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 更新时间
|
* 入职时间
|
||||||
*/
|
*/
|
||||||
@IamProperty(required = true, multivalued = false)
|
@IamProperty(required = true, multivalued = false)
|
||||||
private String srmsUpdateTime;
|
private String entryTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 离职时间
|
||||||
|
*/
|
||||||
|
@IamProperty(required = true, multivalued = false)
|
||||||
|
private String resignationTime;
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -11,6 +11,6 @@ public class IamOrgCreateResponse extends IamCommonResponseDto{
|
|||||||
/**
|
/**
|
||||||
* 用户创建后生成的id
|
* 用户创建后生成的id
|
||||||
*/
|
*/
|
||||||
private String orgId;
|
private String uid;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+40
@@ -0,0 +1,40 @@
|
|||||||
|
package com.jero.modules.docking.iam.entity;
|
||||||
|
|
||||||
|
public class AttributeEntity {
|
||||||
|
private String name;
|
||||||
|
private String type;
|
||||||
|
private boolean isRequired;
|
||||||
|
private boolean isMultivalued;
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return this.name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setName(String name) {
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getType() {
|
||||||
|
return this.type;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setType(String type) {
|
||||||
|
this.type = type;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isRequired() {
|
||||||
|
return this.isRequired;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setRequired(boolean isRequired) {
|
||||||
|
this.isRequired = isRequired;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isMultivalued() {
|
||||||
|
return this.isMultivalued;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMultivalued(boolean isMultivalued) {
|
||||||
|
this.isMultivalued = isMultivalued;
|
||||||
|
}
|
||||||
|
}
|
||||||
+123
-183
@@ -1,13 +1,13 @@
|
|||||||
package com.jero.modules.docking.iam.service;
|
package com.jero.modules.docking.iam.service;
|
||||||
|
|
||||||
import cn.hutool.core.date.DatePattern;
|
|
||||||
import cn.hutool.core.date.DateUtil;
|
|
||||||
import cn.hutool.core.text.CharSequenceUtil;
|
import cn.hutool.core.text.CharSequenceUtil;
|
||||||
import cn.hutool.core.util.NumberUtil;
|
import cn.hutool.core.util.NumberUtil;
|
||||||
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.bamboocloud.codec.BamboocloudFacade;
|
import com.banboocloud.Codec.BamboocloudFacade;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
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.constant.CommonConstant;
|
import com.jero.common.constant.CommonConstant;
|
||||||
@@ -28,6 +28,7 @@ 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.encrypt.SendEncryptReturnsPo;
|
import com.jero.modules.docking.iam.po.encrypt.SendEncryptReturnsPo;
|
||||||
import com.jero.modules.docking.iam.po.encrypt.SendPoEncryptPo;
|
import com.jero.modules.docking.iam.po.encrypt.SendPoEncryptPo;
|
||||||
|
import com.jero.modules.docking.utils.BamboocloudCheryUtils;
|
||||||
import com.jero.modules.docking.utils.DockingConstant;
|
import com.jero.modules.docking.utils.DockingConstant;
|
||||||
import com.jero.modules.system.entity.*;
|
import com.jero.modules.system.entity.*;
|
||||||
import com.jero.modules.system.service.*;
|
import com.jero.modules.system.service.*;
|
||||||
@@ -40,7 +41,9 @@ import org.springframework.stereotype.Service;
|
|||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import java.lang.reflect.Field;
|
import java.lang.reflect.Field;
|
||||||
|
import java.text.ParseException;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
@@ -85,6 +88,50 @@ public class SyncIamService {
|
|||||||
|
|
||||||
private String DATE_FORMAT = "yyyy-MM-dd HH:mm:ss";
|
private String DATE_FORMAT = "yyyy-MM-dd HH:mm:ss";
|
||||||
|
|
||||||
|
public final String PARAM_NOT_GET_ERROR = "参数传递错误,未收到参数";
|
||||||
|
|
||||||
|
//SM4
|
||||||
|
@Value("${iam.sm4.key}")
|
||||||
|
private String key;
|
||||||
|
|
||||||
|
@Value("${iam.sm4.type}")
|
||||||
|
private String type;
|
||||||
|
|
||||||
|
@Value("${iam.sm4.signType}")
|
||||||
|
private String signType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 签名验证,返回参数
|
||||||
|
* @param req
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public String getStringObjectMap(HttpServletRequest req) {
|
||||||
|
try {
|
||||||
|
String bodyparam = BamboocloudCheryUtils.getRequestBody(req);
|
||||||
|
System.out.println("first--param-->" + bodyparam);
|
||||||
|
//报文解密
|
||||||
|
bodyparam = BamboocloudCheryUtils.getPlaintext(bodyparam, key, type);
|
||||||
|
System.out.println("json--param-->" + bodyparam);
|
||||||
|
Map<String,Object> reqMap = (Map<String,Object>) JSON.parse(bodyparam);
|
||||||
|
//验证签名
|
||||||
|
if (!BamboocloudCheryUtils.verify(reqMap, signType)) {
|
||||||
|
throw new IamGlobalException(reqMap.getOrDefault("bimRequestId","").toString(), PARAM_NOT_GET_ERROR);
|
||||||
|
}
|
||||||
|
return JSON.toJSONString(reqMap);
|
||||||
|
}catch (Exception e){
|
||||||
|
throw new IamGlobalException("", PARAM_NOT_GET_ERROR);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 签名验证,返回参数
|
||||||
|
* @param str
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public String strEncrypt(String str) {
|
||||||
|
return BamboocloudFacade.encrypt(str, key, type);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 校验IAM调用时的账号密码是否正确
|
* 校验IAM调用时的账号密码是否正确
|
||||||
* 校验通过了正常走后续,不通过直接返回
|
* 校验通过了正常走后续,不通过直接返回
|
||||||
@@ -165,6 +212,33 @@ public class SyncIamService {
|
|||||||
SysUser sysUser = new SysUser();
|
SysUser sysUser = new SysUser();
|
||||||
sysUser.setUsername(userAcceptDto.getSrmsUsername());
|
sysUser.setUsername(userAcceptDto.getSrmsUsername());
|
||||||
sysUser.setRealname(userAcceptDto.getSrmsRealname());
|
sysUser.setRealname(userAcceptDto.getSrmsRealname());
|
||||||
|
try {
|
||||||
|
if(StringUtils.isEmpty(userAcceptDto.getBirthday())){
|
||||||
|
sysUser.setBirthday(null);
|
||||||
|
}else{
|
||||||
|
sysUser.setBirthday(new SimpleDateFormat("yyyy-MM-dd").parse(userAcceptDto.getBirthday()));
|
||||||
|
}
|
||||||
|
} catch (ParseException e) {
|
||||||
|
throw new IamGlobalException(userAcceptDto.getBimRequestId(),"生日格式错误,请输入(yyyy-MM-dd)");
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
if(StringUtils.isEmpty(userAcceptDto.getEntryTime())){
|
||||||
|
sysUser.setEntryTime(null);
|
||||||
|
}else{
|
||||||
|
sysUser.setEntryTime(new SimpleDateFormat("yyyy-MM-dd").parse(userAcceptDto.getEntryTime()));
|
||||||
|
}
|
||||||
|
} catch (ParseException e) {
|
||||||
|
throw new IamGlobalException(userAcceptDto.getBimRequestId(),"入职时间格式错误,请输入(yyyy-MM-dd)");
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
if(StringUtils.isEmpty(userAcceptDto.getResignationTime())){
|
||||||
|
sysUser.setResignationTime(null);
|
||||||
|
}else{
|
||||||
|
sysUser.setResignationTime(new SimpleDateFormat("yyyy-MM-dd").parse(userAcceptDto.getResignationTime()));
|
||||||
|
}
|
||||||
|
} catch (ParseException e) {
|
||||||
|
throw new IamGlobalException(userAcceptDto.getBimRequestId(),"离职时间格式错误,请输入(yyyy-MM-dd)");
|
||||||
|
}
|
||||||
|
|
||||||
sysUser.setPassword(CommonConstant.DEFAULT_PASSWORD);
|
sysUser.setPassword(CommonConstant.DEFAULT_PASSWORD);
|
||||||
String salt = UUIDUtils.randomUUID(8);
|
String salt = UUIDUtils.randomUUID(8);
|
||||||
@@ -179,37 +253,16 @@ public class SyncIamService {
|
|||||||
sysUser.setEmail(userAcceptDto.getSrmsEmail());
|
sysUser.setEmail(userAcceptDto.getSrmsEmail());
|
||||||
sysUser.setPhone(userAcceptDto.getSrmsPhone());
|
sysUser.setPhone(userAcceptDto.getSrmsPhone());
|
||||||
|
|
||||||
if ("1".equals(userAcceptDto.getSrmsStatus())){
|
sysUser.setTelephone(userAcceptDto.getSrmsPhone());
|
||||||
sysUser.setStatus(CommonConstant.USER_UNFREEZE);
|
|
||||||
sysUser.setDelFlag(CommonConstant.DEL_FLAG_0);
|
|
||||||
} else {
|
|
||||||
sysUser.setStatus(CommonConstant.USER_FREEZE);
|
|
||||||
sysUser.setDelFlag(CommonConstant.DEL_FLAG_1);
|
|
||||||
}
|
|
||||||
|
|
||||||
sysUser.setTelephone(userAcceptDto.getSrmsOfficePhone());
|
|
||||||
sysUser.setCreateBy(DockingConstant.IAM_SYSTEM_NAME);
|
sysUser.setCreateBy(DockingConstant.IAM_SYSTEM_NAME);
|
||||||
sysUser.setUpdateBy(DockingConstant.IAM_SYSTEM_NAME);
|
sysUser.setUpdateBy(DockingConstant.IAM_SYSTEM_NAME);
|
||||||
|
|
||||||
if (CharSequenceUtil.isNotEmpty(userAcceptDto.getSrmsCreateTime())){
|
|
||||||
Date createTime = DateUtils.str2Date(userAcceptDto.getSrmsCreateTime(), new SimpleDateFormat(DATE_FORMAT));
|
|
||||||
sysUser.setCreateTime(createTime);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (CharSequenceUtil.isNotEmpty(userAcceptDto.getSrmsUpdateTime())){
|
|
||||||
Date updateTime = DateUtils.str2Date(userAcceptDto.getSrmsUpdateTime(), new SimpleDateFormat(DATE_FORMAT));
|
|
||||||
sysUser.setCreateTime(updateTime);
|
|
||||||
}
|
|
||||||
|
|
||||||
sysUser.setActivitiSync(0);
|
sysUser.setActivitiSync(0);
|
||||||
sysUser.setUserIdentity(0);
|
sysUser.setUserIdentity(0);
|
||||||
// 设置飞书id, IAM村的id就是飞书id
|
// 设置飞书id, IAM村的id就是飞书id
|
||||||
sysUser.setFeishuId(userAcceptDto.getId());
|
sysUser.setFeishuId(userAcceptDto.getEmployeeNo());
|
||||||
sysUser.setTypeId(userAcceptDto.getSrmsTypeId());
|
sysUser.setTypeId(userAcceptDto.getSrmsTypeId());
|
||||||
sysUser.setPost(userAcceptDto.getSrmsPost());
|
sysUser.setStatus(1);
|
||||||
sysUser.setDutyLevelId(userAcceptDto.getSrmsDutyLevelId());
|
|
||||||
sysUser.setDirectLeadership(userAcceptDto.getSrmsDirectLeadership());
|
|
||||||
sysUser.setPostStatus(userAcceptDto.getSrmsPostStatus());
|
|
||||||
|
|
||||||
// 获取组织机构(多个逗号分隔)
|
// 获取组织机构(多个逗号分隔)
|
||||||
String orgCode = userAcceptDto.getSrmsOrgCode();
|
String orgCode = userAcceptDto.getSrmsOrgCode();
|
||||||
@@ -229,10 +282,10 @@ public class SyncIamService {
|
|||||||
* @param userAcceptDto
|
* @param userAcceptDto
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public IamCommonResponseDto userUpdateService(IamUserAcceptDto userAcceptDto){
|
public IamUserCreateResponse userUpdateService(IamUserAcceptDto userAcceptDto){
|
||||||
log.info("用户更新收到的解密后数据:{}", userAcceptDto.toString());
|
log.info("用户更新收到的解密后数据:{}", userAcceptDto.toString());
|
||||||
|
|
||||||
if (userAcceptDto == null || CharSequenceUtil.isEmpty(userAcceptDto.getBimUid())){
|
if (CharSequenceUtil.isEmpty(userAcceptDto.getBimUid())){
|
||||||
throw new IamGlobalException(userAcceptDto.getBimRequestId(), "用户id(bimUid)为空,无法进行用户信息更新");
|
throw new IamGlobalException(userAcceptDto.getBimRequestId(), "用户id(bimUid)为空,无法进行用户信息更新");
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -254,54 +307,43 @@ public class SyncIamService {
|
|||||||
sysUser.setSex(Integer.valueOf(userAcceptDto.getSrmsSex()));
|
sysUser.setSex(Integer.valueOf(userAcceptDto.getSrmsSex()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// 手机号 和 邮箱有加密,需要单独处理
|
// 手机号 和 邮箱有加密,需要单独处理
|
||||||
sysUser.setEmail(userAcceptDto.getSrmsEmail());
|
sysUser.setEmail(userAcceptDto.getSrmsEmail());
|
||||||
sysUser.setPhone(userAcceptDto.getSrmsPhone());
|
sysUser.setPhone(userAcceptDto.getSrmsPhone());
|
||||||
|
|
||||||
if (CharSequenceUtil.isNotEmpty(userAcceptDto.getSrmsStatus())){
|
|
||||||
if ("1".equals(userAcceptDto.getSrmsStatus())){
|
|
||||||
sysUser.setStatus(CommonConstant.USER_UNFREEZE);
|
|
||||||
sysUser.setDelFlag(CommonConstant.DEL_FLAG_0);
|
|
||||||
} else {
|
|
||||||
sysUser.setStatus(CommonConstant.USER_FREEZE);
|
|
||||||
sysUser.setDelFlag(CommonConstant.DEL_FLAG_1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (CharSequenceUtil.isNotEmpty(userAcceptDto.getSrmsOfficePhone())){
|
|
||||||
sysUser.setTelephone(userAcceptDto.getSrmsOfficePhone());
|
|
||||||
}
|
|
||||||
|
|
||||||
sysUser.setUpdateBy(DockingConstant.IAM_SYSTEM_NAME);
|
sysUser.setUpdateBy(DockingConstant.IAM_SYSTEM_NAME);
|
||||||
|
|
||||||
if (CharSequenceUtil.isNotEmpty(userAcceptDto.getSrmsUpdateTime())){
|
|
||||||
Date updateTime = DateUtils.str2Date(userAcceptDto.getSrmsUpdateTime(), new SimpleDateFormat(DATE_FORMAT));
|
|
||||||
sysUser.setCreateTime(updateTime);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (CharSequenceUtil.isNotEmpty(userAcceptDto.getSrmsTypeId())){
|
if (CharSequenceUtil.isNotEmpty(userAcceptDto.getSrmsTypeId())){
|
||||||
sysUser.setTypeId(userAcceptDto.getSrmsTypeId());
|
sysUser.setTypeId(userAcceptDto.getSrmsTypeId());
|
||||||
}
|
}
|
||||||
|
try {
|
||||||
if (CharSequenceUtil.isNotEmpty(userAcceptDto.getSrmsPost())){
|
if(StringUtils.isEmpty(userAcceptDto.getBirthday())){
|
||||||
sysUser.setPost(userAcceptDto.getSrmsPost());
|
sysUser.setBirthday(null);
|
||||||
|
}else{
|
||||||
|
sysUser.setBirthday(new SimpleDateFormat("yyyy-MM-dd").parse(userAcceptDto.getBirthday()));
|
||||||
|
}
|
||||||
|
} catch (ParseException e) {
|
||||||
|
throw new IamGlobalException(userAcceptDto.getBimRequestId(),"生日格式错误,请输入(yyyy-MM-dd)");
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
if(StringUtils.isEmpty(userAcceptDto.getEntryTime())){
|
||||||
|
sysUser.setEntryTime(null);
|
||||||
|
}else{
|
||||||
|
sysUser.setEntryTime(new SimpleDateFormat("yyyy-MM-dd").parse(userAcceptDto.getEntryTime()));
|
||||||
|
}
|
||||||
|
} catch (ParseException e) {
|
||||||
|
throw new IamGlobalException(userAcceptDto.getBimRequestId(),"入职时间格式错误,请输入(yyyy-MM-dd)");
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
if(StringUtils.isEmpty(userAcceptDto.getResignationTime())){
|
||||||
|
sysUser.setResignationTime(null);
|
||||||
|
}else{
|
||||||
|
sysUser.setResignationTime(new SimpleDateFormat("yyyy-MM-dd").parse(userAcceptDto.getResignationTime()));
|
||||||
|
}
|
||||||
|
} catch (ParseException e) {
|
||||||
|
throw new IamGlobalException(userAcceptDto.getBimRequestId(),"离职时间格式错误,请输入(yyyy-MM-dd)");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (CharSequenceUtil.isNotEmpty(userAcceptDto.getSrmsDutyLevelId())){
|
|
||||||
sysUser.setDutyLevelId(userAcceptDto.getSrmsDutyLevelId());
|
|
||||||
}
|
|
||||||
|
|
||||||
if (CharSequenceUtil.isNotEmpty(userAcceptDto.getSrmsDirectLeadership())){
|
|
||||||
sysUser.setDirectLeadership(userAcceptDto.getSrmsDirectLeadership());
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
if (CharSequenceUtil.isNotEmpty(userAcceptDto.getSrmsPostStatus())){
|
|
||||||
sysUser.setPostStatus(userAcceptDto.getSrmsPostStatus());
|
|
||||||
}
|
|
||||||
// 设置飞书id, IAM村的id就是飞书id
|
// 设置飞书id, IAM村的id就是飞书id
|
||||||
sysUser.setFeishuId(userAcceptDto.getId());
|
sysUser.setFeishuId(userAcceptDto.getEmployeeNo());
|
||||||
// 获取组织机构(多个逗号分隔)
|
// 获取组织机构(多个逗号分隔)
|
||||||
String orgCode = userAcceptDto.getSrmsOrgCode();
|
String orgCode = userAcceptDto.getSrmsOrgCode();
|
||||||
String selectedDeparts = null;
|
String selectedDeparts = null;
|
||||||
@@ -318,12 +360,12 @@ public class SyncIamService {
|
|||||||
// 编辑存储到用户表中,角色是系统自己处理的,更新不会影响角色,所以不传
|
// 编辑存储到用户表中,角色是系统自己处理的,更新不会影响角色,所以不传
|
||||||
this.sysUserService.editUser(sysUser, null, selectedDeparts);
|
this.sysUserService.editUser(sysUser, null, selectedDeparts);
|
||||||
|
|
||||||
IamCommonResponseDto iamCommonResponseDto = new IamCommonResponseDto();
|
IamUserCreateResponse iamUserCreateResponse = new IamUserCreateResponse();
|
||||||
iamCommonResponseDto.setBimRequestId(userAcceptDto.getBimRequestId());
|
iamUserCreateResponse.setBimRequestId(userAcceptDto.getBimRequestId());
|
||||||
iamCommonResponseDto.setResultCode(DockingConstant.IAM_SUCCESS_RESULT_CODE);
|
iamUserCreateResponse.setResultCode(DockingConstant.IAM_SUCCESS_RESULT_CODE);
|
||||||
iamCommonResponseDto.setMessage(DockingConstant.IAM_SUCCESS_MESSAGE);
|
iamUserCreateResponse.setMessage(DockingConstant.IAM_SUCCESS_MESSAGE);
|
||||||
|
iamUserCreateResponse.setUid(userAcceptDto.getBimUid());
|
||||||
return iamCommonResponseDto;
|
return iamUserCreateResponse;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -343,7 +385,11 @@ public class SyncIamService {
|
|||||||
|
|
||||||
log.info("用户删除收到的解密后数据:{}", userAcceptDto.toString());
|
log.info("用户删除收到的解密后数据:{}", userAcceptDto.toString());
|
||||||
|
|
||||||
this.sysUserService.deleteUser(userAcceptDto.getBimUid());
|
LambdaUpdateWrapper<SysUser> updateSysUser = new LambdaUpdateWrapper<>();
|
||||||
|
updateSysUser.eq(SysUser::getId,userAcceptDto.getBimUid());
|
||||||
|
updateSysUser.set(SysUser::getStatus,"2");
|
||||||
|
updateSysUser.set(SysUser::getUpdateTime,new Date());
|
||||||
|
this.sysUserService.update(updateSysUser);
|
||||||
|
|
||||||
IamCommonResponseDto iamCommonResponseDto = new IamCommonResponseDto();
|
IamCommonResponseDto iamCommonResponseDto = new IamCommonResponseDto();
|
||||||
iamCommonResponseDto.setBimRequestId(userAcceptDto.getBimRequestId());
|
iamCommonResponseDto.setBimRequestId(userAcceptDto.getBimRequestId());
|
||||||
@@ -387,46 +433,9 @@ public class SyncIamService {
|
|||||||
sysDepart.setDepartName(orgAcceptDto.getSrmsDepartName());
|
sysDepart.setDepartName(orgAcceptDto.getSrmsDepartName());
|
||||||
sysDepart.setDepartOrder(100); // 接入数据无排序,都设置为100
|
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());
|
|
||||||
|
|
||||||
if ("1".equals(orgAcceptDto.getSrmsStatus())){
|
|
||||||
sysDepart.setStatus(CommonConstant.STATUS_1);
|
|
||||||
sysDepart.setDelFlag(String.valueOf(CommonConstant.DEL_FLAG_0));
|
|
||||||
} else {
|
|
||||||
sysDepart.setStatus(CommonConstant.STATUS_0);
|
|
||||||
sysDepart.setDelFlag(String.valueOf(CommonConstant.DEL_FLAG_1));
|
|
||||||
}
|
|
||||||
|
|
||||||
sysDepart.setCreateBy(DockingConstant.IAM_SYSTEM_NAME);
|
|
||||||
if (CharSequenceUtil.isNotEmpty(orgAcceptDto.getSrmsCreateTime())){
|
|
||||||
Date createTime = DateUtils.str2Date(orgAcceptDto.getSrmsCreateTime(), new SimpleDateFormat(DATE_FORMAT));
|
|
||||||
sysDepart.setCreateTime(createTime);
|
|
||||||
}
|
|
||||||
|
|
||||||
sysDepart.setUpdateBy(DockingConstant.IAM_SYSTEM_NAME);
|
|
||||||
if (CharSequenceUtil.isNotEmpty(orgAcceptDto.getSrmsUpdateTime())){
|
|
||||||
Date updateTime = DateUtils.str2Date(orgAcceptDto.getSrmsUpdateTime(), new SimpleDateFormat(DATE_FORMAT));
|
|
||||||
sysDepart.setCreateTime(updateTime);
|
|
||||||
}
|
|
||||||
|
|
||||||
sysDepart.setCompany(orgAcceptDto.getSrmsCompany());
|
|
||||||
sysDepart.setHeadOfDepartment(orgAcceptDto.getSrmsHeadOfDepartment());
|
|
||||||
sysDepart.setLeadersInCharge(orgAcceptDto.getSrmsLeadersInCharge());
|
|
||||||
sysDepart.setDeputyLeader(orgAcceptDto.getSrmsDeputyLeader());
|
|
||||||
|
|
||||||
// 存储到组织机构表中
|
// 存储到组织机构表中
|
||||||
this.sysDepartService.save(sysDepart);
|
this.sysDepartService.save(sysDepart);
|
||||||
|
iamOrgCreateResponse.setUid(sysDepart.getId());
|
||||||
iamOrgCreateResponse.setOrgId(sysDepart.getId());
|
|
||||||
|
|
||||||
return iamOrgCreateResponse;
|
return iamOrgCreateResponse;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -461,55 +470,6 @@ public class SyncIamService {
|
|||||||
sysDepart.setDepartName(orgAcceptDto.getSrmsDepartName());
|
sysDepart.setDepartName(orgAcceptDto.getSrmsDepartName());
|
||||||
}
|
}
|
||||||
|
|
||||||
if (CharSequenceUtil.isNotEmpty(orgAcceptDto.getSrmsOrgCategory())){
|
|
||||||
// 1为单位,2为部门,转映射到 本系统内的数据 1公司,2组织机构,映射关系一致。如下代码是为了后续修改方便
|
|
||||||
if ("1".equals(orgAcceptDto.getSrmsOrgCategory())){
|
|
||||||
sysDepart.setOrgCategory("1");
|
|
||||||
} else {
|
|
||||||
sysDepart.setOrgCategory("2");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (CharSequenceUtil.isNotEmpty(orgAcceptDto.getSrmsType())){
|
|
||||||
sysDepart.setOrgType(orgAcceptDto.getSrmsType());
|
|
||||||
}
|
|
||||||
|
|
||||||
if (CharSequenceUtil.isNotEmpty(orgAcceptDto.getSrmsOrgCode())){
|
|
||||||
sysDepart.setOrgCode(orgAcceptDto.getSrmsOrgCode());
|
|
||||||
}
|
|
||||||
|
|
||||||
if (CharSequenceUtil.isNotEmpty(orgAcceptDto.getSrmsStatus())){
|
|
||||||
if ("1".equals(orgAcceptDto.getSrmsStatus())){
|
|
||||||
sysDepart.setStatus(CommonConstant.STATUS_1);
|
|
||||||
sysDepart.setDelFlag(String.valueOf(CommonConstant.DEL_FLAG_0));
|
|
||||||
} else {
|
|
||||||
sysDepart.setStatus(CommonConstant.STATUS_0);
|
|
||||||
sysDepart.setDelFlag(String.valueOf(CommonConstant.DEL_FLAG_1));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
sysDepart.setUpdateBy(DockingConstant.IAM_SYSTEM_NAME);
|
|
||||||
if (CharSequenceUtil.isNotEmpty(orgAcceptDto.getSrmsUpdateTime())){
|
|
||||||
Date updateTime = DateUtils.str2Date(orgAcceptDto.getSrmsUpdateTime(), new SimpleDateFormat(DATE_FORMAT));
|
|
||||||
sysDepart.setCreateTime(updateTime);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (CharSequenceUtil.isNotEmpty(orgAcceptDto.getSrmsCompany())){
|
|
||||||
sysDepart.setCompany(orgAcceptDto.getSrmsCompany());
|
|
||||||
}
|
|
||||||
|
|
||||||
if (CharSequenceUtil.isNotEmpty(orgAcceptDto.getSrmsHeadOfDepartment())){
|
|
||||||
sysDepart.setHeadOfDepartment(orgAcceptDto.getSrmsHeadOfDepartment());
|
|
||||||
}
|
|
||||||
|
|
||||||
if (CharSequenceUtil.isNotEmpty(orgAcceptDto.getSrmsLeadersInCharge())){
|
|
||||||
sysDepart.setLeadersInCharge(orgAcceptDto.getSrmsLeadersInCharge());
|
|
||||||
}
|
|
||||||
|
|
||||||
if (CharSequenceUtil.isNotEmpty(orgAcceptDto.getSrmsDeputyLeader())){
|
|
||||||
sysDepart.setDeputyLeader(orgAcceptDto.getSrmsDeputyLeader());
|
|
||||||
}
|
|
||||||
|
|
||||||
// 存储到组织机构表中
|
// 存储到组织机构表中
|
||||||
this.sysDepartService.updateById(sysDepart);
|
this.sysDepartService.updateById(sysDepart);
|
||||||
|
|
||||||
@@ -980,20 +940,9 @@ public class SyncIamService {
|
|||||||
if (!Objects.isNull(userInfo.getSex())){
|
if (!Objects.isNull(userInfo.getSex())){
|
||||||
userAcceptDto.setSrmsSex(String.valueOf(userInfo.getSex()));
|
userAcceptDto.setSrmsSex(String.valueOf(userInfo.getSex()));
|
||||||
}
|
}
|
||||||
userAcceptDto.setSrmsEmail(userInfo.getEmail());
|
userAcceptDto.setSrmsEmail(PasswordUtil.decrypt(userInfo.getEmail()));
|
||||||
userAcceptDto.setSrmsPhone(userInfo.getPhone());
|
userAcceptDto.setSrmsPhone(PasswordUtil.decrypt(userInfo.getPhone()));
|
||||||
userAcceptDto.setSrmsOfficePhone(userInfo.getTelephone());
|
|
||||||
if (!Objects.isNull(userInfo.getCreateTime())){
|
|
||||||
userAcceptDto.setSrmsCreateTime(new SimpleDateFormat(DATE_FORMAT).format(userInfo.getCreateTime()));
|
|
||||||
}
|
|
||||||
if (!Objects.isNull(sysUser.getUpdateTime())){
|
|
||||||
userAcceptDto.setSrmsUpdateTime(new SimpleDateFormat(DATE_FORMAT).format(sysUser.getUpdateTime()));
|
|
||||||
}
|
|
||||||
userAcceptDto.setSrmsTypeId(sysUser.getTypeId());
|
userAcceptDto.setSrmsTypeId(sysUser.getTypeId());
|
||||||
userAcceptDto.setSrmsPost(sysUser.getPost());
|
|
||||||
userAcceptDto.setSrmsDutyLevelId(sysUser.getDutyLevelId());
|
|
||||||
userAcceptDto.setSrmsDirectLeadership(sysUser.getDirectLeadership());
|
|
||||||
userAcceptDto.setSrmsPostStatus(sysUser.getPostStatus());
|
|
||||||
|
|
||||||
IamUserInfoResponse iamUserInfoResponse = new IamUserInfoResponse();
|
IamUserInfoResponse iamUserInfoResponse = new IamUserInfoResponse();
|
||||||
iamUserInfoResponse.setAccount(userAcceptDto);
|
iamUserInfoResponse.setAccount(userAcceptDto);
|
||||||
@@ -1020,15 +969,6 @@ public class SyncIamService {
|
|||||||
orgAcceptDto.setSrmsOrgCode(sysDepart.getOrgCode());
|
orgAcceptDto.setSrmsOrgCode(sysDepart.getOrgCode());
|
||||||
orgAcceptDto.setSrmsDepartName(sysDepart.getDepartName());
|
orgAcceptDto.setSrmsDepartName(sysDepart.getDepartName());
|
||||||
orgAcceptDto.setSrmsParentCode(sysDepart.getParentId());
|
orgAcceptDto.setSrmsParentCode(sysDepart.getParentId());
|
||||||
orgAcceptDto.setSrmsCompany(sysDepart.getCompany());
|
|
||||||
orgAcceptDto.setSrmsStatus(sysDepart.getStatus());
|
|
||||||
orgAcceptDto.setSrmsType(sysDepart.getOrgType());
|
|
||||||
orgAcceptDto.setSrmsOrgCategory(sysDepart.getOrgCategory());
|
|
||||||
orgAcceptDto.setSrmsCreateTime(DateUtil.format(sysDepart.getCreateTime(), DatePattern.NORM_DATETIME_PATTERN));
|
|
||||||
orgAcceptDto.setSrmsUpdateTime(DateUtil.format(sysDepart.getUpdateTime(), DatePattern.NORM_DATETIME_PATTERN));
|
|
||||||
orgAcceptDto.setSrmsHeadOfDepartment(sysDepart.getHeadOfDepartment());
|
|
||||||
orgAcceptDto.setSrmsLeadersInCharge(sysDepart.getLeadersInCharge());
|
|
||||||
orgAcceptDto.setSrmsDeputyLeader(sysDepart.getDeputyLeader());
|
|
||||||
|
|
||||||
|
|
||||||
IamOrgInfoResponse iamOrgInfoResponse = new IamOrgInfoResponse();
|
IamOrgInfoResponse iamOrgInfoResponse = new IamOrgInfoResponse();
|
||||||
|
|||||||
+63
@@ -0,0 +1,63 @@
|
|||||||
|
package com.jero.modules.docking.utils;
|
||||||
|
|
||||||
|
import com.banboocloud.Codec.BamboocloudFacade;
|
||||||
|
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
import java.io.BufferedReader;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.TreeMap;
|
||||||
|
|
||||||
|
public class BamboocloudCheryUtils {
|
||||||
|
|
||||||
|
public static String getPlaintext(String ciphertext, String key, String type) {
|
||||||
|
return BamboocloudFacade.decrypt(ciphertext, key, type);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Boolean verify(Map<String, Object> reqmap, String type) {
|
||||||
|
Map<String, Object> verifymap = new TreeMap<>();
|
||||||
|
StringBuilder sb = new StringBuilder();
|
||||||
|
for (String key : reqmap.keySet()) {
|
||||||
|
verifymap.put(key, reqmap.get(key));
|
||||||
|
}
|
||||||
|
for (String key : verifymap.keySet()) {
|
||||||
|
if (!"signature".equals(key)) {
|
||||||
|
sb.append(key).append("=").append(verifymap.get(key)).append("&");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
sb.deleteCharAt(sb.length() - 1);
|
||||||
|
System.out.println(reqmap.get("signature") + " now " + sb.toString());
|
||||||
|
return BamboocloudFacade.verify(reqmap.get("signature").toString(), sb.toString(), type);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String getRequestBody(HttpServletRequest request) {
|
||||||
|
BufferedReader br = null;
|
||||||
|
StringBuilder sb = new StringBuilder();
|
||||||
|
String str;
|
||||||
|
try {
|
||||||
|
br = request.getReader();
|
||||||
|
while ((str = br.readLine()) != null) {
|
||||||
|
sb.append(str);
|
||||||
|
}
|
||||||
|
br.close();
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
if (br != null) {
|
||||||
|
try {
|
||||||
|
br.close();
|
||||||
|
} catch (IOException eo) {
|
||||||
|
eo.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} finally {
|
||||||
|
if (br != null) {
|
||||||
|
try {
|
||||||
|
br.close();
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return sb.toString();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -397,7 +397,7 @@ hiwork:
|
|||||||
# 是否推送统一待办
|
# 是否推送统一待办
|
||||||
isWorkflow: true
|
isWorkflow: true
|
||||||
# 前端调用地址
|
# 前端调用地址
|
||||||
url: https://iam-uat.sinotruk.com:7011/idp/oauth2/authorize?&state=123&client_id=SRMS&response_type=code&redirect_uri=
|
url: https://iamuat.mychery.com:5443/idp/oauth2/authorize?state=123456&client_id=CGRSM&redirect_uri=
|
||||||
fontUrl: http://localhost:3344{url}?projectId={projectId}&taskName={taskName}&taskId={taskId}&processInstanceId={processInstanceId}&nodeId={nodeId}
|
fontUrl: http://localhost:3344{url}?projectId={projectId}&taskName={taskName}&taskId={taskId}&processInstanceId={processInstanceId}&nodeId={nodeId}
|
||||||
fontAppUrl: http://localhost:3344/mobile{url}?projectId={projectId}&taskName={taskName}&taskId={taskId}&processInstanceId={processInstanceId}&nodeId={nodeId}
|
fontAppUrl: http://localhost:3344/mobile{url}?projectId={projectId}&taskName={taskName}&taskId={taskId}&processInstanceId={processInstanceId}&nodeId={nodeId}
|
||||||
#hiwork单点登录
|
#hiwork单点登录
|
||||||
@@ -418,16 +418,16 @@ asms:
|
|||||||
|
|
||||||
# 单点登录配置(所有配置信息需要协调注册,现在都为假)
|
# 单点登录配置(所有配置信息需要协调注册,现在都为假)
|
||||||
oauth:
|
oauth:
|
||||||
# 客户端应用注册ID--客户申请的:SRMS
|
# 客户端应用注册ID--客户申请的:CGRSM
|
||||||
clientId: SRMS
|
clientId: CGRSM
|
||||||
# 客户端应用注册密钥 客户申请的:58a1001438de462193bec307826463c2
|
# 客户端应用注册密钥 客户申请的:58a1001438de462193bec307826463c2
|
||||||
clientSecret: 58a1001438de462193bec307826463c2
|
clientSecret: 58a1001438de462193bec307826463c2
|
||||||
# 授权码验证
|
# 授权码验证
|
||||||
grantType: authorization_code
|
grantType: authorization_code
|
||||||
# 通过授权码获取accessToken请求地址
|
# 通过授权码获取accessToken请求地址
|
||||||
accessTokenUrl: https://iam-uat-new.sinotruk.com/idp/oauth2/getToken
|
accessTokenUrl: https://iamuat.mychery.com:5443/idp/oauth2/getToken
|
||||||
# 通过accessToken获取账号信息请求地址
|
# 通过accessToken获取账号信息请求地址
|
||||||
userInfoUrl: https://iam-uat-new.sinotruk.com/idp/oauth2/getUserInfo
|
userInfoUrl: https://iamuat.mychery.com:5443/idp/oauth2/getUserInfo
|
||||||
# 防止跨站请求伪造(CSRF)标识(暂时不用)
|
# 防止跨站请求伪造(CSRF)标识(暂时不用)
|
||||||
state: zhongQi
|
state: zhongQi
|
||||||
|
|
||||||
@@ -435,7 +435,7 @@ oa:
|
|||||||
url: http://oa
|
url: http://oa
|
||||||
getAccessTokenUrl: ${oa.url}/getAccessToken
|
getAccessTokenUrl: ${oa.url}/getAccessToken
|
||||||
getTicketInfoUrl: ${oa.url}/getTicketInfo
|
getTicketInfoUrl: ${oa.url}/getTicketInfo
|
||||||
appId: SRMS
|
appId: CGRSM
|
||||||
appSecret: 196b2e1f-127f-47d5-8e33-746fb8ad0387
|
appSecret: 196b2e1f-127f-47d5-8e33-746fb8ad0387
|
||||||
|
|
||||||
# 起草部门部门名称
|
# 起草部门部门名称
|
||||||
|
|||||||
@@ -376,12 +376,16 @@ iam:
|
|||||||
bpmcAppkey: test
|
bpmcAppkey: test
|
||||||
# 创建用户默认角色
|
# 创建用户默认角色
|
||||||
defaultRoleIds: 817f7f818bb3506e018bb3506ef70000
|
defaultRoleIds: 817f7f818bb3506e018bb3506ef70000
|
||||||
|
# 对接验证参数
|
||||||
|
sm4:
|
||||||
|
key: JLB6L6MJVIT5Z7IL
|
||||||
|
type: SM4
|
||||||
|
signType: SM3
|
||||||
# Hiwork集成
|
# Hiwork集成
|
||||||
hiwork:
|
hiwork:
|
||||||
ip: http://10.2.5.218:8088/
|
ip: http://10.2.5.218:8088/
|
||||||
# 异构系统标识
|
# 异构系统标识
|
||||||
sysCode: SRMS
|
sysCode: CGRSM
|
||||||
# 服务号
|
# 服务号
|
||||||
serviceCode: SRMSService
|
serviceCode: SRMSService
|
||||||
# 统一待办集成
|
# 统一待办集成
|
||||||
@@ -393,7 +397,7 @@ hiwork:
|
|||||||
# 是否推送统一待办
|
# 是否推送统一待办
|
||||||
isWorkflow: false
|
isWorkflow: false
|
||||||
# 前端调用地址
|
# 前端调用地址
|
||||||
url: https://iam-uat.sinotruk.com:7011/idp/oauth2/authorize?&state=123&client_id=SRMS&response_type=code&redirect_uri=
|
url: https://iamuat.mychery.com:5443/idp/oauth2/authorize?state=123456&client_id=CGRSM&redirect_uri=
|
||||||
fontUrl: http://localhost:3344{url}?projectId={projectId}&taskName={taskName}&taskId={taskId}&processInstanceId={processInstanceId}&nodeId={nodeId}
|
fontUrl: http://localhost:3344{url}?projectId={projectId}&taskName={taskName}&taskId={taskId}&processInstanceId={processInstanceId}&nodeId={nodeId}
|
||||||
fontAppUrl: http://localhost:3344/mobile{url}?projectId={projectId}&taskName={taskName}&taskId={taskId}&processInstanceId={processInstanceId}&nodeId={nodeId}
|
fontAppUrl: http://localhost:3344/mobile{url}?projectId={projectId}&taskName={taskName}&taskId={taskId}&processInstanceId={processInstanceId}&nodeId={nodeId}
|
||||||
#hiwork单点登录
|
#hiwork单点登录
|
||||||
@@ -414,16 +418,16 @@ asms:
|
|||||||
|
|
||||||
# 单点登录配置(所有配置信息需要协调注册,现在都为假)
|
# 单点登录配置(所有配置信息需要协调注册,现在都为假)
|
||||||
oauth:
|
oauth:
|
||||||
# 客户端应用注册ID--客户申请的:SRMS
|
# 客户端应用注册ID--客户申请的:CGRSM
|
||||||
clientId: SRMS
|
clientId: CGRSM
|
||||||
# 客户端应用注册密钥 客户申请的:58a1001438de462193bec307826463c2
|
# 客户端应用注册密钥 客户申请的:58a1001438de462193bec307826463c2
|
||||||
clientSecret: 58a1001438de462193bec307826463c2
|
clientSecret: 58a1001438de462193bec307826463c2
|
||||||
# 授权码验证
|
# 授权码验证
|
||||||
grantType: authorization_code
|
grantType: authorization_code
|
||||||
# 通过授权码获取accessToken请求地址
|
# 通过授权码获取accessToken请求地址
|
||||||
accessTokenUrl: https://iam-uat-new.sinotruk.com/idp/oauth2/getToken
|
accessTokenUrl: https://iamuat.mychery.com:5443/idp/oauth2/getToken
|
||||||
# 通过accessToken获取账号信息请求地址
|
# 通过accessToken获取账号信息请求地址
|
||||||
userInfoUrl: https://iam-uat-new.sinotruk.com/idp/oauth2/getUserInfo
|
userInfoUrl: https://iamuat.mychery.com:5443/idp/oauth2/getUserInfo
|
||||||
# 防止跨站请求伪造(CSRF)标识(暂时不用)
|
# 防止跨站请求伪造(CSRF)标识(暂时不用)
|
||||||
state: zhongQi
|
state: zhongQi
|
||||||
|
|
||||||
@@ -456,12 +460,12 @@ download:
|
|||||||
# 加密参数
|
# 加密参数
|
||||||
encrypt:
|
encrypt:
|
||||||
url: http://10.2.159.90/intekey/encrypteFile
|
url: http://10.2.159.90/intekey/encrypteFile
|
||||||
app_code: SRMS
|
app_code: CGRSM
|
||||||
secret_key: SRMS1234..
|
secret_key: SRMS1234..
|
||||||
# 解密参数
|
# 解密参数
|
||||||
decrypt:
|
decrypt:
|
||||||
url: http://10.2.159.90/intekey/file
|
url: http://10.2.159.90/intekey/file
|
||||||
app_code: SRMS
|
app_code: CGRSM
|
||||||
secret_key: SRMS1234..
|
secret_key: SRMS1234..
|
||||||
# 研发域
|
# 研发域
|
||||||
scope_dev: 51
|
scope_dev: 51
|
||||||
|
|||||||
Reference in New Issue
Block a user