Skip to content

Commit

Permalink
Merge pull request #117 from TeamPINGLE/feat/116
Browse files Browse the repository at this point in the history
[feat] 그룹 키워드 반환 API
  • Loading branch information
tkdwns414 authored Feb 18, 2024
2 parents 45e6b20 + 431f920 commit 91d9bbb
Show file tree
Hide file tree
Showing 7 changed files with 41 additions and 19 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -53,4 +54,10 @@ public ApiResponse<TeamNameDuplicatedResponse> checkTeamName(@NotBlank @RequestP
public ApiResponse<TeamCreationResponse> createTeam(@UserId Long userId, @Valid @RequestBody TeamCreationRequest request){
return ApiResponse.success(SuccessMessage.OK, teamService.createTeam(userId, request));
}

@GetMapping("/keywords")
public ApiResponse<List<KeywordResponse>> getKeywords(){
return ApiResponse.success(SuccessMessage.OK, teamService.getKeywords());
}

}
18 changes: 7 additions & 11 deletions src/main/java/org/pingle/pingleserver/domain/enums/TKeyword.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,21 +7,17 @@
@Getter
@RequiredArgsConstructor(access = AccessLevel.PRIVATE)
public enum TKeyword {
CIRCLE("연합 동아리"),
SCHOOL_CLUB("교내 동아리"),
MIDDLE_SCHOOL("중학교"),
HIGH_SCHOOL("고등학교"),
CIRCLE("연합동아리"),
SCHOOL_CLUB("교내동아리"),
STUDENT_COUNCIL("학생회"),
UNIVERSITY("대학교"),
HIGH_SCHOOL("고등학교"),
MIDDLE_SCHOOL("중학교"),
LECTURE("강의"),
STUDENT_COUNCIL("학생회"),
STUDY_GROUP("스터디"),
PRIVATE_MEETING("사모임"),
CLUB("동호회"),
PRIVATE_MEETING("사모임");
ETC("기타");

private final String value;

@Override
public String toString() {
return value;
}
}
Original file line number Diff line number Diff line change
@@ -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();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}

}
Original file line number Diff line number Diff line change
@@ -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());
}
}
13 changes: 9 additions & 4 deletions src/main/java/org/pingle/pingleserver/service/TeamService.java
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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
Expand Down Expand Up @@ -117,6 +116,12 @@ public TeamCreationResponse createTeam(Long userId, TeamCreationRequest request)
return TeamCreationResponse.of(team);
}

public List<KeywordResponse> getKeywords() {
return Arrays.stream(TKeyword.values())
.map(KeywordResponse::of)
.collect(Collectors.toList());
}

private String generateCode() {
String characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
StringBuilder result = new StringBuilder(12);
Expand Down

0 comments on commit 91d9bbb

Please sign in to comment.