Skip to content

Commit

Permalink
#34/feat/모든채팅방보기 추가
Browse files Browse the repository at this point in the history
  • Loading branch information
jun673012 committed Oct 2, 2024
1 parent ea4bf42 commit 907baf3
Show file tree
Hide file tree
Showing 4 changed files with 31 additions and 6 deletions.
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package com.chat.liveon.chat.controller;

import com.chat.liveon.auth.entity.Person;
import com.chat.liveon.chat.dto.request.ChatRoomRequest;
import com.chat.liveon.chat.dto.response.AllChatRoomResponse;
import com.chat.liveon.chat.dto.response.ChatRoomResponse;
import com.chat.liveon.chat.service.ChatRoomService;
import io.swagger.v3.oas.annotations.Operation;
Expand All @@ -10,10 +10,9 @@
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@Slf4j
@Tag(name = "ChatRoom API", description = "채팅방 API")
Expand All @@ -25,12 +24,19 @@ public class ChatRoomController {
private final ChatRoomService chatRoomService;

@PostMapping("/chat-room")
@Operation(summary = "채팅방 생성")
@Operation(summary = "채팅방 생성 API")
public ResponseEntity<ChatRoomResponse> createChatRoom(@RequestBody ChatRoomRequest chatRoomRequest,
HttpSession session) {
String personId = (String) session.getAttribute("personId");
log.info("[채팅방 생성 요청] 사용자: {}", personId);
ChatRoomResponse response = chatRoomService.createChatRoom(chatRoomRequest, personId);
return ResponseEntity.ok(response);
}

@GetMapping("/chat-room")
@Operation(summary = "채팅방 조회 API")
public ResponseEntity<List<AllChatRoomResponse>> getChatRoom() {
List<AllChatRoomResponse> response = chatRoomService.getAllChatRoom();
return ResponseEntity.ok(response);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
package com.chat.liveon.chat.dto.response;

public record AllChatRoomResponse(
Long chatRoomId,
String chatRoomName
) {}
1 change: 1 addition & 0 deletions src/main/java/com/chat/liveon/chat/entity/ChatRoom.java
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
public class ChatRoom {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "chat_room_id")
private Long id;

private String chatRoomName;
Expand Down
12 changes: 12 additions & 0 deletions src/main/java/com/chat/liveon/chat/service/ChatRoomService.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import com.chat.liveon.auth.entity.Person;
import com.chat.liveon.auth.repository.PersonRepository;
import com.chat.liveon.chat.dto.request.ChatRoomRequest;
import com.chat.liveon.chat.dto.response.AllChatRoomResponse;
import com.chat.liveon.chat.dto.response.ChatRoomResponse;
import com.chat.liveon.chat.entity.ChatRoom;
import com.chat.liveon.chat.repository.ChatMessageRepository;
Expand All @@ -11,6 +12,9 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;
import java.util.stream.Collectors;

@Slf4j
@Service
public class ChatRoomService {
Expand All @@ -37,4 +41,12 @@ public ChatRoomResponse createChatRoom(ChatRoomRequest chatRoomRequest, String p
log.info("[채팅방 생성 성공] 사용자: {}, 채팅방 명: {}", person, chatRoomRequest.chatRoomName());
return new ChatRoomResponse(chatRoom.getId(), chatRoomRequest.chatRoomName(), personId.getId());
}

@Transactional(readOnly = true)
public List<AllChatRoomResponse> getAllChatRoom() {
List<ChatRoom> chatRooms = chatRoomRepository.findAll();
return chatRooms.stream()
.map(chatRoom -> new AllChatRoomResponse(chatRoom.getId(), chatRoom.getChatRoomName()))
.collect(Collectors.toList());
}
}

0 comments on commit 907baf3

Please sign in to comment.