From 7ed718fa1a56b09a30acba1d741f257808012023 Mon Sep 17 00:00:00 2001 From: tkdwns414 Date: Mon, 19 Feb 2024 04:27:01 +0900 Subject: [PATCH 1/3] [feat] rm overrided toString method to use enum String --- .../org/pingle/pingleserver/domain/enums/TKeyword.java | 9 ++------- .../pingle/pingleserver/dto/response/MyTeamResponse.java | 2 +- .../pingleserver/dto/response/SelectedTeamResponse.java | 2 +- .../dto/response/TeamSearchResultResponse.java | 3 +-- 4 files changed, 5 insertions(+), 11 deletions(-) diff --git a/src/main/java/org/pingle/pingleserver/domain/enums/TKeyword.java b/src/main/java/org/pingle/pingleserver/domain/enums/TKeyword.java index 19c6de3..7db1d12 100644 --- a/src/main/java/org/pingle/pingleserver/domain/enums/TKeyword.java +++ b/src/main/java/org/pingle/pingleserver/domain/enums/TKeyword.java @@ -7,8 +7,8 @@ @Getter @RequiredArgsConstructor(access = AccessLevel.PRIVATE) public enum TKeyword { - CIRCLE("연합 동아리"), - SCHOOL_CLUB("교내 동아리"), + CIRCLE("연합동아리"), + SCHOOL_CLUB("교내동아리"), MIDDLE_SCHOOL("중학교"), HIGH_SCHOOL("고등학교"), UNIVERSITY("대학교"), @@ -19,9 +19,4 @@ public enum TKeyword { PRIVATE_MEETING("사모임"); private final String value; - - @Override - public String toString() { - return value; - } } diff --git a/src/main/java/org/pingle/pingleserver/dto/response/MyTeamResponse.java b/src/main/java/org/pingle/pingleserver/dto/response/MyTeamResponse.java index 690b077..1415bbe 100644 --- a/src/main/java/org/pingle/pingleserver/dto/response/MyTeamResponse.java +++ b/src/main/java/org/pingle/pingleserver/dto/response/MyTeamResponse.java @@ -7,7 +7,7 @@ public record MyTeamResponse ( public static MyTeamResponse of(Team team, Long meetingCount, Long participantCount, boolean isOwner) { return new MyTeamResponse( team.getId(), - team.getKeyword().toString(), + team.getKeyword().getValue(), team.getName(), meetingCount, participantCount, diff --git a/src/main/java/org/pingle/pingleserver/dto/response/SelectedTeamResponse.java b/src/main/java/org/pingle/pingleserver/dto/response/SelectedTeamResponse.java index 7d075a4..2e59ae8 100644 --- a/src/main/java/org/pingle/pingleserver/dto/response/SelectedTeamResponse.java +++ b/src/main/java/org/pingle/pingleserver/dto/response/SelectedTeamResponse.java @@ -7,7 +7,7 @@ public record SelectedTeamResponse( Long id, String keyword, String name, Long meetingCount, Long participantCount) { public static SelectedTeamResponse of(Team team, Long meetingCount, Long participantCount) { - return new SelectedTeamResponse(team.getId(), team.getKeyword().toString(), team.getName(), meetingCount, participantCount); + return new SelectedTeamResponse(team.getId(), team.getKeyword().getValue(), team.getName(), meetingCount, participantCount); } } diff --git a/src/main/java/org/pingle/pingleserver/dto/response/TeamSearchResultResponse.java b/src/main/java/org/pingle/pingleserver/dto/response/TeamSearchResultResponse.java index e9ba77d..6827210 100644 --- a/src/main/java/org/pingle/pingleserver/dto/response/TeamSearchResultResponse.java +++ b/src/main/java/org/pingle/pingleserver/dto/response/TeamSearchResultResponse.java @@ -1,10 +1,9 @@ package org.pingle.pingleserver.dto.response; import org.pingle.pingleserver.domain.Team; -import org.pingle.pingleserver.domain.enums.TKeyword; public record TeamSearchResultResponse(Long id, String name, String keyword) { public static TeamSearchResultResponse of(Team team) { - return new TeamSearchResultResponse(team.getId(), team.getName(), team.getKeyword().toString()); + return new TeamSearchResultResponse(team.getId(), team.getName(), team.getKeyword().getValue()); } } From 83b3955cac6793f3580de59ef4286ded3e3447b9 Mon Sep 17 00:00:00 2001 From: tkdwns414 Date: Mon, 19 Feb 2024 04:27:30 +0900 Subject: [PATCH 2/3] [feat] create keywords api in team controller --- .../pingleserver/controller/TeamController.java | 7 +++++++ .../pingleserver/dto/reponse/KeywordResponse.java | 15 +++++++++++++++ .../pingle/pingleserver/service/TeamService.java | 13 +++++++++---- 3 files changed, 31 insertions(+), 4 deletions(-) create mode 100644 src/main/java/org/pingle/pingleserver/dto/reponse/KeywordResponse.java diff --git a/src/main/java/org/pingle/pingleserver/controller/TeamController.java b/src/main/java/org/pingle/pingleserver/controller/TeamController.java index 4271105..843713e 100644 --- a/src/main/java/org/pingle/pingleserver/controller/TeamController.java +++ b/src/main/java/org/pingle/pingleserver/controller/TeamController.java @@ -6,6 +6,7 @@ import org.pingle.pingleserver.annotation.UserId; import org.pingle.pingleserver.controller.swagger.TeamApi; import org.pingle.pingleserver.dto.common.ApiResponse; +import org.pingle.pingleserver.dto.reponse.KeywordResponse; import org.pingle.pingleserver.dto.reponse.TeamCreationResponse; import org.pingle.pingleserver.dto.reponse.TeamNameDuplicatedResponse; import org.pingle.pingleserver.dto.request.TeamCreationRequest; @@ -53,4 +54,10 @@ public ApiResponse checkTeamName(@NotBlank @RequestP public ApiResponse createTeam(@UserId Long userId, @Valid @RequestBody TeamCreationRequest request){ return ApiResponse.success(SuccessMessage.OK, teamService.createTeam(userId, request)); } + + @GetMapping("/keywords") + public ApiResponse> getKeywords(){ + return ApiResponse.success(SuccessMessage.OK, teamService.getKeywords()); + } + } diff --git a/src/main/java/org/pingle/pingleserver/dto/reponse/KeywordResponse.java b/src/main/java/org/pingle/pingleserver/dto/reponse/KeywordResponse.java new file mode 100644 index 0000000..154d153 --- /dev/null +++ b/src/main/java/org/pingle/pingleserver/dto/reponse/KeywordResponse.java @@ -0,0 +1,15 @@ +package org.pingle.pingleserver.dto.reponse; + +import lombok.Builder; +import org.pingle.pingleserver.domain.enums.TKeyword; + +@Builder +public record KeywordResponse (String name, String value){ + + public static KeywordResponse of(TKeyword keyword){ + return KeywordResponse.builder() + .name(keyword.toString()) + .value(keyword.getValue()) + .build(); + } +} diff --git a/src/main/java/org/pingle/pingleserver/service/TeamService.java b/src/main/java/org/pingle/pingleserver/service/TeamService.java index 5f2f8a3..36cfbcf 100644 --- a/src/main/java/org/pingle/pingleserver/service/TeamService.java +++ b/src/main/java/org/pingle/pingleserver/service/TeamService.java @@ -4,7 +4,9 @@ import org.pingle.pingleserver.domain.Team; import org.pingle.pingleserver.domain.User; import org.pingle.pingleserver.domain.UserTeam; +import org.pingle.pingleserver.domain.enums.TKeyword; import org.pingle.pingleserver.domain.enums.TRole; +import org.pingle.pingleserver.dto.reponse.KeywordResponse; import org.pingle.pingleserver.dto.reponse.TeamCreationResponse; import org.pingle.pingleserver.dto.reponse.TeamNameDuplicatedResponse; import org.pingle.pingleserver.dto.request.TeamCreationRequest; @@ -19,11 +21,8 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Comparator; -import java.util.List; +import java.util.*; import java.util.stream.Collectors; -import java.util.Random; @Service @RequiredArgsConstructor @@ -117,6 +116,12 @@ public TeamCreationResponse createTeam(Long userId, TeamCreationRequest request) return TeamCreationResponse.of(team); } + public List getKeywords() { + return Arrays.stream(TKeyword.values()) + .map(KeywordResponse::of) + .collect(Collectors.toList()); + } + private String generateCode() { String characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; StringBuilder result = new StringBuilder(12); From 431f920636c88b48ce3f230e273e27de5879ef42 Mon Sep 17 00:00:00 2001 From: tkdwns414 Date: Mon, 19 Feb 2024 05:31:44 +0900 Subject: [PATCH 3/3] [feat] updates keywords rely on figma design --- .../org/pingle/pingleserver/domain/enums/TKeyword.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/pingle/pingleserver/domain/enums/TKeyword.java b/src/main/java/org/pingle/pingleserver/domain/enums/TKeyword.java index 7db1d12..f9c0c2f 100644 --- a/src/main/java/org/pingle/pingleserver/domain/enums/TKeyword.java +++ b/src/main/java/org/pingle/pingleserver/domain/enums/TKeyword.java @@ -9,14 +9,15 @@ public enum TKeyword { CIRCLE("연합동아리"), SCHOOL_CLUB("교내동아리"), - MIDDLE_SCHOOL("중학교"), - HIGH_SCHOOL("고등학교"), + STUDENT_COUNCIL("학생회"), UNIVERSITY("대학교"), + HIGH_SCHOOL("고등학교"), + MIDDLE_SCHOOL("중학교"), LECTURE("강의"), - STUDENT_COUNCIL("학생회"), STUDY_GROUP("스터디"), + PRIVATE_MEETING("사모임"), CLUB("동호회"), - PRIVATE_MEETING("사모임"); + ETC("기타"); private final String value; }