From 0da5002dcf44feb83fb179a9974bb96354ca0295 Mon Sep 17 00:00:00 2001 From: unanchoi Date: Tue, 30 Aug 2022 21:53:07 +0900 Subject: [PATCH 1/3] =?UTF-8?q?refactor:=20createChatRoom=20=EC=B1=84?= =?UTF-8?q?=ED=8C=85=EB=B0=A9=20=EC=A1=B4=EC=9E=AC=20=ED=8C=90=EB=8B=A8?= =?UTF-8?q?=EB=A1=9C=EC=A7=81=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gittalk/repository/FollowRepository.java | 1 + .../repository/chat/ChatRoomRepository.java | 2 +- .../gittalk/service/chat/ChatService.java | 37 ++++++++++++++----- 3 files changed, 29 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/haltebogen/gittalk/repository/FollowRepository.java b/src/main/java/com/haltebogen/gittalk/repository/FollowRepository.java index 7b18e9c..8710fb9 100644 --- a/src/main/java/com/haltebogen/gittalk/repository/FollowRepository.java +++ b/src/main/java/com/haltebogen/gittalk/repository/FollowRepository.java @@ -12,4 +12,5 @@ public interface FollowRepository extends JpaRepository { List findAllByFollowerAndFollowStatus(Member follower, FollowStatus followStatus); Follow findByFollowingAndFollowStatus(Member following, FollowStatus followStatus); + } diff --git a/src/main/java/com/haltebogen/gittalk/repository/chat/ChatRoomRepository.java b/src/main/java/com/haltebogen/gittalk/repository/chat/ChatRoomRepository.java index dfddf8b..a5ee4cc 100644 --- a/src/main/java/com/haltebogen/gittalk/repository/chat/ChatRoomRepository.java +++ b/src/main/java/com/haltebogen/gittalk/repository/chat/ChatRoomRepository.java @@ -13,6 +13,6 @@ public interface ChatRoomRepository extends MongoRepository { @Override Optional findById(String s); - + ChatRoom findByChatRoomId(List participantsId); } diff --git a/src/main/java/com/haltebogen/gittalk/service/chat/ChatService.java b/src/main/java/com/haltebogen/gittalk/service/chat/ChatService.java index 465aa6f..4624d37 100644 --- a/src/main/java/com/haltebogen/gittalk/service/chat/ChatService.java +++ b/src/main/java/com/haltebogen/gittalk/service/chat/ChatService.java @@ -31,19 +31,25 @@ public ChatRoomResponseDto createChatRoom(ChatRoomRegisterDto chatRoomRegisterDt String chatRoomId = UUID.randomUUID().toString(); List messageList = new ArrayList<>(); - ChatRoom chatRoom = new ChatRoom( - chatRoomId, - chatRoomRegisterDto.getRoomName(), - messageList, - chatRoomRegisterDto.getParticipantsId(), - LocalDateTime.now() - ); - - chatRoomRepository.save(chatRoom); + if (isExistChatRoom(chatRoomRegisterDto)){ + ChatRoom chatRoom = chatRoomRepository.findByChatRoomId(chatRoomRegisterDto.getParticipantsId()); + return new ChatRoomResponseDto(chatRoom); + } + else { + ChatRoom chatRoom = new ChatRoom( + chatRoomId, + chatRoomRegisterDto.getRoomName(), + messageList, + chatRoomRegisterDto.getParticipantsId(), + LocalDateTime.now() + ); + chatRoomRepository.save(chatRoom); + return new ChatRoomResponseDto(chatRoom); + } - return new ChatRoomResponseDto(chatRoom); } + @Transactional public ChatRoomResponseDto leftChatRoom(Long leftUserId, ChatRoomLeftDto chatRoomLeftDto) throws JsonGenerationException { ChatRoom chatRoom = chatRoomRepository.findById(chatRoomLeftDto.getChatRoomId()).get(); @@ -152,4 +158,15 @@ public List getAllChatRoom(String userId) { return chatRoomResponseDtoList; } + private Boolean isExistChatRoom(ChatRoomRegisterDto chatRoomRegisterDto) { + List chatRoomList = chatRoomRepository.findAll(); + for (int i=0; i Date: Tue, 30 Aug 2022 22:11:11 +0900 Subject: [PATCH 2/3] =?UTF-8?q?feat:=20=EA=B2=80=EC=83=89=20=ED=9B=84=20?= =?UTF-8?q?=EC=B1=84=ED=8C=85=EB=B0=A9=EC=83=9D=EC=84=B1=20service=20code?= =?UTF-8?q?=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gittalk/service/chat/ChatService.java | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/haltebogen/gittalk/service/chat/ChatService.java b/src/main/java/com/haltebogen/gittalk/service/chat/ChatService.java index 4624d37..906166e 100644 --- a/src/main/java/com/haltebogen/gittalk/service/chat/ChatService.java +++ b/src/main/java/com/haltebogen/gittalk/service/chat/ChatService.java @@ -29,13 +29,13 @@ public class ChatService { @Transactional public ChatRoomResponseDto createChatRoom(ChatRoomRegisterDto chatRoomRegisterDto) throws JsonProcessingException { String chatRoomId = UUID.randomUUID().toString(); - List messageList = new ArrayList<>(); if (isExistChatRoom(chatRoomRegisterDto)){ ChatRoom chatRoom = chatRoomRepository.findByChatRoomId(chatRoomRegisterDto.getParticipantsId()); return new ChatRoomResponseDto(chatRoom); } else { + List messageList = new ArrayList<>(); ChatRoom chatRoom = new ChatRoom( chatRoomId, chatRoomRegisterDto.getRoomName(), @@ -48,6 +48,20 @@ public ChatRoomResponseDto createChatRoom(ChatRoomRegisterDto chatRoomRegisterDt } } + @Transactional + public ChatRoomResponseDto createChatRoomBySearch(ChatRoomRegisterDto chatRoomRegisterDto) throws JsonProcessingException { + String chatRoomId = UUID.randomUUID().toString(); + List messageList = new ArrayList<>(); + ChatRoom chatRoom = new ChatRoom( + chatRoomId, + chatRoomRegisterDto.getRoomName(), + messageList, + chatRoomRegisterDto.getParticipantsId(), + LocalDateTime.now() + ); + chatRoomRepository.save(chatRoom); + return new ChatRoomResponseDto(chatRoom); + } @Transactional From 9356e93aa41837f83980ab3c2896e1ec2db81b9d Mon Sep 17 00:00:00 2001 From: unanchoi Date: Tue, 30 Aug 2022 22:18:35 +0900 Subject: [PATCH 3/3] =?UTF-8?q?fix:=20ChatController=20member=20Id=20?= =?UTF-8?q?=EA=B4=80=EB=A0=A8=20@PathVariable=20=EC=88=98=EC=A0=95=20Token?= =?UTF-8?q?=EC=9D=84=20=EC=82=AC=EC=9A=A9=ED=95=98=EA=B3=A0=20=EC=9E=88?= =?UTF-8?q?=EC=9C=BC=EB=AF=80=EB=A1=9C,=20@PathVariable=EC=97=90=EC=84=9C?= =?UTF-8?q?=20Principal=EB=A1=9C=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gittalk/controller/chat/ChatController.java | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/haltebogen/gittalk/controller/chat/ChatController.java b/src/main/java/com/haltebogen/gittalk/controller/chat/ChatController.java index 39f2930..f2eecc5 100644 --- a/src/main/java/com/haltebogen/gittalk/controller/chat/ChatController.java +++ b/src/main/java/com/haltebogen/gittalk/controller/chat/ChatController.java @@ -13,6 +13,7 @@ import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; +import java.security.Principal; import java.util.List; @RestController @@ -41,11 +42,12 @@ public ResponseEntity createRoom(@RequestBody ChatRoomRegisterDto chatRo @ApiResponse(code = 400, message = "Bad Request!"), @ApiResponse(code = 500, message = "Server Error") }) - @PostMapping("{leftUserId}/chatroom/left/") + @PostMapping("/chatroom/left/") public ResponseEntity leftChatRoom( @RequestBody ChatRoomLeftDto chatRoomLeftDto, - @PathVariable String leftUserId) throws JsonProcessingException{ - + Principal principal + ) throws JsonProcessingException{ + String leftUserId = principal.getName(); ChatRoomResponseDto chatRoomResponseDto = chatService.leftChatRoom(Long.valueOf(leftUserId), chatRoomLeftDto); return new ResponseHandler().generateResponse("OK", HttpStatus.OK, chatRoomResponseDto); @@ -102,11 +104,12 @@ public ResponseEntity getDetailChatRoom( @ApiResponse(code = 200, message = "OK!"), @ApiResponse(code = 500, message = "Server Error") }) - @GetMapping("/chatroom/{userId}}") + @GetMapping("/chatroom}") public ResponseEntity getAllChatRoom( - @PathVariable Long userId + Principal principal ) throws JsonProcessingException { - List chatRoomResponseDtoList = chatService.getAllChatRoom(userId.toString()); + String memberId = principal.getName(); + List chatRoomResponseDtoList = chatService.getAllChatRoom(memberId); return new ResponseHandler().generateResponse("OK", HttpStatus.OK, chatRoomResponseDtoList); }