-
Notifications
You must be signed in to change notification settings - Fork 5
Closed
Description
๐ ๏ธ ๋ฆฌํฉํ ๋ง ๋์
@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
Projects
Status
์๋ฃ