diff --git a/build.gradle b/build.gradle index 1c6b1fe..84489a8 100644 --- a/build.gradle +++ b/build.gradle @@ -36,8 +36,9 @@ dependencies { // S3 implementation 'org.springframework.cloud:spring-cloud-starter-aws:2.2.6.RELEASE' - implementation 'io.jsonwebtoken:jjwt:0.9.1' + implementation 'com.amazonaws:aws-java-sdk-s3:1.12.300' + implementation 'com.amazonaws:aws-java-sdk-core:1.12.300' //json dependency implementation group: 'org.json', name: 'json', version: '20220320' diff --git a/src/main/java/com/kusitms/website/domain/project/dto/response/MeetupDetailResponse.java b/src/main/java/com/kusitms/website/domain/project/dto/response/MeetupDetailResponse.java index a65175a..832751e 100644 --- a/src/main/java/com/kusitms/website/domain/project/dto/response/MeetupDetailResponse.java +++ b/src/main/java/com/kusitms/website/domain/project/dto/response/MeetupDetailResponse.java @@ -121,5 +121,4 @@ public MeetupDetailResponse(TMPMeetupProject meetup, boolean isDetail) { this.team = new MeetupTeamResponse(meetup.getTeamName(), meetup.getTeam()); } } - } diff --git a/src/main/java/com/kusitms/website/domain/project/entity/MeetupProject.java b/src/main/java/com/kusitms/website/domain/project/entity/MeetupProject.java index ac702fe..a322071 100644 --- a/src/main/java/com/kusitms/website/domain/project/entity/MeetupProject.java +++ b/src/main/java/com/kusitms/website/domain/project/entity/MeetupProject.java @@ -65,6 +65,9 @@ public class MeetupProject { @OneToMany(mappedBy = "meetupProject", cascade = CascadeType.ALL) private List team = new ArrayList<>(); + @Column(name = "display_flag") + private boolean displayFlag; + @ManyToMany @JoinTable( name = "meetup_project_tags", @@ -76,11 +79,12 @@ public class MeetupProject { @Builder public MeetupProject(int cardinal, String name, String intro, ProjectType type, String oneLineIntro, String logoUrl, String posterUrl, String webThumbnailUrl, String instagramUrl, String githubUrl, String appUrl, - LocalDate startDate, LocalDate endDate, String teamName) { + Boolean displayFlag, LocalDate startDate, LocalDate endDate, String teamName) { this.cardinal = cardinal; this.name = name; this.intro = intro; this.type = type; + this.displayFlag = displayFlag; this.oneLineIntro = oneLineIntro; this.logoUrl = logoUrl; this.posterUrl = posterUrl; diff --git a/src/main/java/com/kusitms/website/domain/project/service/MeetupService.java b/src/main/java/com/kusitms/website/domain/project/service/MeetupService.java index 2317b83..375bb12 100644 --- a/src/main/java/com/kusitms/website/domain/project/service/MeetupService.java +++ b/src/main/java/com/kusitms/website/domain/project/service/MeetupService.java @@ -1,8 +1,6 @@ package com.kusitms.website.domain.project.service; -import com.kusitms.website.domain.file.S3Service; import com.kusitms.website.domain.project.MeetupRepository; -import com.kusitms.website.domain.project.MeetupTeamRepository; import com.kusitms.website.domain.project.dto.response.MeetupDetailResponse; import com.kusitms.website.domain.project.dto.response.MeetupResponse; import com.kusitms.website.domain.project.entity.MeetupProject; @@ -17,41 +15,38 @@ @RequiredArgsConstructor @Transactional(readOnly = true) public class MeetupService { - private final S3Service s3Service; + private final MeetupRepository meetupRepository; - private final MeetupTeamRepository meetupTeamRepository; public MeetupResponse getMeetupProjects(String order, Integer cardinal, String batch) { List findProjects; if (cardinal != null) { - // If a cardinal is provided, filter projects by the given cardinal value. findProjects = meetupRepository.findAllByCardinal(cardinal); } else { - // Otherwise, sort all projects by cardinal in the specified order. if ("asc".equalsIgnoreCase(order)) { - findProjects = meetupRepository.findAllByOrderByCardinalAsc(); // Oldest first + findProjects = meetupRepository.findAllByOrderByCardinalAsc(); } else { - findProjects = meetupRepository.findAllByOrderByCardinalDesc(); // Newest first + findProjects = meetupRepository.findAllByOrderByCardinalDesc(); } } if ("OB".equalsIgnoreCase(batch)) { findProjects = findProjects.stream() - .filter(p -> p.getMeetupId().equals(55L)) + .filter(meetupProject -> meetupProject.getMeetupId().equals(55L)) .collect(Collectors.toList()); } else if ("YB".equalsIgnoreCase(batch)) { findProjects = findProjects.stream() - .filter(p -> !p.getMeetupId().equals(55L)) + .filter(meetupProject -> !meetupProject.getMeetupId().equals(55L)) .collect(Collectors.toList()); } List meetupDetailResponses = findProjects.stream() - .map(p -> { - List tags = p.getTags().stream() - .map(tag -> "#" + tag.getName()) // Extract tag names + .map(meetupProject -> { + List tags = meetupProject.getTags().stream() + .map(tag -> "#" + tag.getName()) .collect(Collectors.toList()); - MeetupDetailResponse response = new MeetupDetailResponse(p, false); - response.setTags(tags); // Set tags in response + MeetupDetailResponse response = new MeetupDetailResponse(meetupProject, true); + response.setTags(tags); return response; }) .collect(Collectors.toList()); @@ -65,8 +60,6 @@ public MeetupResponse getMeetupProjects(String order, Integer cardinal, String b public MeetupDetailResponse getMeetupProject(Long meetupId) { MeetupProject findProject = meetupRepository.findById(meetupId).orElseThrow(); - return new MeetupDetailResponse(findProject, true); } - }