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) {
ProcessAll processAll = processAllService.getByProcessInstanceId(processInstanceId);
List<EsRevisionAdvice> advices = revision.getAdvices();
// 发送消息
for (EsRevisionAdvice advice : advices) {
// 采纳的不发消息
if (HandleAdviceEnum.AGREE.getValue().equals(advice.getHandleAdvice())) {
continue;
}
Map<String, List<EsRevisionAdvice>> adviceMap = advices.stream()
.collect(Collectors.groupingBy(EsRevisionAdvice::getCreateUserId));
// 按照Map的Key遍历
for (String userId : adviceMap.keySet()) {
List<EsRevisionAdvice> adviceList = adviceMap.get(userId);
SendMessageDTO sendMessageDTO = new SendMessageDTO();
sendMessageDTO.setTemplateCode(MessageTemplateCodeCommon.ES_REVISION_ADVICE);
sendMessageDTO.setToUserId(advice.getCreateUserId());
sendMessageDTO.setToUserId(userId);
Map<String, String> sendMap = new HashMap<>();
sendMap.put("prcNum", processAll.getPrcNum());
sendMap.put("prcName", processAll.getPrcName());
sendMap.put("clauseNum", advice.getClauseNum());
sendMap.put("clauseName", advice.getClauseName());
if (HandleAdviceEnum.DISAGREE.getValue().equals(advice.getHandleAdvice())) {
sendMap.put("result", "未被采纳");
} else {
sendMap.put("result", "被部分采纳");
StringBuilder msg = new StringBuilder();
for (EsRevisionAdvice advice : adviceList) {
msg.append(advice.getClauseNum()).append(" ").append(advice.getClauseName());
// 采纳的不发消息
if (HandleAdviceEnum.AGREE.getValue().equals(advice.getHandleAdvice())) {
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);
sendMessageAPI.sendMessage(sendMessageDTO);
}