Skip to content

[๐Ÿ› ๏ธ REFACTOR] ์ฑ„ํŒ… ๋ฆฌ์กธ๋ฒ„ ๊ตฌํ˜„ย #77

@world-dv

Description

@world-dv

๐Ÿ› ๏ธ ๋ฆฌํŒฉํ† ๋ง ๋Œ€์ƒ

@MessageMapping ๋ฉ”์„œ๋“œ

๐Ÿš€ ๋ฆฌํŒฉํ† ๋ง ๋ชฉ์ 

์ฑ„ํŒ… ๊ธˆ์ง€ ๊ธฐ๋Šฅ์„ ๋ฆฌ์กธ๋ฒ„๋กœ ์ฒ˜๋ฆฌํ•จ์œผ๋กœ์จ ์ฑ„ํŒ… ๊ธฐ๋Šฅ๊ณผ ๊ธˆ์ง€ ๊ธฐ๋Šฅ์„ ๋ถ„๋ฆฌ์‹œํ‚ฌ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, ์ค‘๋ณต ์ฝ”๋“œ๋ฅผ ์ค„์ด๊ธฐ ์œ„ํ•จ.

๐Ÿ”„ ๋ฆฌํŒฉํ† ๋ง ์„ธ๋ถ€ ์‚ฌํ•ญ

  • ์ฑ„ํŒ… ๊ธˆ์ง€ ๊ธฐ๋Šฅ์„ ํ•˜๋‚˜์˜ ์–ด๋…ธํ…Œ์ด์…˜์œผ๋กœ ๊ตฌ์„ฑํ•ด ์‚ฌ์šฉํ•œ๋‹ค.
  • ์ฑ„ํŒ… ๋ฉ”์„œ๋“œ ๊ตฌ์กฐ๋ฅผ ๊ฐœ์„ ํ•œ๋‹ค.

๐Ÿ” ๊ด€๋ จ ์ฝ”๋“œ

@MessageMapping("/bid")
public void handleBid(BidRequest bidRequest) {
     UserDetailResponse userDetailResponse = userService.getUserDetailsById(bidRequest.getUserId());
     if (chatService.isUserOwner(bidRequest.getChatRoomId(), userDetailResponse.getId())) {
          return;
     }
     if (bidService.isBidEnd(bidRequest.getAuctionId())) {
          return;
     }
     BidResponse bidResponse = bidService.submitBid(bidRequest.getUserId(), bidRequest.getAuctionId(), bidRequest.getAmount());
     simpMessageSendingOperations.convertAndSend("/bid/"+bidResponse.getUuid(), bidResponse);
}
@MessageMapping("/chat/message")
public void message(MessageDto messageDto) {
     if (chatService.isUserOwner(messageDto.getRoomId(), messageDto.getSender())) {
          return;
     } //๋ฉ”์‹œ์ง€ ์ „์†ก์ž๊ฐ€ ๊ฒฝ๋งค์ž๋ผ๋ฉด ๋ฉ”์‹œ์ง€ ์ „์†ก ๊ธˆ์ง€

     chatService.processMessage(messageDto);
     simpMessageSendingOperations.convertAndSend("/topic/chat/room/" + messageDto.getRoomId(), messageDto);
}

@MessageMapping("/chat/message/whisper")
public void messageToOne(WhisperDto whisperDto) {
     if (chatService.isUserOwner(whisperDto.getRoomId(), whisperDto.getSender())) {
          return;
     } //๋ฉ”์‹œ์ง€ ์ „์†ก์ž๊ฐ€ ๊ฒฝ๋งค์ž๋ผ๋ฉด ๋ฉ”์‹œ์ง€ ์ „์†ก ๊ธˆ์ง€
     String sender = userService.getUserDetailsById(whisperDto.getSender()).getNickName();
     whisperDto.setMessage("[๊ท“์†๋ง] " + sender + " : " + whisperDto.getMessage());
     simpMessageSendingOperations.convertAndSend("/whisper/" + whisperDto.getReceiver(), whisperDto);
}

๐Ÿ“ ์ถ”๊ฐ€ ์‚ฌํ•ญ

ํ•ด๋‹น ์ฝ”๋“œ๋“ค์ด ์ž˜ ๋™์ž‘ํ•˜๋Š”์ง€ ํ…Œ์ŠคํŠธ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

Metadata

Metadata

Assignees

Type

No type

Projects

Status

์™„๋ฃŒ

Relationships

None yet

Development

No branches or pull requests

Issue actions