mirror of
https://github.com/hwanny1128/HGZero.git
synced 2026-06-13 09:29:10 +00:00
회의 정보 조회 API 개발
This commit is contained in:
@@ -32,6 +32,16 @@ public class Meeting {
|
||||
*/
|
||||
private String description;
|
||||
|
||||
/**
|
||||
* 회의 목적
|
||||
*/
|
||||
private String purpose;
|
||||
|
||||
/**
|
||||
* 회의 장소
|
||||
*/
|
||||
private String location;
|
||||
|
||||
/**
|
||||
* 회의 일시
|
||||
*/
|
||||
|
||||
@@ -35,6 +35,11 @@ public class MeetingDTO {
|
||||
*/
|
||||
private final LocalDateTime endTime;
|
||||
|
||||
/**
|
||||
* 회의 목적
|
||||
*/
|
||||
private final String purpose;
|
||||
|
||||
/**
|
||||
* 회의 장소
|
||||
*/
|
||||
@@ -79,7 +84,8 @@ public class MeetingDTO {
|
||||
.title(meeting.getTitle())
|
||||
.startTime(meeting.getStartedAt() != null ? meeting.getStartedAt() : meeting.getScheduledAt())
|
||||
.endTime(meeting.getEndedAt())
|
||||
.location(null) // Meeting 도메인에 location 필드가 없어서 null로 설정
|
||||
.purpose(meeting.getPurpose())
|
||||
.location(meeting.getLocation())
|
||||
.agenda(meeting.getDescription())
|
||||
.participants(meeting.getParticipants().stream()
|
||||
.map(participantId -> ParticipantDTO.builder()
|
||||
|
||||
@@ -47,7 +47,9 @@ public class MeetingService implements
|
||||
Meeting meeting = Meeting.builder()
|
||||
.meetingId(meetingId)
|
||||
.title(command.title())
|
||||
.purpose(command.purpose())
|
||||
.description(command.description())
|
||||
.location(command.location())
|
||||
.scheduledAt(command.scheduledAt())
|
||||
.status("SCHEDULED")
|
||||
.organizerId(command.organizerId())
|
||||
|
||||
+2
@@ -20,8 +20,10 @@ public interface CreateMeetingUseCase {
|
||||
*/
|
||||
record CreateMeetingCommand(
|
||||
String title,
|
||||
String purpose,
|
||||
String description,
|
||||
LocalDateTime scheduledAt,
|
||||
String location,
|
||||
String organizerId,
|
||||
List<String> participants,
|
||||
String templateId
|
||||
|
||||
+2
@@ -63,8 +63,10 @@ public class MeetingController {
|
||||
var meetingData = createMeetingUseCase.createMeeting(
|
||||
new CreateMeetingUseCase.CreateMeetingCommand(
|
||||
request.getTitle(),
|
||||
request.getPurpose(),
|
||||
request.getAgenda(),
|
||||
request.getStartTime(),
|
||||
request.getLocation(),
|
||||
userId,
|
||||
request.getParticipants(),
|
||||
null // 템플릿 ID는 나중에 적용
|
||||
|
||||
+4
@@ -24,6 +24,10 @@ public class CreateMeetingRequest {
|
||||
@Schema(description = "회의 제목", example = "Q1 전략 회의", required = true)
|
||||
private String title;
|
||||
|
||||
@NotBlank(message = "회의 목적은 필수입니다")
|
||||
@Schema(description = "회의 목적", example = "2025년 1분기 신제품 개발 방향 수립", required = true)
|
||||
private String purpose;
|
||||
|
||||
@NotNull(message = "회의 시작 시간은 필수입니다")
|
||||
@Schema(description = "회의 시작 시간", example = "2025-01-25T14:00:00", required = true)
|
||||
private LocalDateTime startTime;
|
||||
|
||||
+4
@@ -28,6 +28,9 @@ public class MeetingResponse {
|
||||
@Schema(description = "회의 종료 시간", example = "2025-01-25T16:00:00")
|
||||
private final LocalDateTime endTime;
|
||||
|
||||
@Schema(description = "회의 목적", example = "2025년 1분기 신제품 개발 방향 수립")
|
||||
private final String purpose;
|
||||
|
||||
@Schema(description = "회의 장소", example = "회의실 A")
|
||||
private final String location;
|
||||
|
||||
@@ -58,6 +61,7 @@ public class MeetingResponse {
|
||||
.title(dto.getTitle())
|
||||
.startTime(dto.getStartTime())
|
||||
.endTime(dto.getEndTime())
|
||||
.purpose(dto.getPurpose())
|
||||
.location(dto.getLocation())
|
||||
.agenda(dto.getAgenda())
|
||||
.participants(dto.getParticipants().stream()
|
||||
|
||||
Reference in New Issue
Block a user