Skip to content

Commit c7e76d1

Browse files
committed
fix: available field type 변경 boolean to AvailableCheck
1 parent 97b6406 commit c7e76d1

6 files changed

Lines changed: 46 additions & 33 deletions

File tree

src/main/java/ceos/backend/domain/application/domain/Application.java

Lines changed: 23 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,9 @@ public class Application extends BaseEntity {
3434

3535
private String interviewDatetime;
3636

37-
private Boolean interviewCheck;
37+
@NotNull
38+
@Enumerated(EnumType.STRING)
39+
private AvailableCheck interviewCheck = AvailableCheck.UNDECIDED;
3840

3941
@Size(max = 100)
4042
private String unableReason;
@@ -43,7 +45,9 @@ public class Application extends BaseEntity {
4345
@Enumerated(EnumType.STRING)
4446
private Pass documentPass;
4547

46-
private Boolean finalCheck; // 활동 가능 여부
48+
@NotNull
49+
@Enumerated(EnumType.STRING)
50+
private AvailableCheck finalCheck = AvailableCheck.UNDECIDED; // 활동 가능 여부
4751

4852
@NotNull
4953
@Enumerated(EnumType.STRING)
@@ -74,11 +78,20 @@ public static Application of(
7478
.build();
7579
}
7680

77-
public boolean isInterviewCheck() {
78-
return Boolean.TRUE.equals(interviewCheck);
81+
public boolean isInterviewAvailable() {
82+
return interviewCheck == AvailableCheck.AVAILABLE;
7983
}
80-
public boolean isFinalCheck() {
81-
return Boolean.TRUE.equals(finalCheck);
84+
85+
public boolean isInterviewChecked() {
86+
return interviewCheck != AvailableCheck.UNDECIDED;
87+
}
88+
89+
public boolean isFinalAvailable() {
90+
return finalCheck == AvailableCheck.AVAILABLE;
91+
}
92+
93+
public boolean isFinalChecked() {
94+
return finalCheck != AvailableCheck.UNDECIDED;
8295
}
8396

8497
public void addApplicationAnswerList(List<ApplicationAnswer> applicationAnswers) {
@@ -89,13 +102,13 @@ public void addApplicationInterviewList(List<ApplicationInterview> applicationIn
89102
this.applicationInterviews = applicationInterviews;
90103
}
91104

92-
public void updateInterviewCheck(boolean check) {
105+
public void updateInterviewCheck(AvailableCheck check) {
93106
this.interviewCheck = check;
94107
}
95108

96109
public void updateUnableReason(String reason) { this.unableReason = reason; }
97110

98-
public void updateFinalCheck(boolean check) {
111+
public void updateFinalCheck(AvailableCheck check) {
99112
this.finalCheck = check;
100113
}
101114

@@ -130,13 +143,13 @@ public void validateFinalPass() {
130143
}
131144

132145
public void validateNotFinalCheck() {
133-
if (this.isFinalCheck()) {
146+
if (this.isFinalChecked()) {
134147
throw AlreadyCheckFinal.EXCEPTION;
135148
}
136149
}
137150

138151
public void validateNotInterviewCheck() {
139-
if (this.isInterviewCheck()) {
152+
if (this.isInterviewChecked()) {
140153
throw AlreadyCheckInterview.EXCEPTION;
141154
}
142155
}

src/main/java/ceos/backend/domain/application/dto/request/UpdateAttendanceRequest.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,16 @@
11
package ceos.backend.domain.application.dto.request;
22

33

4+
import ceos.backend.domain.application.domain.AvailableCheck;
45
import io.swagger.v3.oas.annotations.media.Schema;
56
import jakarta.validation.constraints.NotNull;
67
import lombok.Getter;
78

89
@Getter
910
public class UpdateAttendanceRequest {
10-
@Schema(defaultValue = "true", description = "참여 가능 여부")
11+
@Schema(defaultValue = "AVAILABLE", description = "참여 가능 여부")
1112
@NotNull
12-
private boolean available;
13+
private AvailableCheck available;
1314

1415
@Schema(defaultValue = "null", description = "참여 불가능 사유")
1516
private String reason;

src/main/java/ceos/backend/domain/application/dto/response/GetFinalAvailability.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,25 @@
11
package ceos.backend.domain.application.dto.response;
22

33
import ceos.backend.domain.application.domain.Application;
4+
import ceos.backend.domain.application.domain.AvailableCheck;
45
import lombok.Builder;
56
import lombok.Getter;
67

78
@Getter
89
@Builder
910
public class GetFinalAvailability {
10-
private boolean finalAvailability; // 활동 가능 여부
11+
private AvailableCheck finalAvailability; // 활동 가능 여부
1112
private String reason; // 활동 불가능 사유
1213

1314
@Builder
14-
public GetFinalAvailability(boolean finalCheck, String reason) {
15+
public GetFinalAvailability(AvailableCheck finalCheck, String reason) {
1516
this.finalAvailability = finalCheck;
1617
this.reason = reason;
1718
}
1819

1920
public static GetFinalAvailability of(Application application) {
2021
return GetFinalAvailability.builder()
21-
.finalAvailability(application.isFinalCheck())
22+
.finalAvailability(application.getFinalCheck())
2223
.reason(application.getUnableReason())
2324
.build();
2425
}

src/main/java/ceos/backend/domain/application/dto/response/GetInterviewAvailability.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,25 @@
11
package ceos.backend.domain.application.dto.response;
22

33
import ceos.backend.domain.application.domain.Application;
4+
import ceos.backend.domain.application.domain.AvailableCheck;
45
import lombok.Builder;
56
import lombok.Getter;
67

78
@Getter
89
@Builder
910
public class GetInterviewAvailability {
10-
private boolean interviewAvailability; // 참여 가능 여부
11+
private AvailableCheck interviewAvailability; // 참여 가능 여부
1112
private String reason; // 참여 불가능 사유
1213

1314
@Builder
14-
public GetInterviewAvailability(boolean interviewCheck, String reason) {
15+
public GetInterviewAvailability(AvailableCheck interviewCheck, String reason) {
1516
this.interviewAvailability = interviewCheck;
1617
this.reason = reason;
1718
}
1819

1920
public static GetInterviewAvailability of(Application application) {
2021
return GetInterviewAvailability.builder()
21-
.interviewAvailability(application.isInterviewCheck())
22+
.interviewAvailability(application.getInterviewCheck())
2223
.reason(application.getUnableReason())
2324
.build();
2425
}

src/main/java/ceos/backend/domain/application/dto/response/GetResultResponse.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33

44
import ceos.backend.domain.application.domain.Application;
5+
import ceos.backend.domain.application.domain.AvailableCheck;
56
import ceos.backend.domain.application.domain.Pass;
67
import ceos.backend.domain.recruitment.domain.Recruitment;
78
import ceos.backend.global.common.dto.ParsedDuration;
@@ -28,7 +29,7 @@ public class GetResultResponse {
2829

2930
private String openChatUrl;
3031

31-
private boolean attendanceStatus;
32+
private AvailableCheck attendanceStatus;
3233

3334
@Builder
3435
private GetResultResponse(
@@ -38,7 +39,7 @@ private GetResultResponse(
3839
Part part,
3940
ParsedDuration parsedDuration,
4041
LocalDate otDate,
41-
boolean attendanceStatus,
42+
AvailableCheck attendanceStatus,
4243
String openChatUrl) {
4344
this.pass = pass;
4445
this.generation = generation;
@@ -65,7 +66,7 @@ public static GetResultResponse toDocumentResult(
6566
.part(application.getApplicationDetail().getPart())
6667
.parsedDuration(duration)
6768
.otDate(recruitment.getOtDate())
68-
.attendanceStatus(application.isInterviewCheck())
69+
.attendanceStatus(application.getInterviewCheck())
6970
.openChatUrl(recruitment.getOpenChatUrl())
7071
.build();
7172
}
@@ -81,7 +82,7 @@ public static GetResultResponse toFinalResult(
8182
ParsedDurationConvertor.parsingDuration(application.getInterviewDatetime()))
8283
.otDate(recruitment.getOtDate())
8384
.openChatUrl(recruitment.getOpenChatUrl())
84-
.attendanceStatus(application.isFinalCheck())
85+
.attendanceStatus(application.getFinalCheck())
8586
.build();
8687
}
8788
}

src/main/java/ceos/backend/domain/application/service/ApplicationService.java

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,7 @@
11
package ceos.backend.domain.application.service;
22

33

4-
import ceos.backend.domain.application.domain.Application;
5-
import ceos.backend.domain.application.domain.ApplicationAnswer;
6-
import ceos.backend.domain.application.domain.ApplicationInterview;
7-
import ceos.backend.domain.application.domain.ApplicationQuestion;
8-
import ceos.backend.domain.application.domain.ApplicationQuestionDetail;
9-
import ceos.backend.domain.application.domain.Interview;
10-
import ceos.backend.domain.application.domain.Pass;
4+
import ceos.backend.domain.application.domain.*;
115
import ceos.backend.domain.application.dto.request.CreateApplicationRequest;
126
import ceos.backend.domain.application.dto.request.UpdateApplicationQuestion;
137
import ceos.backend.domain.application.dto.request.UpdateAttendanceRequest;
@@ -42,6 +36,8 @@
4236
import org.springframework.stereotype.Service;
4337
import org.springframework.transaction.annotation.Transactional;
4438

39+
import static ceos.backend.domain.application.domain.AvailableCheck.AVAILABLE;
40+
4541
@Service
4642
@RequiredArgsConstructor
4743
public class ApplicationService {
@@ -162,8 +158,8 @@ public void updateInterviewAttendance(
162158
applicationHelper.getApplicationByUuidAndEmailForUpdate(uuid, email);
163159
applicationValidator.validateApplicantInterviewCheckStatus(application); // 서류합격, 인터뷰 체크 검증
164160

165-
if (request.isAvailable()) {
166-
application.updateInterviewCheck(true);
161+
if (request.getAvailable() == AVAILABLE) {
162+
application.updateInterviewCheck(AVAILABLE);
167163
} else {
168164
application.updateUnableReason(request.getReason());
169165
applicationHelper.sendSlackUnableReasonMessage(application, request, false);
@@ -191,8 +187,8 @@ public void updateParticipationAvailability(
191187
applicationHelper.getApplicationByUuidAndEmailForUpdate(uuid, email);
192188
applicationValidator.validateApplicantActivityCheckStatus(application); // 유저 확인 여부 검증
193189

194-
if (request.isAvailable()) {
195-
application.updateFinalCheck(true);
190+
if (request.getAvailable() == AVAILABLE) {
191+
application.updateFinalCheck(AVAILABLE);
196192
} else {
197193
application.updateUnableReason(request.getReason());
198194
applicationHelper.sendSlackUnableReasonMessage(application, request, true);

0 commit comments

Comments
 (0)