Skip to content

Commit 292aeef

Browse files
Merge pull request #248 from prgrms-web-devcourse-final-project/feature/EA3-196-study-header
[EA3-196] feature: 스터디 헤더 조회 필드 추가
2 parents 31be01f + f5b79a7 commit 292aeef

File tree

3 files changed

+38
-6
lines changed

3 files changed

+38
-6
lines changed

src/main/java/grep/neogulcoder/domain/alram/service/AlarmService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,9 @@
3131
import org.springframework.stereotype.Service;
3232
import org.springframework.transaction.annotation.Transactional;
3333

34-
import static grep.neogulcoder.domain.recruitment.RecruitmentErrorCode.NOT_FOUND;
3534
import static grep.neogulcoder.domain.study.exception.code.StudyErrorCode.*;
3635
import static grep.neogulcoder.domain.studyapplication.exception.code.ApplicationErrorCode.*;
36+
import static grep.neogulcoder.domain.recruitment.RecruitmentErrorCode.*;
3737

3838
@Service
3939
@RequiredArgsConstructor

src/main/java/grep/neogulcoder/domain/study/controller/dto/response/StudyHeaderResponse.java

Lines changed: 34 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,16 @@
11
package grep.neogulcoder.domain.study.controller.dto.response;
22

33
import grep.neogulcoder.domain.study.Study;
4+
import grep.neogulcoder.domain.study.enums.Category;
45
import grep.neogulcoder.domain.study.enums.StudyType;
56
import io.swagger.v3.oas.annotations.media.Schema;
7+
import jakarta.validation.constraints.NotNull;
68
import lombok.Builder;
79
import lombok.Getter;
810

11+
import java.time.LocalDateTime;
12+
import java.util.List;
13+
914
@Getter
1015
public class StudyHeaderResponse {
1116

@@ -24,23 +29,49 @@ public class StudyHeaderResponse {
2429
@Schema(description = "지역", example = "서울")
2530
private String location;
2631

32+
@Schema(description = "카테고리", example = "IT")
33+
private Category category;
34+
35+
@Schema(description = "인원수", example = "6")
36+
private int capacity;
37+
38+
@Schema(description = "시작일", example = "2025-07-15")
39+
private LocalDateTime startDate;
40+
41+
@NotNull
42+
@Schema(description = "종료일", example = "2025-07-28")
43+
private LocalDateTime endDate;
44+
45+
@Schema(description = "스터디 멤버 목록")
46+
private List<StudyMemberResponse> members;
47+
2748
@Builder
28-
private StudyHeaderResponse(String name, String introduction, String imageUrl,
29-
StudyType studyType, String location) {
49+
private StudyHeaderResponse(String name, String introduction, String imageUrl, StudyType studyType, String location, Category category,
50+
int capacity, LocalDateTime startDate, LocalDateTime endDate, List<StudyMemberResponse> members) {
3051
this.name = name;
3152
this.introduction = introduction;
3253
this.imageUrl = imageUrl;
3354
this.studyType = studyType;
3455
this.location = location;
56+
this.category = category;
57+
this.capacity = capacity;
58+
this.startDate = startDate;
59+
this.endDate = endDate;
60+
this.members = members;
3561
}
3662

37-
public static StudyHeaderResponse from(Study study) {
63+
public static StudyHeaderResponse from(Study study, List<StudyMemberResponse> members) {
3864
return StudyHeaderResponse.builder()
3965
.name(study.getName())
4066
.introduction(study.getIntroduction())
4167
.imageUrl(study.getImageUrl())
4268
.studyType(study.getStudyType())
4369
.location(study.getLocation())
70+
.category(study.getCategory())
71+
.capacity(study.getCapacity())
72+
.startDate(study.getStartDate())
73+
.endDate(study.getEndDate())
74+
.members(members)
4475
.build();
4576
}
4677
}

src/main/java/grep/neogulcoder/domain/study/service/StudyService.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,8 +72,9 @@ public List<StudyItemResponse> getMyUnfinishedStudies(Long userId) {
7272

7373
public StudyHeaderResponse getStudyHeader(Long studyId) {
7474
Study study = findValidStudy(studyId);
75+
List<StudyMemberResponse> members = studyQueryRepository.findStudyMembers(studyId);
7576

76-
return StudyHeaderResponse.from(study);
77+
return StudyHeaderResponse.from(study, members);
7778
}
7879

7980
public StudyResponse getStudy(Long studyId) {
@@ -104,7 +105,7 @@ public StudyInfoResponse getMyStudyContent(Long studyId, Long userId) {
104105
Study study = findValidStudy(studyId);
105106

106107
validateStudyMember(studyId, userId);
107-
validateStudyLeader(studyId, userId);
108+
// validateStudyLeader(studyId, userId);
108109

109110
List<StudyMemberResponse> members = studyQueryRepository.findStudyMembers(studyId);
110111

0 commit comments

Comments
 (0)