Commit ffe516c1 by 吴星煌

统计单个会话未读消息数

parent 1afdf4a4
...@@ -18,6 +18,7 @@ import com.wecloud.im.entity.ImApplication; ...@@ -18,6 +18,7 @@ import com.wecloud.im.entity.ImApplication;
import com.wecloud.im.entity.ImClient; import com.wecloud.im.entity.ImClient;
import com.wecloud.im.entity.ImConversation; import com.wecloud.im.entity.ImConversation;
import com.wecloud.im.entity.ImConversationMembers; import com.wecloud.im.entity.ImConversationMembers;
import com.wecloud.im.entity.ImInbox;
import com.wecloud.im.entity.ImMessage; import com.wecloud.im.entity.ImMessage;
import com.wecloud.im.friend.entity.ImFriend; import com.wecloud.im.friend.entity.ImFriend;
import com.wecloud.im.friend.service.ImFriendService; import com.wecloud.im.friend.service.ImFriendService;
...@@ -54,6 +55,7 @@ import com.wecloud.im.sdk.enums.GroupChatSettingTypeEnum; ...@@ -54,6 +55,7 @@ import com.wecloud.im.sdk.enums.GroupChatSettingTypeEnum;
import com.wecloud.im.sdk.enums.GroupRoleEnum; import com.wecloud.im.sdk.enums.GroupRoleEnum;
import com.wecloud.im.sdk.enums.JoinConversationTypeEnum; import com.wecloud.im.sdk.enums.JoinConversationTypeEnum;
import com.wecloud.im.sdk.enums.MutedEnum; import com.wecloud.im.sdk.enums.MutedEnum;
import com.wecloud.im.sdk.enums.ReadMsgStatusEnum;
import com.wecloud.im.service.ContextService; import com.wecloud.im.service.ContextService;
import com.wecloud.im.service.EhcacheService; import com.wecloud.im.service.EhcacheService;
import com.wecloud.im.service.ImApplicationService; import com.wecloud.im.service.ImApplicationService;
...@@ -925,10 +927,18 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap ...@@ -925,10 +927,18 @@ public class ImConversationServiceImpl extends BaseServiceImpl<ImConversationMap
return null; return null;
} }
ConversationVo conversationVo = conversationList.get(0); ConversationVo conversationVo = conversationList.get(0);
//查该会话的未读消息数
Integer msgNotReadCount = inboxService.count(new QueryWrapper<ImInbox>().lambda()
.eq(ImInbox::getFkConversationId, conversationVo.getId())
.eq(ImInbox::getReceiver, client.getId())
.eq(ImInbox::getReadMsgStatus, ReadMsgStatusEnum.UNREAD.getCode())
);
conversationVo.setMsgNotReadCount(msgNotReadCount);
// HashMap attributess = JsonUtils.json2Map(conversationVo.getAttribute()); // HashMap attributess = JsonUtils.json2Map(conversationVo.getAttribute());
conversationVo.setAttributes(conversationVo.getAttribute()); conversationVo.setAttributes(conversationVo.getAttribute());
// 查询会话的最后一条消息 // 查询会话的最后一条消息
OfflineMsgDto lastMsg = imMessageService.getLastMsgByConversationId(conversationVo.getId(), client.getId()); OfflineMsgDto lastMsg = imMessageService.getLastMsgByConversationId(conversationVo.getId(), client.getId());
conversationVo.setLastMsg(lastMsg); conversationVo.setLastMsg(lastMsg);
return conversationVo; return conversationVo;
} catch (Exception e) { } catch (Exception e) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment