Skip to content

Commit

Permalink
[feat] question 수정, 최종 합격 여부 조회 서비스 validation 추가 (#137)
Browse files Browse the repository at this point in the history
  • Loading branch information
wjdtkdgns authored Aug 7, 2023
1 parent a6725ab commit 3303132
Show file tree
Hide file tree
Showing 25 changed files with 57 additions and 23 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@


import ceos.backend.domain.application.dto.request.CreateApplicationRequest;
import ceos.backend.domain.application.exception.*;
import ceos.backend.domain.application.exception.exceptions.*;
import ceos.backend.global.common.entity.BaseEntity;
import jakarta.persistence.*;
import jakarta.validation.constraints.NotNull;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ public enum ApplicationErrorCode implements BaseErrorCode {
ALREADY_CHECK_FINAL(BAD_REQUEST, "APPLICATION_400_6", "활동 여부를 이미 선택했습니다."),
SAME_PASS_STATUS(BAD_REQUEST, "APPLICATION_400_7", "같은 상태로 변경할 수 없습니다."),
NOT_SET_INTERVIEW_TIME(BAD_REQUEST, "APPLICATION_400_8", "면접 시간이 정해지지 않았습니다."),
APPLICATION_STILL_EXIST(BAD_REQUEST, "APPLICATION_400_9", "기존 지원자 데이터가 남아있습니다."),

APPLICANT_NOT_FOUND(BAD_REQUEST, "APPLICATION_404_3", "존재하지 않는 지원자입니다."),

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package ceos.backend.domain.application.exception;
package ceos.backend.domain.application.exception.exceptions;


import ceos.backend.domain.application.exception.ApplicationErrorCode;
import ceos.backend.global.error.BaseErrorException;

public class AlreadyCheckFinal extends BaseErrorException {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package ceos.backend.domain.application.exception;
package ceos.backend.domain.application.exception.exceptions;


import ceos.backend.domain.application.exception.ApplicationErrorCode;
import ceos.backend.global.error.BaseErrorException;

public class AlreadyCheckInterview extends BaseErrorException {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package ceos.backend.domain.application.exception;
package ceos.backend.domain.application.exception.exceptions;


import ceos.backend.domain.application.exception.ApplicationErrorCode;
import ceos.backend.global.error.BaseErrorException;

public class AnswerStillExist extends BaseErrorException {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package ceos.backend.domain.application.exception;
package ceos.backend.domain.application.exception.exceptions;


import ceos.backend.domain.application.exception.ApplicationErrorCode;
import ceos.backend.global.error.BaseErrorException;

public class ApplicantNotFound extends BaseErrorException {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package ceos.backend.domain.application.exception;
package ceos.backend.domain.application.exception.exceptions;


import ceos.backend.domain.application.exception.ApplicationErrorCode;
import ceos.backend.global.error.BaseErrorException;

public class ApplicationInterviewStillExist extends BaseErrorException {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
package ceos.backend.domain.application.exception.exceptions;


import ceos.backend.domain.application.exception.ApplicationErrorCode;
import ceos.backend.global.error.BaseErrorException;

public class ApplicationStillExist extends BaseErrorException {

public static final ApplicationStillExist EXCEPTION = new ApplicationStillExist();

private ApplicationStillExist() {
super(ApplicationErrorCode.ALREADY_CHECK_INTERVIEW);
}
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package ceos.backend.domain.application.exception;
package ceos.backend.domain.application.exception.exceptions;


import ceos.backend.domain.application.exception.ApplicationErrorCode;
import ceos.backend.global.error.BaseErrorException;

public class DuplicateApplicant extends BaseErrorException {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package ceos.backend.domain.application.exception;
package ceos.backend.domain.application.exception.exceptions;


import ceos.backend.domain.application.exception.ApplicationErrorCode;
import ceos.backend.global.error.BaseErrorException;

public class FileCreationFailed extends BaseErrorException {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package ceos.backend.domain.application.exception;
package ceos.backend.domain.application.exception.exceptions;


import ceos.backend.domain.application.exception.ApplicationErrorCode;
import ceos.backend.global.error.BaseErrorException;

public class InterviewNotFound extends BaseErrorException {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package ceos.backend.domain.application.exception;
package ceos.backend.domain.application.exception.exceptions;


import ceos.backend.domain.application.exception.ApplicationErrorCode;
import ceos.backend.global.error.BaseErrorException;

public class NotMatchingQnA extends BaseErrorException {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package ceos.backend.domain.application.exception;
package ceos.backend.domain.application.exception.exceptions;


import ceos.backend.domain.application.exception.ApplicationErrorCode;
import ceos.backend.global.error.BaseErrorException;

public class NotPassDocument extends BaseErrorException {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package ceos.backend.domain.application.exception;
package ceos.backend.domain.application.exception.exceptions;


import ceos.backend.domain.application.exception.ApplicationErrorCode;
import ceos.backend.global.error.BaseErrorException;

public class NotPassFinal extends BaseErrorException {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package ceos.backend.domain.application.exception;
package ceos.backend.domain.application.exception.exceptions;


import ceos.backend.domain.application.exception.ApplicationErrorCode;
import ceos.backend.global.error.BaseErrorException;

public class NotSetInterviewTime extends BaseErrorException {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package ceos.backend.domain.application.exception;
package ceos.backend.domain.application.exception.exceptions;


import ceos.backend.domain.application.exception.ApplicationErrorCode;
import ceos.backend.global.error.BaseErrorException;

public class QuestionNotFound extends BaseErrorException {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package ceos.backend.domain.application.exception;
package ceos.backend.domain.application.exception.exceptions;


import ceos.backend.domain.application.exception.ApplicationErrorCode;
import ceos.backend.global.error.BaseErrorException;

public class SamePassStatus extends BaseErrorException {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package ceos.backend.domain.application.exception;
package ceos.backend.domain.application.exception.exceptions;


import ceos.backend.domain.application.exception.ApplicationErrorCode;
import ceos.backend.global.error.BaseErrorException;

public class WrongGeneration extends BaseErrorException {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
import ceos.backend.domain.application.dto.request.UpdateAttendanceRequest;
import ceos.backend.domain.application.enums.SortPartType;
import ceos.backend.domain.application.enums.SortPassType;
import ceos.backend.domain.application.exception.ApplicantNotFound;
import ceos.backend.domain.application.exception.exceptions.ApplicantNotFound;
import ceos.backend.domain.application.mapper.ApplicationMapper;
import ceos.backend.domain.application.repository.*;
import ceos.backend.global.common.dto.AwsSESMail;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
import ceos.backend.domain.application.dto.request.CreateApplicationRequest;
import ceos.backend.domain.application.dto.request.UpdateApplicationQuestion;
import ceos.backend.domain.application.dto.response.*;
import ceos.backend.domain.application.exception.InterviewNotFound;
import ceos.backend.domain.application.exception.QuestionNotFound;
import ceos.backend.domain.application.exception.exceptions.InterviewNotFound;
import ceos.backend.domain.application.exception.exceptions.QuestionNotFound;
import ceos.backend.domain.application.vo.*;
import ceos.backend.domain.recruitment.domain.Recruitment;
import ceos.backend.global.common.dto.PageInfo;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
import ceos.backend.domain.application.domain.ApplicationInterview;
import ceos.backend.domain.application.domain.ApplicationQuestion;
import ceos.backend.domain.application.dto.response.GetCreationTime;
import ceos.backend.domain.application.exception.FileCreationFailed;
import ceos.backend.domain.application.exception.exceptions.FileCreationFailed;
import ceos.backend.domain.application.helper.ApplicationExcelHelper;
import ceos.backend.domain.application.repository.ApplicationQuestionRepository;
import ceos.backend.domain.application.repository.ApplicationRepository;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -157,6 +157,7 @@ public void updateInterviewAttendance(
public GetResultResponse getFinalResult(String uuid, String email) {
recruitmentValidator.validateFinalResultAbleDuration(); // 최종 합격 기간 검증
applicationValidator.validateApplicantAccessible(uuid, email); // 유저 검증
applicationValidator.validateInterviewTimeExist(uuid, email); // 유저 검증
final Application application = applicationHelper.getApplicationByUuidAndEmail(uuid, email);
applicationValidator.validateApplicantDocumentPass(application); // 유저 서류 합격 여부 검증

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
import ceos.backend.domain.application.domain.Interview;
import ceos.backend.domain.application.domain.QuestionCategory;
import ceos.backend.domain.application.dto.request.CreateApplicationRequest;
import ceos.backend.domain.application.exception.*;
import ceos.backend.domain.application.exception.exceptions.*;
import ceos.backend.domain.application.repository.ApplicationAnswerRepository;
import ceos.backend.domain.application.repository.ApplicationInterviewRepository;
import ceos.backend.domain.application.repository.ApplicationQuestionRepository;
Expand Down Expand Up @@ -80,6 +80,9 @@ public void validateInterviewTime(List<Interview> interviews, String interviewTi
}

public void validateRemainApplications() {
if (applicationRepository.count() != 0) {
throw ApplicationStillExist.EXCEPTION;
}
if (applicationAnswerRepository.count() != 0) {
throw AnswerStillExist.EXCEPTION;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@


import ceos.backend.domain.admin.exception.NotAllowedToModify;
import ceos.backend.domain.application.exception.WrongGeneration;
import ceos.backend.domain.application.exception.exceptions.WrongGeneration;
import ceos.backend.domain.recruitment.dto.request.UpdateRecruitmentRequest;
import ceos.backend.domain.recruitment.exception.*;
import ceos.backend.global.common.entity.BaseEntity;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import ceos.backend.domain.application.domain.ApplicationQuestion;
import ceos.backend.domain.application.domain.QuestionCategory;
import ceos.backend.domain.application.dto.request.CreateApplicationRequest;
import ceos.backend.domain.application.exception.QuestionNotFound;
import ceos.backend.domain.application.exception.exceptions.QuestionNotFound;
import ceos.backend.domain.application.vo.AnswerVo;
import ceos.backend.global.common.dto.AwsSESMail;
import ceos.backend.global.common.dto.AwsSESPasswordMail;
Expand Down

0 comments on commit 3303132

Please sign in to comment.