REQ-3345: 处理卡片可见性问题
This commit is contained in:
parent
2b9d1d8602
commit
fbea281e16
@ -57,8 +57,12 @@ public class CardDao extends ServiceImpl<CardMapper, Card> {
|
||||
List<UpdatableMessageSendResult> updatableResults = imResponse.getUpdatableMessageSendResults();
|
||||
if (updatableResults == null)
|
||||
updatableResults = Collections.emptyList();
|
||||
Map<PersonAccountAttribute, String> account2BizMessageId = updatableResults.stream()
|
||||
.collect(toMap(UpdatableMessageSendResult::getAccount, UpdatableMessageSendResult::getBizMessageId));
|
||||
Map<PersonAccountAttribute, String> person2BizMessageId = updatableResults.stream()
|
||||
.filter(result -> result.getPerson() != null)
|
||||
.collect(toMap(UpdatableMessageSendResult::getPerson, UpdatableMessageSendResult::getBizMessageId));
|
||||
Map<String, String> 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<CardMapper, Card> {
|
||||
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);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user