Browse Source

fix: 消息一直加载的bug

master
xsx 2 years ago
parent
commit
c955e50d12
  1. 8
      im-platform/src/main/java/com/bx/implatform/service/impl/GroupMessageServiceImpl.java
  2. 5
      im-platform/src/main/java/com/bx/implatform/service/impl/PrivateMessageServiceImpl.java

8
im-platform/src/main/java/com/bx/implatform/service/impl/GroupMessageServiceImpl.java

@ -206,12 +206,16 @@ public class GroupMessageServiceImpl extends ServiceImpl<GroupMessageMapper, Gro
if(!imClient.isOnline(session.getUserId())){
throw new GlobalException(ResultCode.PROGRAM_ERROR, "网络连接失败,无法拉取离线消息");
}
// 开启加载中标志
this.sendLoadingMessage(true);
// 查询用户加入的群组
List<GroupMember> members = groupMemberService.findByUserId(session.getUserId());
Map<Long, GroupMember> groupMemberMap = CollStreamUtil.toIdentityMap(members, GroupMember::getGroupId);
Set<Long> groupIds = groupMemberMap.keySet();
if(CollectionUtil.isEmpty(groupIds)){
return;
}
// 开启加载中标志
this.sendLoadingMessage(true);
// 只能拉取最近1个月的,最多拉取1000条
Date minDate = DateUtils.addMonths(new Date(), -1);
LambdaQueryWrapper<GroupMessage> wrapper = Wrappers.lambdaQuery();

5
im-platform/src/main/java/com/bx/implatform/service/impl/PrivateMessageServiceImpl.java

@ -182,13 +182,14 @@ public class PrivateMessageServiceImpl extends ServiceImpl<PrivateMessageMapper,
if(!imClient.isOnline(session.getUserId())){
throw new GlobalException(ResultCode.PROGRAM_ERROR, "网络连接失败,无法拉取离线消息");
}
// 开启加载中标志
this.sendLoadingMessage(true);
// 查询用户好友列表
List<Friend> friends = friendService.findFriendByUserId(session.getUserId());
if (friends.isEmpty()) {
return;
}
// 开启加载中标志
this.sendLoadingMessage(true);
List<Long> friendIds = friends.stream().map(Friend::getFriendId).collect(Collectors.toList());
// 获取当前用户的消息
LambdaQueryWrapper<PrivateMessage> queryWrapper = Wrappers.lambdaQuery();

Loading…
Cancel
Save