Skip to content

Commit 103a1d6

Browse files
authored
Merge pull request #23 from kusitms-com/refactor/#12
refactor: 밋업프로젝트 리스트 응답에 참여 팀원 정보를 포함시킵니다.
2 parents 2137e71 + 425f704 commit 103a1d6

4 files changed

Lines changed: 17 additions & 20 deletions

File tree

build.gradle

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,9 @@ dependencies {
3636

3737
// S3
3838
implementation 'org.springframework.cloud:spring-cloud-starter-aws:2.2.6.RELEASE'
39-
4039
implementation 'io.jsonwebtoken:jjwt:0.9.1'
40+
implementation 'com.amazonaws:aws-java-sdk-s3:1.12.300'
41+
implementation 'com.amazonaws:aws-java-sdk-core:1.12.300'
4142

4243
//json dependency
4344
implementation group: 'org.json', name: 'json', version: '20220320'

src/main/java/com/kusitms/website/domain/project/dto/response/MeetupDetailResponse.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,5 +121,4 @@ public MeetupDetailResponse(TMPMeetupProject meetup, boolean isDetail) {
121121
this.team = new MeetupTeamResponse(meetup.getTeamName(), meetup.getTeam());
122122
}
123123
}
124-
125124
}

src/main/java/com/kusitms/website/domain/project/entity/MeetupProject.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,9 @@ public class MeetupProject {
6565
@OneToMany(mappedBy = "meetupProject", cascade = CascadeType.ALL)
6666
private List<MeetupTeam> team = new ArrayList<>();
6767

68+
@Column(name = "display_flag")
69+
private boolean displayFlag;
70+
6871
@ManyToMany
6972
@JoinTable(
7073
name = "meetup_project_tags",
@@ -76,11 +79,12 @@ public class MeetupProject {
7679
@Builder
7780
public MeetupProject(int cardinal, String name, String intro, ProjectType type, String oneLineIntro,
7881
String logoUrl, String posterUrl, String webThumbnailUrl, String instagramUrl, String githubUrl, String appUrl,
79-
LocalDate startDate, LocalDate endDate, String teamName) {
82+
Boolean displayFlag, LocalDate startDate, LocalDate endDate, String teamName) {
8083
this.cardinal = cardinal;
8184
this.name = name;
8285
this.intro = intro;
8386
this.type = type;
87+
this.displayFlag = displayFlag;
8488
this.oneLineIntro = oneLineIntro;
8589
this.logoUrl = logoUrl;
8690
this.posterUrl = posterUrl;
Lines changed: 10 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
package com.kusitms.website.domain.project.service;
22

3-
import com.kusitms.website.domain.file.S3Service;
43
import com.kusitms.website.domain.project.MeetupRepository;
5-
import com.kusitms.website.domain.project.MeetupTeamRepository;
64
import com.kusitms.website.domain.project.dto.response.MeetupDetailResponse;
75
import com.kusitms.website.domain.project.dto.response.MeetupResponse;
86
import com.kusitms.website.domain.project.entity.MeetupProject;
@@ -17,41 +15,38 @@
1715
@RequiredArgsConstructor
1816
@Transactional(readOnly = true)
1917
public class MeetupService {
20-
private final S3Service s3Service;
18+
2119
private final MeetupRepository meetupRepository;
22-
private final MeetupTeamRepository meetupTeamRepository;
2320

2421
public MeetupResponse getMeetupProjects(String order, Integer cardinal, String batch) {
2522
List<MeetupProject> findProjects;
2623
if (cardinal != null) {
27-
// If a cardinal is provided, filter projects by the given cardinal value.
2824
findProjects = meetupRepository.findAllByCardinal(cardinal);
2925
} else {
30-
// Otherwise, sort all projects by cardinal in the specified order.
3126
if ("asc".equalsIgnoreCase(order)) {
32-
findProjects = meetupRepository.findAllByOrderByCardinalAsc(); // Oldest first
27+
findProjects = meetupRepository.findAllByOrderByCardinalAsc();
3328
} else {
34-
findProjects = meetupRepository.findAllByOrderByCardinalDesc(); // Newest first
29+
findProjects = meetupRepository.findAllByOrderByCardinalDesc();
3530
}
3631
}
3732

3833
if ("OB".equalsIgnoreCase(batch)) {
3934
findProjects = findProjects.stream()
40-
.filter(p -> p.getMeetupId().equals(55L))
35+
.filter(meetupProject -> meetupProject.getMeetupId().equals(55L))
4136
.collect(Collectors.toList());
4237
} else if ("YB".equalsIgnoreCase(batch)) {
4338
findProjects = findProjects.stream()
44-
.filter(p -> !p.getMeetupId().equals(55L))
39+
.filter(meetupProject -> !meetupProject.getMeetupId().equals(55L))
4540
.collect(Collectors.toList());
4641
}
4742

4843
List<MeetupDetailResponse> meetupDetailResponses = findProjects.stream()
49-
.map(p -> {
50-
List<String> tags = p.getTags().stream()
51-
.map(tag -> "#" + tag.getName()) // Extract tag names
44+
.map(meetupProject -> {
45+
List<String> tags = meetupProject.getTags().stream()
46+
.map(tag -> "#" + tag.getName())
5247
.collect(Collectors.toList());
53-
MeetupDetailResponse response = new MeetupDetailResponse(p, false);
54-
response.setTags(tags); // Set tags in response
48+
MeetupDetailResponse response = new MeetupDetailResponse(meetupProject, true);
49+
response.setTags(tags);
5550
return response;
5651
})
5752
.collect(Collectors.toList());
@@ -65,8 +60,6 @@ public MeetupResponse getMeetupProjects(String order, Integer cardinal, String b
6560

6661
public MeetupDetailResponse getMeetupProject(Long meetupId) {
6762
MeetupProject findProject = meetupRepository.findById(meetupId).orElseThrow();
68-
6963
return new MeetupDetailResponse(findProject, true);
7064
}
71-
7265
}

0 commit comments

Comments
 (0)