From fbea281e165ff4dbd928d43bb6ca4611984edca1 Mon Sep 17 00:00:00 2001 From: yanglin Date: Fri, 7 Feb 2025 17:45:00 +0800 Subject: [PATCH] =?UTF-8?q?REQ-3345:=20=E5=A4=84=E7=90=86=E5=8D=A1?= =?UTF-8?q?=E7=89=87=E5=8F=AF=E8=A7=81=E6=80=A7=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/cn/axzo/msg/center/dal/CardDao.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/msg-center-dal/src/main/java/cn/axzo/msg/center/dal/CardDao.java b/msg-center-dal/src/main/java/cn/axzo/msg/center/dal/CardDao.java index 44f11714..205b9eb4 100644 --- a/msg-center-dal/src/main/java/cn/axzo/msg/center/dal/CardDao.java +++ b/msg-center-dal/src/main/java/cn/axzo/msg/center/dal/CardDao.java @@ -57,8 +57,12 @@ public class CardDao extends ServiceImpl { List updatableResults = imResponse.getUpdatableMessageSendResults(); if (updatableResults == null) updatableResults = Collections.emptyList(); - Map account2BizMessageId = updatableResults.stream() - .collect(toMap(UpdatableMessageSendResult::getAccount, UpdatableMessageSendResult::getBizMessageId)); + Map person2BizMessageId = updatableResults.stream() + .filter(result -> result.getPerson() != null) + .collect(toMap(UpdatableMessageSendResult::getPerson, UpdatableMessageSendResult::getBizMessageId)); + Map imAccount2BizMessageId = updatableResults.stream() + .filter(result -> result.getImAccount() != null) + .collect(toMap(UpdatableMessageSendResult::getImAccount, UpdatableMessageSendResult::getBizMessageId)); for (Card card : cards) { PersonAccountAttribute key = new PersonAccountAttribute(); key.setPersonId(card.getReceiverPersonId() + ""); @@ -70,7 +74,9 @@ public class CardDao extends ServiceImpl { update.setId(card.getId()); update.setImTaskId(imResponse.getId()); update.setCardState(CardState.SEND_SUCCESS); - String bizMessageId = account2BizMessageId.get(key); + String bizMessageId = person2BizMessageId.get(key); + if (bizMessageId == null) + bizMessageId = imAccount2BizMessageId.get(card.getImReceiveAccount()); if (bizMessageId != null) update.setBizMessageId(bizMessageId); updates.add(update);