From b6eb7e1de911de27ac518d24189d550ca6449e01 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=84=B1=ED=98=84=EC=A3=BC?= Date: Thu, 25 Sep 2025 02:30:18 +0900 Subject: [PATCH 1/8] Revert "Merge pull request #189 from autoever-ob/dev" This reverts commit 78752a6382b7adb2514aabcbb094d530c5cbd4ee, reversing changes made to 2f0d2319ca5e8bccead5cad54c767354c2ec77e3. --- .../campick/server/api/product/service/ProductService.java | 4 +--- .../server/common/config/websocket/WebSocketHandler.java | 1 - 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/src/main/java/com/campick/server/api/product/service/ProductService.java b/src/main/java/com/campick/server/api/product/service/ProductService.java index 9cf111f..327cbcc 100644 --- a/src/main/java/com/campick/server/api/product/service/ProductService.java +++ b/src/main/java/com/campick/server/api/product/service/ProductService.java @@ -45,7 +45,6 @@ import java.util.ArrayList; import java.util.List; import java.util.Optional; -import java.util.Random; import java.util.Set; import java.util.stream.Collectors; @@ -83,8 +82,7 @@ public Long createProduct(ProductCreateReqDto dto, Long memberId) { throw new NotFoundException(ErrorStatus.CAR_NOT_FOUND.getMessage()); } - Random random = new Random(); - Car car = cars.get(random.nextInt(cars.size())); + Car car = cars.get(0); Member member = memberRepository.findById(memberId) diff --git a/src/main/java/com/campick/server/common/config/websocket/WebSocketHandler.java b/src/main/java/com/campick/server/common/config/websocket/WebSocketHandler.java index 8887bc8..cfa4668 100644 --- a/src/main/java/com/campick/server/common/config/websocket/WebSocketHandler.java +++ b/src/main/java/com/campick/server/common/config/websocket/WebSocketHandler.java @@ -56,7 +56,6 @@ protected void handleTextMessage(WebSocketSession session, TextMessage message) break; case "is_online": webSocketService.checkIsOnline(session, memberId, data); - break; default: log.warn("Unknown event: {}", event); } From f53c24aea1699de9285c2e440dc31cb6cf56106e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=84=B1=ED=98=84=EC=A3=BC?= Date: Thu, 25 Sep 2025 02:31:47 +0900 Subject: [PATCH 2/8] Revert "Merge pull request #188 from autoever-ob/dev" This reverts commit 2f0d2319ca5e8bccead5cad54c767354c2ec77e3, reversing changes made to 474c391adde0bfbc785d3e33473cc9a28a8ed52c. --- .../api/chat/controller/ChatController.java | 2 +- .../server/api/chat/service/ChatService.java | 16 ++++------------ 2 files changed, 5 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/campick/server/api/chat/controller/ChatController.java b/src/main/java/com/campick/server/api/chat/controller/ChatController.java index 7dcffab..c465aab 100644 --- a/src/main/java/com/campick/server/api/chat/controller/ChatController.java +++ b/src/main/java/com/campick/server/api/chat/controller/ChatController.java @@ -35,7 +35,7 @@ public ResponseEntity> startChat(@RequestBody ChatRoomReqDto c } @GetMapping("/{chatRoomId}") - public ResponseEntity>> getChatRoom(@PathVariable Long chatRoomId, + public ResponseEntity>> getChatRoom(@PathVariable Long chatRoomId, @RequestParam(defaultValue = "0") Integer page, @RequestParam(defaultValue = "20") Integer size) { Pageable pageable = PageRequest.of(page, size); diff --git a/src/main/java/com/campick/server/api/chat/service/ChatService.java b/src/main/java/com/campick/server/api/chat/service/ChatService.java index c586763..9dbbbdb 100644 --- a/src/main/java/com/campick/server/api/chat/service/ChatService.java +++ b/src/main/java/com/campick/server/api/chat/service/ChatService.java @@ -113,21 +113,13 @@ public Long startChatRoom(ChatRoomReqDto chatRoomReqDto, Long memberId) { return chatRoom.getId(); } - public ChatRoomPageResDto getChatRoom(Long chatRoomId, Pageable pageable) { + public ChatRoomPageResDto getChatRoom(Long chatRoomId, Pageable pageable) { ChatRoom chatRoom = chatRoomRepository.findDetailById(chatRoomId).orElseThrow( () -> new NotFoundException(ErrorStatus.CHAT_NOT_FOUND.getMessage()) ); Page chatMessages = chatMessageRepository.findByChatRoomIdOrderByCreatedAtDesc(chatRoomId, pageable); - Page chatMessageResDtos = chatMessages.map( - cm -> ChatMessageResDto.builder() - .message(cm.getMessage()) - .senderId(cm.getMember().getId()) - .sendAt(TimeUtil.getTimeAgo(cm.getCreatedAt())) - .isRead(cm.getIsRead()) - .build() - ); - return convertToChatRoomResDto(chatRoom, chatMessageResDtos); + return convertToChatRoomResDto(chatRoom, chatMessages); } public void readChatRoom(Long chatRoomId, Long memberId) { @@ -266,14 +258,14 @@ public void broadcastSoldEvent(WebSocketSession session, JsonNode data) { } } - private ChatRoomPageResDto convertToChatRoomResDto(ChatRoom chatRoom, Page chatMessages) { + private ChatRoomPageResDto convertToChatRoomResDto(ChatRoom chatRoom, Page chatMessages) { String thumbnailImage = chatRoom.getProduct().getImages().stream() .filter(ProductImage::getIsThumbnail) .map(ProductImage::getImageUrl) .findFirst() .orElse(null); - ChatRoomPageResDto chatRoomPageResDto = new ChatRoomPageResDto<>(chatMessages); + ChatRoomPageResDto chatRoomPageResDto = new ChatRoomPageResDto<>(chatMessages); chatRoomPageResDto.setSellerId(chatRoom.getSeller().getId()); chatRoomPageResDto.setSellerNickname(chatRoom.getSeller().getNickname()); From 2c0a3221d9fd546e28c2f36ccfffd69753d253c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=84=B1=ED=98=84=EC=A3=BC?= Date: Thu, 25 Sep 2025 02:32:28 +0900 Subject: [PATCH 3/8] Revert "Merge pull request #186 from autoever-ob/dev" This reverts commit 474c391adde0bfbc785d3e33473cc9a28a8ed52c, reversing changes made to 229bdb2be02a49d723d3ce3d00b5593bf37b26a8. --- .../api/chat/controller/ChatController.java | 17 ++--- .../api/chat/dto/ChatRoomPageResDto.java | 40 ----------- .../server/api/chat/dto/MyChatPageResDto.java | 27 -------- .../repository/ChatMessageRepository.java | 13 ---- .../chat/repository/ChatRoomRepository.java | 17 ----- .../server/api/chat/service/ChatService.java | 67 +++++++++---------- 6 files changed, 34 insertions(+), 147 deletions(-) delete mode 100644 src/main/java/com/campick/server/api/chat/dto/ChatRoomPageResDto.java delete mode 100644 src/main/java/com/campick/server/api/chat/dto/MyChatPageResDto.java diff --git a/src/main/java/com/campick/server/api/chat/controller/ChatController.java b/src/main/java/com/campick/server/api/chat/controller/ChatController.java index c465aab..0590a19 100644 --- a/src/main/java/com/campick/server/api/chat/controller/ChatController.java +++ b/src/main/java/com/campick/server/api/chat/controller/ChatController.java @@ -5,13 +5,10 @@ import com.campick.server.api.chat.entity.ChatRoom; import com.campick.server.api.chat.service.ChatService; import com.campick.server.common.config.security.SecurityMember; -import com.campick.server.common.dto.PageResponseDto; import com.campick.server.common.response.ApiResponse; import com.campick.server.common.response.SuccessStatus; import lombok.RequiredArgsConstructor; import org.checkerframework.checker.units.qual.A; -import org.springframework.data.domain.PageRequest; -import org.springframework.data.domain.Pageable; import org.springframework.http.ResponseEntity; import org.springframework.security.core.annotation.AuthenticationPrincipal; import org.springframework.web.bind.annotation.*; @@ -35,11 +32,8 @@ public ResponseEntity> startChat(@RequestBody ChatRoomReqDto c } @GetMapping("/{chatRoomId}") - public ResponseEntity>> getChatRoom(@PathVariable Long chatRoomId, - @RequestParam(defaultValue = "0") Integer page, - @RequestParam(defaultValue = "20") Integer size) { - Pageable pageable = PageRequest.of(page, size); - return ApiResponse.success(SuccessStatus.SEND_LOAD_CHATROOM, chatService.getChatRoom(chatRoomId, pageable)); + public ResponseEntity> getChatRoom(@PathVariable Long chatRoomId) { + return ApiResponse.success(SuccessStatus.SEND_LOAD_CHATROOM, chatService.getChatRoom(chatRoomId)); } @PatchMapping("/{chatRoomId}") @@ -51,13 +45,10 @@ public ResponseEntity> readChatRoom(@PathVariable Long chatRoo } @GetMapping("/my") - public ResponseEntity>> getMyChatRoom(@RequestParam(defaultValue = "0") Integer page, - @RequestParam(defaultValue = "10") Integer size, - @AuthenticationPrincipal SecurityMember securityMember) { - Pageable pageable = PageRequest.of(page, size); + public ResponseEntity> getMyChatRoom(@AuthenticationPrincipal SecurityMember securityMember) { Long memberId = securityMember.getId(); - return ApiResponse.success(SuccessStatus.SEND_MY_CHATROOMS, chatService.getMyChatRooms(memberId, pageable)); + return ApiResponse.success(SuccessStatus.SEND_MY_CHATROOMS, chatService.getMyChatRooms(memberId)); } @GetMapping("/totalUnreadMessage") diff --git a/src/main/java/com/campick/server/api/chat/dto/ChatRoomPageResDto.java b/src/main/java/com/campick/server/api/chat/dto/ChatRoomPageResDto.java deleted file mode 100644 index e9107ee..0000000 --- a/src/main/java/com/campick/server/api/chat/dto/ChatRoomPageResDto.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.campick.server.api.chat.dto; - -import lombok.Getter; -import lombok.Setter; -import org.springframework.data.domain.Page; - -import java.util.List; - -@Getter @Setter -public class ChatRoomPageResDto { - private final long totalElements; // 잔체 요소 수 - private final int totalPages; // 전체 페이지 수 - private final int page; // 현재 페이지(0부터 시작) - private final int size; // 요청한 페이지 사이즈 - private final boolean isLast; // 마지막 페이지 여부 - - private Long sellerId; - private Long buyerId; - private String sellerNickname; - private String buyerNickname; - private String sellerProfileImage; - private String sellerPhoneNumber; - private Long productId; - private String productTitle; - private String productImage; - private String productStatus; - private String productPrice; - private Boolean isActive; - - private final List chatData; - - public ChatRoomPageResDto(Page page) { - this.chatData = page.getContent(); - this.page = page.getNumber(); - this.size = page.getSize(); - this.totalElements = page.getTotalElements(); - this.totalPages = page.getTotalPages(); - this.isLast = page.isLast(); - } -} diff --git a/src/main/java/com/campick/server/api/chat/dto/MyChatPageResDto.java b/src/main/java/com/campick/server/api/chat/dto/MyChatPageResDto.java deleted file mode 100644 index 2ee02fd..0000000 --- a/src/main/java/com/campick/server/api/chat/dto/MyChatPageResDto.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.campick.server.api.chat.dto; - -import lombok.Getter; -import org.springframework.data.domain.Page; - -import java.util.List; - -@Getter -public class MyChatPageResDto { - private final long totalElements; // 잔체 요소 수 - private final int totalPages; // 전체 페이지 수 - private final int page; // 현재 페이지(0부터 시작) - private final int size; // 요청한 페이지 사이즈 - private final boolean isLast; // 마지막 페이지 여부 - private final int totalUnreadMessage; - private final List content; - - public MyChatPageResDto(Page page, int totalUnreadMessage) { - this.content = page.getContent(); - this.page = page.getNumber(); - this.size = page.getSize(); - this.totalElements = page.getTotalElements(); - this.totalPages = page.getTotalPages(); - this.isLast = page.isLast(); - this.totalUnreadMessage = totalUnreadMessage; - } -} diff --git a/src/main/java/com/campick/server/api/chat/repository/ChatMessageRepository.java b/src/main/java/com/campick/server/api/chat/repository/ChatMessageRepository.java index f06eb87..e7ffc2f 100644 --- a/src/main/java/com/campick/server/api/chat/repository/ChatMessageRepository.java +++ b/src/main/java/com/campick/server/api/chat/repository/ChatMessageRepository.java @@ -1,8 +1,6 @@ package com.campick.server.api.chat.repository; import com.campick.server.api.chat.entity.ChatMessage; -import org.springframework.data.domain.Page; -import org.springframework.data.domain.Pageable; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Modifying; import org.springframework.data.jpa.repository.Query; @@ -32,15 +30,6 @@ Integer markMessagesAsRead(@Param("chatRoomId") Long chatRoomId, "ORDER BY m.createdAt DESC LIMIT 1") ChatMessage findLastMessageByChatRoomId(@Param("chatRoomId") Long chatRoomId); - @Query(""" - SELECT m FROM ChatMessage m - WHERE m.chatRoom.id IN :chatRoomIds - AND m.createdAt IN ( - SELECT MAX(m2.createdAt) FROM ChatMessage m2 WHERE m2.chatRoom.id = m.chatRoom.id - ) - """) - List findLastMessages(@Param("chatRoomIds") List chatRoomIds); - @Query("SELECT COUNT(m) FROM ChatMessage m " + "WHERE m.chatRoom.id = :chatRoomId " + "AND m.isRead = false " + @@ -54,6 +43,4 @@ Integer countUnreadMessages(@Param("chatRoomId") Long chatRoomId, "AND cm.isRead = false " + "AND cm.member.id <> :memberId") Integer countAllUnreadMessages(@Param("memberId") Long memberId); - - Page findByChatRoomIdOrderByCreatedAtDesc(Long chatRoomId, Pageable pageable); } diff --git a/src/main/java/com/campick/server/api/chat/repository/ChatRoomRepository.java b/src/main/java/com/campick/server/api/chat/repository/ChatRoomRepository.java index 3a594c6..3ba29d2 100644 --- a/src/main/java/com/campick/server/api/chat/repository/ChatRoomRepository.java +++ b/src/main/java/com/campick/server/api/chat/repository/ChatRoomRepository.java @@ -3,8 +3,6 @@ import com.campick.server.api.chat.entity.ChatRoom; import com.campick.server.api.member.entity.Member; import com.campick.server.api.product.entity.Product; -import org.springframework.data.domain.Page; -import org.springframework.data.domain.Pageable; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.query.Param; @@ -30,20 +28,5 @@ public interface ChatRoomRepository extends JpaRepository { " OR (b.id = :memberId AND cr.isBuyerOut = false))") List findAllByMemberId(@Param("memberId") Long memberId); - @Query(""" - SELECT c FROM ChatRoom c - WHERE c.seller.id = :memberId OR c.buyer.id = :memberId - ORDER BY ( - SELECT MAX(m.createdAt) FROM ChatMessage m WHERE m.chatRoom = c - ) DESC - """) - Page findByMemberIdOrderByLastMessageDesc(@Param("memberId") Long memberId, Pageable pageable); - Optional findByProductAndSellerAndBuyer(Product product, Member seller, Member buyer); - - @Query(""" - SELECT COUNT(c) FROM ChatRoom c - WHERE c.seller.id = :memberId OR c.buyer.id = :memberId - """) - long countChatRoomByMemberId(@Param("memberId") Long memberId); } diff --git a/src/main/java/com/campick/server/api/chat/service/ChatService.java b/src/main/java/com/campick/server/api/chat/service/ChatService.java index 9dbbbdb..0489fff 100644 --- a/src/main/java/com/campick/server/api/chat/service/ChatService.java +++ b/src/main/java/com/campick/server/api/chat/service/ChatService.java @@ -20,17 +20,12 @@ import jakarta.transaction.Transactional; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.springframework.data.domain.Page; -import org.springframework.data.domain.PageImpl; -import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; import org.springframework.web.socket.TextMessage; import org.springframework.web.socket.WebSocketSession; import java.io.IOException; import java.util.*; -import java.util.function.Function; -import java.util.stream.Collectors; @Service @RequiredArgsConstructor @@ -113,11 +108,11 @@ public Long startChatRoom(ChatRoomReqDto chatRoomReqDto, Long memberId) { return chatRoom.getId(); } - public ChatRoomPageResDto getChatRoom(Long chatRoomId, Pageable pageable) { + public ChatRoomResDto getChatRoom(Long chatRoomId) { ChatRoom chatRoom = chatRoomRepository.findDetailById(chatRoomId).orElseThrow( () -> new NotFoundException(ErrorStatus.CHAT_NOT_FOUND.getMessage()) ); - Page chatMessages = chatMessageRepository.findByChatRoomIdOrderByCreatedAtDesc(chatRoomId, pageable); + List chatMessages = chatMessageRepository.findMessagesByChatRoomId(chatRoomId); return convertToChatRoomResDto(chatRoom, chatMessages); } @@ -126,14 +121,8 @@ public void readChatRoom(Long chatRoomId, Long memberId) { Integer readMessageCount = chatMessageRepository.markMessagesAsRead(chatRoomId, memberId); } - public MyChatPageResDto getMyChatRooms(Long memberId, Pageable pageable) { - Page myChatRooms = chatRoomRepository.findByMemberIdOrderByLastMessageDesc(memberId, pageable); - List chatRoomIds = myChatRooms.stream().map(ChatRoom::getId).toList(); - Map lastMessageMap = chatMessageRepository.findLastMessages(chatRoomIds) - .stream() - .collect(Collectors.toMap(m -> m.getChatRoom().getId(), Function.identity())); - long total = chatRoomRepository.countChatRoomByMemberId(memberId); - + public MyChatResDto getMyChatRooms(Long memberId) { + List myChatRooms = chatRoomRepository.findAllByMemberId(memberId); List chatListDtos = myChatRooms.stream().map( chatRoom -> { String thumbnailUrl = chatRoom.getProduct().getImages().stream() @@ -142,7 +131,7 @@ public MyChatPageResDto getMyChatRooms(Long memberId, Pageable page .findFirst() .orElse(null); - ChatMessage lastChatMessage = lastMessageMap.get(chatRoom.getId()); + ChatMessage lastChatMessage = chatMessageRepository.findLastMessageByChatRoomId(chatRoom.getId()); Integer unreadMessageCount = chatMessageRepository.countUnreadMessages(chatRoom.getId(), memberId); return ChatListDto.builder() @@ -157,10 +146,10 @@ public MyChatPageResDto getMyChatRooms(Long memberId, Pageable page .build(); }).toList(); - Integer totalUnreadMessage = chatMessageRepository.countAllUnreadMessages(memberId); - Page pageImpl = new PageImpl<>(chatListDtos, pageable, total); - - return new MyChatPageResDto<>(pageImpl, totalUnreadMessage); + return MyChatResDto.builder() + .chatRoom(chatListDtos) + .totalUnreadMessage(chatMessageRepository.countAllUnreadMessages(memberId)) + .build(); } public Integer getTotalUnreadMessage(Long memberId) { @@ -258,29 +247,33 @@ public void broadcastSoldEvent(WebSocketSession session, JsonNode data) { } } - private ChatRoomPageResDto convertToChatRoomResDto(ChatRoom chatRoom, Page chatMessages) { + private ChatRoomResDto convertToChatRoomResDto(ChatRoom chatRoom, List chatMessages) { String thumbnailImage = chatRoom.getProduct().getImages().stream() .filter(ProductImage::getIsThumbnail) .map(ProductImage::getImageUrl) .findFirst() .orElse(null); - ChatRoomPageResDto chatRoomPageResDto = new ChatRoomPageResDto<>(chatMessages); - - chatRoomPageResDto.setSellerId(chatRoom.getSeller().getId()); - chatRoomPageResDto.setSellerNickname(chatRoom.getSeller().getNickname()); - chatRoomPageResDto.setBuyerId(chatRoom.getBuyer().getId()); - chatRoomPageResDto.setBuyerNickname(chatRoom.getBuyer().getNickname()); - chatRoomPageResDto.setSellerProfileImage(chatRoom.getSeller().getProfileImageUrl()); - chatRoomPageResDto.setSellerPhoneNumber(chatRoom.getSeller().getMobileNumber()); - chatRoomPageResDto.setProductId(chatRoom.getProduct().getId()); - chatRoomPageResDto.setProductTitle(chatRoom.getProduct().getTitle()); - chatRoomPageResDto.setProductImage(thumbnailImage); - chatRoomPageResDto.setProductStatus(chatRoom.getProduct().getStatus().toString()); - chatRoomPageResDto.setProductPrice(chatRoom.getProduct().getCost().toString()); - chatRoomPageResDto.setIsActive(!chatRoom.getIsSellerOut() && !chatRoom.getIsBuyerOut()); - - return chatRoomPageResDto; + ChatRoomResDto chatRoomResDto = new ChatRoomResDto(); + chatRoomResDto.setSellerId(chatRoom.getSeller().getId()); + chatRoomResDto.setSellerNickname(chatRoom.getSeller().getNickname()); + chatRoomResDto.setBuyerId(chatRoom.getBuyer().getId()); + chatRoomResDto.setBuyerNickname(chatRoom.getBuyer().getNickname()); + chatRoomResDto.setSellerProfileImage(chatRoom.getSeller().getProfileImageUrl()); + chatRoomResDto.setSellerPhoneNumber(chatRoom.getSeller().getMobileNumber()); + chatRoomResDto.setProductId(chatRoom.getProduct().getId()); + chatRoomResDto.setProductTitle(chatRoom.getProduct().getTitle()); + chatRoomResDto.setProductImage(thumbnailImage); + chatRoomResDto.setProductStatus(chatRoom.getProduct().getStatus().toString()); + chatRoomResDto.setProductPrice(chatRoom.getProduct().getCost().toString()); + chatRoomResDto.setIsActive(!chatRoom.getIsSellerOut() && !chatRoom.getIsBuyerOut()); + + List chatMessageResDto = chatMessages.stream() + .map(this::convertToChatMessageResDto + ).toList(); + chatRoomResDto.setChatData(chatMessageResDto); + + return chatRoomResDto; } public void removeFromChatRoomMap(Long memberId, WebSocketSession session) { From 3a072f6793844f039a42aebf0b30d149fe97a8af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=84=B1=ED=98=84=EC=A3=BC?= Date: Thu, 25 Sep 2025 02:38:47 +0900 Subject: [PATCH 4/8] fix: product error --- .../server/api/product/service/ProductService.java | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/campick/server/api/product/service/ProductService.java b/src/main/java/com/campick/server/api/product/service/ProductService.java index 327cbcc..96084e6 100644 --- a/src/main/java/com/campick/server/api/product/service/ProductService.java +++ b/src/main/java/com/campick/server/api/product/service/ProductService.java @@ -42,10 +42,7 @@ import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; -import java.util.ArrayList; -import java.util.List; -import java.util.Optional; -import java.util.Set; +import java.util.*; import java.util.stream.Collectors; @@ -82,8 +79,8 @@ public Long createProduct(ProductCreateReqDto dto, Long memberId) { throw new NotFoundException(ErrorStatus.CAR_NOT_FOUND.getMessage()); } - Car car = cars.get(0); - + Random random = new Random(); + Car car = cars.get(random.nextInt(cars.size())); Member member = memberRepository.findById(memberId) .orElseThrow(() -> new BadRequestException(ErrorStatus.MEMBER_NOT_FOUND.getMessage())); From 13dcd435807677e13827a3e0e873b2a6845c8214 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=84=B1=ED=98=84=EC=A3=BC?= Date: Thu, 25 Sep 2025 02:39:26 +0900 Subject: [PATCH 5/8] =?UTF-8?q?fix:=20websocket=20handler=20=EB=B8=8C?= =?UTF-8?q?=EB=A0=88=EC=9D=B4=ED=81=AC=20=EA=B9=8C=EB=A8=B9=EC=9D=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../campick/server/common/config/websocket/WebSocketHandler.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/com/campick/server/common/config/websocket/WebSocketHandler.java b/src/main/java/com/campick/server/common/config/websocket/WebSocketHandler.java index cfa4668..8887bc8 100644 --- a/src/main/java/com/campick/server/common/config/websocket/WebSocketHandler.java +++ b/src/main/java/com/campick/server/common/config/websocket/WebSocketHandler.java @@ -56,6 +56,7 @@ protected void handleTextMessage(WebSocketSession session, TextMessage message) break; case "is_online": webSocketService.checkIsOnline(session, memberId, data); + break; default: log.warn("Unknown event: {}", event); } From 3e16ac594daca05e95792b935350cf271829dbd5 Mon Sep 17 00:00:00 2001 From: Choosla Date: Thu, 25 Sep 2025 08:52:29 +0900 Subject: [PATCH 6/8] =?UTF-8?q?#160=20config(Database):=20=EB=8D=B0?= =?UTF-8?q?=EC=9D=B4=ED=84=B0=EB=B2=A0=EC=9D=B4=EC=8A=A4=20=EC=B4=88?= =?UTF-8?q?=EA=B8=B0=ED=99=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/application.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 9630357..3a8825d 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -13,7 +13,7 @@ spring.datasource.password=${SPRING_DATASOURCE_PASSWORD} spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver #! TODO When Start Deploy must change this option 'create' to 'update' -spring.jpa.hibernate.ddl-auto=update +spring.jpa.hibernate.ddl-auto=create spring.jpa.defer-datasource-initialization=true #spring.sql.init.mode=always spring.jpa.show-sql=true From f86c60b967e8ed5c3b821dd67235db77f04b3468 Mon Sep 17 00:00:00 2001 From: Choosla Date: Thu, 25 Sep 2025 09:21:16 +0900 Subject: [PATCH 7/8] =?UTF-8?q?#160=20config(Database):=20=EB=8D=B0?= =?UTF-8?q?=EC=9D=B4=ED=84=B0=EB=B2=A0=EC=9D=B4=EC=8A=A4=20=EC=8A=A4?= =?UTF-8?q?=ED=82=A4=EB=A7=88=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/data.sql | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/main/resources/data.sql b/src/main/resources/data.sql index 03dfa94..c9dcab4 100644 --- a/src/main/resources/data.sql +++ b/src/main/resources/data.sql @@ -28,6 +28,9 @@ INSERT INTO model (type_id, model_name) VALUES ((SELECT type_id FROM `type` WHER -- TRUCK_CAMPER INSERT INTO model (type_id, model_name) VALUES ((SELECT type_id FROM `type` WHERE type_name = 'TRUCK_CAMPER'), '그외'); +-- ETC +INSERT INTO model (type_id, model_name) VALUES ((SELECT type_id FROM `type` WHERE type_name = 'ETC'), '기타'); + -- Engines INSERT INTO `engine` (feul_type, transmission, horse_power, fuel_efficiency) VALUES ('GASOLINE', 'MANUAL', 150, 10.0); INSERT INTO `engine` (feul_type, transmission, horse_power, fuel_efficiency) VALUES ('GASOLINE', 'AUTOMATIC', 150, 10.0); From 192a99c4ba7ccbe9bf5d168658a602ed95704d3f Mon Sep 17 00:00:00 2001 From: Admin Date: Fri, 26 Sep 2025 15:27:23 +0900 Subject: [PATCH 8/8] =?UTF-8?q?fix:=20chat=20chatId=20=EC=A0=84=EB=8B=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../campick/server/api/chat/dto/ChatMessageResDto.java | 1 + .../com/campick/server/api/chat/service/ChatService.java | 9 ++++++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/campick/server/api/chat/dto/ChatMessageResDto.java b/src/main/java/com/campick/server/api/chat/dto/ChatMessageResDto.java index 78c84b7..cffdddd 100644 --- a/src/main/java/com/campick/server/api/chat/dto/ChatMessageResDto.java +++ b/src/main/java/com/campick/server/api/chat/dto/ChatMessageResDto.java @@ -8,6 +8,7 @@ @Getter @Setter @ToString @AllArgsConstructor @Builder public class ChatMessageResDto { + private Long chatId; private String message; private Long senderId; private String sendAt; diff --git a/src/main/java/com/campick/server/api/chat/service/ChatService.java b/src/main/java/com/campick/server/api/chat/service/ChatService.java index 0489fff..6fc757c 100644 --- a/src/main/java/com/campick/server/api/chat/service/ChatService.java +++ b/src/main/java/com/campick/server/api/chat/service/ChatService.java @@ -173,12 +173,13 @@ public void handleChatMessage(WebSocketSession session, JsonNode data) { System.out.println(chatMessageReqDto); ChatMessage chatMessage = saveMessage(chatMessageReqDto); - ChatMessageResDto chatMessageResDto = convertToChatMessageResDto(chatMessage); + ChatMessageResDto chatMessageResDto = convertToChatMessageResDto(chatMessage, chatMessageReqDto.getChatId()); sendMessage(chatMessageReqDto.getChatId(), chatMessageResDto, session); } - private ChatMessageResDto convertToChatMessageResDto(ChatMessage chatMessage) { + private ChatMessageResDto convertToChatMessageResDto(ChatMessage chatMessage, Long chatRoomId) { return ChatMessageResDto.builder() + .chatId(chatRoomId) .message(chatMessage.getMessage()) .senderId(chatMessage.getMember().getId()) .sendAt(TimeUtil.getTimeAgo(chatMessage.getCreatedAt())) @@ -219,6 +220,7 @@ public void sendMessage(Long chatId, ChatMessageResDto message, WebSocketSession payload.put("senderId", message.getSenderId()); payload.put("sendAt", message.getSendAt()); payload.put("isRead", message.getIsRead()); + payload.put("chatId", message.getChatId()); Map wrapper = new HashMap<>(); wrapper.put("type", "chat_message"); @@ -269,7 +271,8 @@ private ChatRoomResDto convertToChatRoomResDto(ChatRoom chatRoom, List chatMessageResDto = chatMessages.stream() - .map(this::convertToChatMessageResDto + .map( + cm -> convertToChatMessageResDto(cm, chatRoom.getId()) ).toList(); chatRoomResDto.setChatData(chatMessageResDto);