Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -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'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -121,5 +121,4 @@ public MeetupDetailResponse(TMPMeetupProject meetup, boolean isDetail) {
this.team = new MeetupTeamResponse(meetup.getTeamName(), meetup.getTeam());
}
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,9 @@ public class MeetupProject {
@OneToMany(mappedBy = "meetupProject", cascade = CascadeType.ALL)
private List<MeetupTeam> team = new ArrayList<>();

@Column(name = "display_flag")
private boolean displayFlag;

@ManyToMany
@JoinTable(
name = "meetup_project_tags",
Expand All @@ -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;
Expand Down
Original file line number Diff line number Diff line change
@@ -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;
Expand All @@ -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<MeetupProject> 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<MeetupDetailResponse> meetupDetailResponses = findProjects.stream()
.map(p -> {
List<String> tags = p.getTags().stream()
.map(tag -> "#" + tag.getName()) // Extract tag names
.map(meetupProject -> {
List<String> 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());
Expand All @@ -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);
}

}
Loading