update:修改转办审核消息推送失败的bug;完善分组管理
This commit is contained in:
+28
-20
@@ -256,30 +256,25 @@ public class FeiShuDockingServiceImpl implements IFeiShuDockingService {
|
||||
logMessage(JSON.toJSONString(instanceDto), instanceDto.getTitle(), jsonResponse, "/feishu/synchronizeApprovalInstance", Constant.FEISHU_PENDING);
|
||||
// 使用审批机器人推送消息
|
||||
String taskStatus = instanceDto.getTaskStatus();
|
||||
String taskIds = instanceDto.getTaskIds();
|
||||
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);
|
||||
String feishuMsgId = processApprovalRecord.getFeishuMsgId();
|
||||
if (StringUtils.isBlank(feishuMsgId)) {
|
||||
// 如果该条审核记录没有飞书消息id,证明是同步待办
|
||||
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());
|
||||
String msgId = sendApprovalMessageByBot(botApprovalMessageDto);
|
||||
// 将msgId存入审核记录表
|
||||
LambdaUpdateWrapper<ProcessApprovalRecord> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
|
||||
lambdaUpdateWrapper.eq(ProcessApprovalRecord::getTaskId,instanceDto.getTaskIds());
|
||||
lambdaUpdateWrapper.set(ProcessApprovalRecord::getFeishuMsgId,msgId);
|
||||
processApprovalRecordService.update(lambdaUpdateWrapper);
|
||||
if (StringUtils.isBlank(feishuMsgId) || instanceDto.getTaskIds().contains("_")) {
|
||||
// 飞书消息为空或者是转办的情况下,都需要进行待办消息的推送
|
||||
if ("PENDING".equals(instanceDto.getTaskStatus())) {
|
||||
BotApprovalMessageDto botApprovalMessageDto = buildBotApprovalMessageDto(instanceDto, approvalsInstanceVo);
|
||||
String msgId = sendApprovalMessageByBot(botApprovalMessageDto);
|
||||
// 将msgId存入审核记录表
|
||||
LambdaUpdateWrapper<ProcessApprovalRecord> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
|
||||
lambdaUpdateWrapper.eq(ProcessApprovalRecord::getTaskId, instanceDto.getTaskIds()).or()
|
||||
.eq(ProcessApprovalRecord::getTransferTaskId, instanceDto.getTaskIds());
|
||||
lambdaUpdateWrapper.set(ProcessApprovalRecord::getFeishuMsgId,msgId);
|
||||
processApprovalRecordService.update(lambdaUpdateWrapper);
|
||||
}
|
||||
}else {
|
||||
// 如果该条审核记录有飞书id ,说明是同步已办
|
||||
// 如果该条审核记录有飞书id ,说明是同步已办,进行审核消息状态的更新
|
||||
ApprovalsUpdateMessageVo approvalsUpdateMessageVo = new ApprovalsUpdateMessageVo();
|
||||
approvalsUpdateMessageVo.setMessage_id(feishuMsgId);
|
||||
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 {
|
||||
// 转换userId为飞书Id
|
||||
// 发起人的id
|
||||
|
||||
Reference in New Issue
Block a user