diff --git a/src/main/java/com/sportsecho/gamechat/controller/MessageController.java b/src/main/java/com/sportsecho/gamechat/controller/MessageController.java index df84c89..3b8b2e8 100644 --- a/src/main/java/com/sportsecho/gamechat/controller/MessageController.java +++ b/src/main/java/com/sportsecho/gamechat/controller/MessageController.java @@ -1,52 +1,28 @@ package com.sportsecho.gamechat.controller; -import com.sportsecho.gamechat.dto.GameChatRequestDto; -import com.sportsecho.gamechat.dto.GameChatResponseDto; -import java.text.SimpleDateFormat; -import java.time.LocalDateTime; -import java.time.ZoneId; -import java.time.ZonedDateTime; -import java.time.format.DateTimeFormatter; -import java.util.Date; +import com.sportsecho.common.kafka.KafkaConst; +import com.sportsecho.common.kafka.KafkaMessageUtil; +import com.sportsecho.gamechat.dto.MessageRequestDto; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.springframework.messaging.handler.annotation.DestinationVariable; import org.springframework.messaging.handler.annotation.MessageMapping; -import org.springframework.messaging.handler.annotation.SendTo; -import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RestController; -@Controller +@RestController @RequiredArgsConstructor @Slf4j(topic = "MessageController") public class MessageController { - @MessageMapping("/gameChat/{gameId}/enter") - @SendTo("/topic/{gameId}") - public GameChatResponseDto enter( - @DestinationVariable("gameId") Long gameId, - GameChatRequestDto request - ) { + private final KafkaMessageUtil kafkaMessageUtil; - return GameChatResponseDto.builder() - .content(request.getSender() + "님이 입장하셨습니다.") - .build(); - } + @MessageMapping("/message") + public void sendMessage(MessageRequestDto messageRequestDto) { + log.info("Received message\nsender = {}, message = {}", messageRequestDto.getSender(), messageRequestDto.getMessage()); - @MessageMapping("/gameChat/{gameId}") - @SendTo("/topic/{gameId}") - public GameChatResponseDto publish( - @DestinationVariable("gameId") Long gameId, - GameChatRequestDto request - ) { - LocalDateTime now = ZonedDateTime.now(ZoneId.of("Asia/Seoul")).toLocalDateTime(); - - String formattedTime = now.format(DateTimeFormatter.ofPattern("HH:mm")); - - return GameChatResponseDto.builder() - .sender(request.getSender()) - .content(request.getMessage()) - .sendAt(formattedTime) - .build(); + //message service logic + kafkaMessageUtil.send(KafkaConst.KAFKA_TOPIC, messageRequestDto); } + } +