|
|
@@ -36,20 +36,28 @@ public class ChatService {
|
|
|
if (CollUtil.isEmpty(sends)) {
|
|
|
return null;
|
|
|
}
|
|
|
-
|
|
|
- return sends.stream().map(s ->
|
|
|
- this.showChat(s, userId).get(0)
|
|
|
- ).collect(Collectors.toList());
|
|
|
+// return sends.stream().map(s ->
|
|
|
+// this.showChat(s, userId).get(0)
|
|
|
+// ).collect(Collectors.toList());
|
|
|
+ List<ChatDTO> dto = new ArrayList<>();
|
|
|
+ sends.forEach(s ->
|
|
|
+ dto.add(
|
|
|
+ this.toDto(
|
|
|
+ chatRepo.findFirstBySendUserIdAndReceiveUserIdOrReceiveUserIdAndSendUserIdOrderByIdDesc(s, userId, s, userId)
|
|
|
+ )));
|
|
|
+ return dto;
|
|
|
}
|
|
|
|
|
|
/*
|
|
|
显示两个人之间的具体对话
|
|
|
*/
|
|
|
public List<ChatDTO> showChat(Long userOne, Long userTwo) {
|
|
|
- List<Chat> sendChats = chatRepo.findAllBySendUserIdAndReceiveUserId(userOne, userTwo);
|
|
|
- List<Chat> receiveChats = chatRepo.findAllBySendUserIdAndReceiveUserId(userTwo, userOne);
|
|
|
- sendChats.addAll(receiveChats);
|
|
|
- sendChats.sort((a, b) -> b.getId().compareTo(a.getId()));
|
|
|
+// List<Chat> sendChats = chatRepo.findAllBySendUserIdAndReceiveUserId(userOne, userTwo);
|
|
|
+// List<Chat> receiveChats = chatRepo.findAllBySendUserIdAndReceiveUserId(userTwo, userOne);
|
|
|
+// sendChats.addAll(receiveChats);
|
|
|
+ List<Chat> sendChats =
|
|
|
+ chatRepo.findAllBySendUserIdAndReceiveUserIdOrReceiveUserIdAndSendUserIdOrderByIdDesc(userOne, userTwo, userOne, userTwo);
|
|
|
+// sendChats.sort((a, b) -> b.getId().compareTo(a.getId()));
|
|
|
return sendChats.stream().map(this::toDto).collect(Collectors.toList());
|
|
|
}
|
|
|
|
|
|
@@ -82,7 +90,7 @@ public class ChatService {
|
|
|
|
|
|
User send = userRepo.findById(chat.getSendUserId()).orElseThrow(new BusinessException("无用户"));
|
|
|
dto.setSendAvatar(send.getAvatar());
|
|
|
- dto.setReceiveNickname(send.getNickname());
|
|
|
+ dto.setSendNickname(send.getNickname());
|
|
|
return dto;
|
|
|
}
|
|
|
}
|