diff --git a/mallchat-common/src/main/java/com/abin/mallchat/common/chat/dao/ContactDao.java b/mallchat-common/src/main/java/com/abin/mallchat/common/chat/dao/ContactDao.java index 2aa648a..ca20a32 100644 --- a/mallchat-common/src/main/java/com/abin/mallchat/common/chat/dao/ContactDao.java +++ b/mallchat-common/src/main/java/com/abin/mallchat/common/chat/dao/ContactDao.java @@ -33,6 +33,7 @@ public class ContactDao extends ServiceImpl { public Integer getReadCount(Message message) { return lambdaQuery() .eq(Contact::getRoomId, message.getRoomId()) + .ne(Contact::getUid, message.getFromUid())//不需要查询出自己 .ge(Contact::getReadTime, message.getCreateTime()) .count(); } diff --git a/mallchat-common/src/main/java/com/abin/mallchat/common/chat/service/impl/ContactServiceImpl.java b/mallchat-common/src/main/java/com/abin/mallchat/common/chat/service/impl/ContactServiceImpl.java index 8c9f78f..ba40a18 100644 --- a/mallchat-common/src/main/java/com/abin/mallchat/common/chat/service/impl/ContactServiceImpl.java +++ b/mallchat-common/src/main/java/com/abin/mallchat/common/chat/service/impl/ContactServiceImpl.java @@ -66,7 +66,7 @@ public class ContactServiceImpl implements ContactService { Integer readCount = contactDao.getReadCount(message); readInfoDTO.setReadCount(readCount); if (needUnread) { - readInfoDTO.setUnReadCount(finalTotalCount - readCount); + readInfoDTO.setUnReadCount(finalTotalCount - readCount - 1); } return readInfoDTO; }).collect(Collectors.toMap(MsgReadInfoDTO::getMsgId, Function.identity()));