|
@@ -572,15 +572,25 @@ public class StoreRenovationRequirementServiceImpl extends ServiceImpl<StoreReno
|
|
|
Boolean hasCommunicated = communicationStatusMap.get(communicationKey);
|
|
Boolean hasCommunicated = communicationStatusMap.get(communicationKey);
|
|
|
|
|
|
|
|
if (hasCommunicated == null) {
|
|
if (hasCommunicated == null) {
|
|
|
- // 查询是否有消息记录(检查双向消息)
|
|
|
|
|
- LambdaQueryWrapper<LifeMessage> messageWrapper = new LambdaQueryWrapper<>();
|
|
|
|
|
- messageWrapper.eq(LifeMessage::getDeleteFlag, 0);
|
|
|
|
|
- messageWrapper.and(w -> w.and(w1 -> w1.eq(LifeMessage::getSenderId, currentUserPhoneId)
|
|
|
|
|
- .eq(LifeMessage::getReceiverId, publishingShopPhoneId))
|
|
|
|
|
- .or(w2 -> w2.eq(LifeMessage::getSenderId, publishingShopPhoneId)
|
|
|
|
|
- .eq(LifeMessage::getReceiverId, currentUserPhoneId)));
|
|
|
|
|
- Integer messageCount = lifeMessageMapper.selectCount(messageWrapper);
|
|
|
|
|
- hasCommunicated = messageCount != null && messageCount > 0;
|
|
|
|
|
|
|
+ // 判断互相都发送过消息才算沟通过
|
|
|
|
|
+ // 检查 currentUserPhoneId 是否给 publishingShopPhoneId 发送过消息
|
|
|
|
|
+ LambdaQueryWrapper<LifeMessage> messageWrapper1 = new LambdaQueryWrapper<>();
|
|
|
|
|
+ messageWrapper1.eq(LifeMessage::getDeleteFlag, 0)
|
|
|
|
|
+ .eq(LifeMessage::getSenderId, currentUserPhoneId)
|
|
|
|
|
+ .eq(LifeMessage::getReceiverId, publishingShopPhoneId);
|
|
|
|
|
+ Integer messageCount1 = lifeMessageMapper.selectCount(messageWrapper1);
|
|
|
|
|
+ boolean hasSentMessage1 = messageCount1 != null && messageCount1 > 0;
|
|
|
|
|
+
|
|
|
|
|
+ // 检查 publishingShopPhoneId 是否给 currentUserPhoneId 发送过消息
|
|
|
|
|
+ LambdaQueryWrapper<LifeMessage> messageWrapper2 = new LambdaQueryWrapper<>();
|
|
|
|
|
+ messageWrapper2.eq(LifeMessage::getDeleteFlag, 0)
|
|
|
|
|
+ .eq(LifeMessage::getSenderId, publishingShopPhoneId)
|
|
|
|
|
+ .eq(LifeMessage::getReceiverId, currentUserPhoneId);
|
|
|
|
|
+ Integer messageCount2 = lifeMessageMapper.selectCount(messageWrapper2);
|
|
|
|
|
+ boolean hasSentMessage2 = messageCount2 != null && messageCount2 > 0;
|
|
|
|
|
+
|
|
|
|
|
+ // 只有双方都发送过消息才算沟通过
|
|
|
|
|
+ hasCommunicated = hasSentMessage1 && hasSentMessage2;
|
|
|
communicationStatusMap.put(communicationKey, hasCommunicated);
|
|
communicationStatusMap.put(communicationKey, hasCommunicated);
|
|
|
}
|
|
}
|
|
|
|
|
|