fix: 81148 企标制修订流程办理未收到消息

This commit is contained in:
2024-02-19 09:59:40 +08:00
parent b872bc4b14
commit 4f37f526a4
@@ -823,26 +823,35 @@ public class EsRevisionServiceImpl extends ServiceImpl<EsRevisionMapper, Process
private void sendMessageToAdviceUser(ProcessEsRevision revision, String processInstanceId) { private void sendMessageToAdviceUser(ProcessEsRevision revision, String processInstanceId) {
ProcessAll processAll = processAllService.getByProcessInstanceId(processInstanceId); ProcessAll processAll = processAllService.getByProcessInstanceId(processInstanceId);
List<EsRevisionAdvice> advices = revision.getAdvices(); List<EsRevisionAdvice> advices = revision.getAdvices();
// 发送消息 Map<String, List<EsRevisionAdvice>> adviceMap = advices.stream()
for (EsRevisionAdvice advice : advices) { .collect(Collectors.groupingBy(EsRevisionAdvice::getCreateUserId));
// 采纳的不发消息 // 按照Map的Key遍历
if (HandleAdviceEnum.AGREE.getValue().equals(advice.getHandleAdvice())) { for (String userId : adviceMap.keySet()) {
continue; List<EsRevisionAdvice> adviceList = adviceMap.get(userId);
}
SendMessageDTO sendMessageDTO = new SendMessageDTO(); SendMessageDTO sendMessageDTO = new SendMessageDTO();
sendMessageDTO.setTemplateCode(MessageTemplateCodeCommon.ES_REVISION_ADVICE); sendMessageDTO.setTemplateCode(MessageTemplateCodeCommon.ES_REVISION_ADVICE);
sendMessageDTO.setToUserId(advice.getCreateUserId()); sendMessageDTO.setToUserId(userId);
Map<String, String> sendMap = new HashMap<>(); Map<String, String> sendMap = new HashMap<>();
sendMap.put("prcNum", processAll.getPrcNum()); sendMap.put("prcNum", processAll.getPrcNum());
sendMap.put("prcName", processAll.getPrcName()); sendMap.put("prcName", processAll.getPrcName());
sendMap.put("clauseNum", advice.getClauseNum()); StringBuilder msg = new StringBuilder();
sendMap.put("clauseName", advice.getClauseName()); for (EsRevisionAdvice advice : adviceList) {
if (HandleAdviceEnum.DISAGREE.getValue().equals(advice.getHandleAdvice())) { msg.append(advice.getClauseNum()).append(" ").append(advice.getClauseName());
sendMap.put("result", "未被采纳"); // 采纳的不发消息
} else { if (HandleAdviceEnum.AGREE.getValue().equals(advice.getHandleAdvice())) {
sendMap.put("result", "被部分采纳"); continue;
}
msg.append(advice.getClauseNum()).append(" ").append(advice.getClauseName());
if (HandleAdviceEnum.DISAGREE.getValue().equals(advice.getHandleAdvice())) {
msg.append(" 未被采纳,");
} else {
msg.append(" 被部分采纳,");
}
msg.append("理由为:").append(advice.getReason()).append("");
} }
sendMap.put("reason", advice.getReason()); // 去除最后一个分号
msg.deleteCharAt(msg.length() - 1);
sendMap.put("msg", msg.toString());
sendMessageDTO.setMap(sendMap); sendMessageDTO.setMap(sendMap);
sendMessageAPI.sendMessage(sendMessageDTO); sendMessageAPI.sendMessage(sendMessageDTO);
} }