|
@@ -15,6 +15,7 @@ import org.springframework.data.redis.core.StringRedisTemplate;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.Date;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
@@ -136,8 +137,7 @@ public class ChatMsgServiceImpl implements IChatMsgService {
|
|
|
*/
|
|
|
@Override
|
|
|
public List<ChatMsg> selectFriendList(Long userId) {
|
|
|
- List<ChatMsg> msgList = chatMsgMapper.selectFriendList(userId);
|
|
|
- process(msgList);
|
|
|
+ List<ChatMsg> msgList = process(chatMsgMapper.selectFriendList(userId));
|
|
|
return msgList;
|
|
|
}
|
|
|
|
|
@@ -162,7 +162,8 @@ public class ChatMsgServiceImpl implements IChatMsgService {
|
|
|
*
|
|
|
* @param msgList 消息列表
|
|
|
*/
|
|
|
- private void process(List<ChatMsg> msgList) {
|
|
|
+ private List<ChatMsg> process(List<ChatMsg> msgList) {
|
|
|
+ List<ChatMsg> list = new ArrayList<>();
|
|
|
Map<Long, SysUser> userMap = userService.selectAllUser();
|
|
|
msgList.forEach(msg -> {
|
|
|
String type = "1";
|
|
@@ -174,15 +175,18 @@ public class ChatMsgServiceImpl implements IChatMsgService {
|
|
|
}
|
|
|
SysUser fromUser = userMap.get(msg.getFromId());
|
|
|
SysUser toUser = userMap.get(msg.getToId());
|
|
|
- if (fromUser != null) {
|
|
|
+ if (fromUser == null || toUser == null) {
|
|
|
+ //如果找不到该用户,证明有可能该用户已被删除,则删除该条记录
|
|
|
+ } else {
|
|
|
msg.setFromName(fromUser.getNickName());
|
|
|
msg.setFromAvatar(fromUser.getAvatar());
|
|
|
- }
|
|
|
- if (toUser != null) {
|
|
|
msg.setToName(toUser.getNickName());
|
|
|
msg.setToAvatar(toUser.getAvatar());
|
|
|
+ list.add(msg);
|
|
|
}
|
|
|
});
|
|
|
+ return list;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
}
|