diff --git a/im-platform/src/main/java/com/bx/implatform/service/impl/GroupMessageServiceImpl.java b/im-platform/src/main/java/com/bx/implatform/service/impl/GroupMessageServiceImpl.java index d634656..25c1e56 100644 --- a/im-platform/src/main/java/com/bx/implatform/service/impl/GroupMessageServiceImpl.java +++ b/im-platform/src/main/java/com/bx/implatform/service/impl/GroupMessageServiceImpl.java @@ -72,9 +72,7 @@ public class GroupMessageServiceImpl extends ServiceImpl messages = this.list(wrapper); // 通过群聊对消息进行分组 Map> messageGroupMap = messages.stream().collect(Collectors.groupingBy(GroupMessage::getGroupId)); @@ -179,8 +177,7 @@ public class GroupMessageServiceImpl extends ServiceImpl groupMessages = this.list(wrapper); messageGroupMap.put(quitMember.getGroupId(),groupMessages); groupMemberMap.put(quitMember.getGroupId(),quitMember); @@ -188,8 +185,6 @@ public class GroupMessageServiceImpl extends ServiceImpl { - // id从小到大排序 - CollectionUtil.reverse(groupMessages); // 填充消息状态 String key = StrUtil.join(":", RedisKey.IM_GROUP_READED_POSITION, groupId); Object o = redisTemplate.opsForHash().get(key, session.getUserId().toString()); @@ -209,10 +204,8 @@ public class GroupMessageServiceImpl extends ServiceImpl atIds = Splitter.on(",").trimResults().splitToList(m.getAtUserIds()); - vo.setAtUserIds(atIds.stream().map(Long::parseLong).collect(Collectors.toList())); - } + List atIds = CommaTextUtils.asList(m.getAtUserIds()); + vo.setAtUserIds(atIds.stream().map(Long::parseLong).collect(Collectors.toList())); // 填充状态 vo.setStatus(readedMaxId >= m.getId() ? MessageStatus.READED.code() : MessageStatus.UNSEND.code()); // 针对回执消息填充已读人数 diff --git a/im-platform/src/main/java/com/bx/implatform/service/impl/PrivateMessageServiceImpl.java b/im-platform/src/main/java/com/bx/implatform/service/impl/PrivateMessageServiceImpl.java index cd2687e..a1185b4 100644 --- a/im-platform/src/main/java/com/bx/implatform/service/impl/PrivateMessageServiceImpl.java +++ b/im-platform/src/main/java/com/bx/implatform/service/impl/PrivateMessageServiceImpl.java @@ -158,10 +158,8 @@ public class PrivateMessageServiceImpl extends ServiceImpl wrap.and( wp -> wp.eq(PrivateMessage::getSendId, session.getUserId()).in(PrivateMessage::getRecvId, friendIds)) .or(wp -> wp.eq(PrivateMessage::getRecvId, session.getUserId()).in(PrivateMessage::getSendId, friendIds))) - .orderByDesc(PrivateMessage::getId); + .orderByAsc(PrivateMessage::getId); List messages = this.list(queryWrapper); - // 消息顺序从小到大 - CollectionUtil.reverse(messages); // 推送消息 for (PrivateMessage m : messages) { PrivateMessageVO vo = BeanUtils.copyProperties(m, PrivateMessageVO.class); diff --git a/im-uniapp/components/chat-at-box/chat-at-box.vue b/im-uniapp/components/chat-at-box/chat-at-box.vue index a44a179..0e497c5 100644 --- a/im-uniapp/components/chat-at-box/chat-at-box.vue +++ b/im-uniapp/components/chat-at-box/chat-at-box.vue @@ -64,7 +64,7 @@ }) } this.members.forEach((m) => { - if(m.userId != userId){ + if(!m.quit && m.userId != userId){ m.checked = atUserIds.indexOf(m.userId) >= 0; this.showMembers.push(m); }