Skip to content

Commit

Permalink
refactor: request 필드 오류시 message 수정
Browse files Browse the repository at this point in the history
  • Loading branch information
nathan29849 committed Feb 7, 2023
1 parent 5a3ec56 commit 4d75f13
Show file tree
Hide file tree
Showing 4 changed files with 32 additions and 26 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ public enum ErrorCodeAndMessages implements CodeAndMessages {
/**
* 500 Server Error
*/
SPEAKING_GRADE_COUNT_ERROR("E-SE001", "스피킹 등급의 개수가 2개가 아닙니다."),
SPEAKING_GRADE_COUNT_ERROR("E-SE001", "Learner 혹은 Giver의 SpeakingGrade 설정이 이루어지지 않았습니다. 회원가입을 다시 진행해주세요,"),
;

private final String code;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -84,21 +84,26 @@ public SpeakingLogsResponse find(Long memberId, SpeakingLogConditionRequest spea

LocalDateTime endDateTime = LocalDateTime.of(speakingLogConditionRequest.getDate(), LocalTime.of(23,59,59));

List<SpeakingLog> speakingLogs = speakingLogRepository.findAllByCreatedAtBetween(
startDateTime, endDateTime);

List<SpeakingLogResponse> speakingLogResponses = speakingLogs.stream().map(speakingLog ->
new SpeakingLogResponse(
speakingLog.getId(),
speakingLog.getTitle(),
speakingLog.getVoiceRecord(),
speakingLog.getVoiceText(),
getFavoriteCount(speakingLog.getId()),
getCommentCount(speakingLog.getId()),
favoriteRepository.findByMemberIdAndSpeakingLog(memberId, speakingLog).isPresent(),
speakingLog.getMember().getProfileImage(),
speakingLog.getId()
)).collect(Collectors.toList());
List<SpeakingLog> speakingLogs = speakingLogRepository.findAllByCreatedAtBetween(startDateTime, endDateTime);
/**
* TODO: type에 따라 SpeakingLog 조회가 되어야 함
*/

List<SpeakingLogResponse> speakingLogResponses = speakingLogs.stream()
.map(speakingLog ->
new SpeakingLogResponse(
speakingLog.getId(),
speakingLog.getTitle(),
speakingLog.getVoiceRecord(),
speakingLog.getVoiceText(),
getFavoriteCount(speakingLog.getId()),
getCommentCount(speakingLog.getId()),
favoriteRepository.findByMemberIdAndSpeakingLog(memberId, speakingLog)
.isPresent(),
speakingLog.getMember().getProfileImage(),
speakingLog.getId()
))
.collect(Collectors.toList());

return new SpeakingLogsResponse(
speakingLogConditionRequest.getType(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,51 +19,52 @@
public class MemberSignUpRequest {

@NotNull(message = "memberType 을 정확히 입력해주세요. "
+ "elementary_school, middle_school, high_school, university, office_worker, job_seeker, free 중 하나여야 합니다.")
+ "\"elementary_school\", \"middle_school\", \"high_school\", \"university\", \"office_worker\", \"job_seeker\", \"free\" 중 하나여야 합니다.")
@Schema(enumAsRef = true, description = "멤버의 타입 선택, NOT NULL",
allowableValues = {"\"elementary_school\"", "\"middle_school\"", "\"high_school\"",
"\"university\"", "\"office_worker\"", "\"job_seeker\"", "\"free\""})
private MemberType memberType;

@NotNull(message = "learnerLanguage 를 정확히 입력해주세요. "
+ "ENG, KOR 중 하나여야 합니다.")
+ "\"ENG\", \"KOR\" 중 하나여야 합니다.")
@Schema(enumAsRef = true, description = "Learner Language 선택, NOT NULL",
allowableValues = {"\"ENG\"", "\"KOR\""})
private SpeakingGradeLanguage learnerLanguage;

@NotNull(message = "learnerLevel 을 정확히 입력해주세요. "
+ "1, 2, 3, 4, 5 중 하나여야 합니다.")
+ "\"1\", \"2\", \"3\", \"4\", \"5\" 중 하나여야 합니다.")
@Schema(enumAsRef = true, description = "Learner Language Level, NOT NULL",
allowableValues = {"\"1\"", "\"2\"", "\"3\"", "\"4\"", "\"5\""})
private SpeakingGradeLevel learnerLevel;

@NotNull(message = "giverLanguage 를 정확히 입력해주세요. ENG, KOR 중 하나여야 합니다.")
@NotNull(message = "giverLanguage 를 정확히 입력해주세요. \"ENG\", \"KOR\" 중 하나여야 합니다.")
@Schema(enumAsRef = true, description = "Giver Language 선택, NOT NULL",
allowableValues = {"\"ENG\"", "\"KOR\""})
private SpeakingGradeLanguage giverLanguage;

@NotNull(message = "giverLevel 을 정확히 입력해주세요. "
+ "1, 2, 3, 4, 5 중 하나여야 합니다.")
+ "\"1\", \"2\", \"3\", \"4\", \"5\" 중 하나여야 합니다.")
@Schema(enumAsRef = true, description = "Giver Language Level, NOT NULL",
allowableValues = {"\"1\"", "\"2\"", "\"3\"", "\"4\"", "\"5\""})
private SpeakingGradeLevel giverLevel;

@NotNull(message = "하나 이상의 목표가 선택되어야 합니다.")
@NotNull(message = "하나 이상의 목표가 선택되어야 합니다. 목표는 현재 1 ~ 5까지 존재합니다. (ex. [2, 3])")
@Size(min = 1, message = "하나 이상의 목표가 선택되어야 합니다.")
@Schema(subTypes = {Long.class}, description = "목표 다중 선택 가능(0부터 순서대로 기입, 1개 이상), NOT NULL")
private List<Long> goals;

@NotNull(message = "셋 이상의 주제가 선택되어야 합니다.")
@NotNull(message = "셋 이상의 주제가 선택되어야 합니다. 주제는 현재 1 ~ 9까지 존재합니다. (ex. [1, 4, 7])")
@Size(min = 3, message = "셋 이상의 주제가 선택되어야 합니다.")
@Schema(subTypes = {Long.class}, minLength = 3, description = "주제 다중 선택 가능(3개 이상), NOT NULL")
private List<Long> subjects;

@NotNull(message = "alarmStatus 를 정확히 입력해주세요. TRUE, FALSE 중 하나여야 합니다.")
@NotNull(message = "alarmStatus 를 정확히 입력해주세요. true, false 중 하나여야 합니다.")
@Schema(type = "Boolean")
private Boolean alarmStatus;


@Schema(enumAsRef = true, description = "스피킹 시험의 종류(한 개만 선택 가능): OPIC, TOEFL, TOEIC_SPEAKING")
@Schema(enumAsRef = true, description = "스피킹 시험의 종류(한 개만 선택 가능): \"OPIC\", \"TOEFL\", \"TOEIC_SPEAKING\""
+ " - 현재는 목표 id 5 (시험 목표)를 선택한 경우에만 정상적으로 저장됩니다.(그 외의 경우엔 아예 입력하지 않아도 됩니다.)")
private SpeakingTestType testType;

public MemberSignUpRequest(String memberType, String learnerLanguage,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ public class SpeakingLogRequest {
@Schema(type = "String", description = "제목, 4자 이상 ~ 30자 이내")
private String title;

@NotNull(message = "voiceRecord가 빈 값이어서는 안됩니다.")
@NotNull(message = "voiceRecord가 빈 값이어서는 안됩니다. file path url 형식을 지켜주세요 (ex. https://~)")
@URL(message = "올바른 voiceRecord를 입력해야 합니다.")
@Schema(type = "String", description = "음성 녹음 URL, NOT NULL")
private String voiceRecord;
Expand Down

0 comments on commit 4d75f13

Please sign in to comment.