From 37e2bf5756a93319a7d4ca2bb668247020a68000 Mon Sep 17 00:00:00 2001 From: Kangmin Date: Tue, 5 Dec 2023 15:05:10 +0900 Subject: [PATCH] =?UTF-8?q?=F0=9F=A7=A9=20::=20(#482)=20=EC=9E=90=EC=9E=98?= =?UTF-8?q?=ED=95=9C=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...esponse.java => QueryMyApplicationsResponse.java} | 6 +++--- ...sUseCase.java => QueryMyApplicationsUseCase.java} | 12 ++++++------ .../jobis/domain/student/model/SchoolNumber.java | 10 ++++------ .../jobis/domain/student/spi/QueryStudentPort.java | 2 +- .../domain/student/usecase/VerifyStudentUseCase.java | 6 +++--- .../presentation/ApplicationWebAdapter.java | 12 ++++++------ .../persistence/StudentPersistenceAdapter.java | 2 +- .../retum/jobis/global/security/SecurityConfig.java | 2 +- 8 files changed, 25 insertions(+), 27 deletions(-) rename jobis-application/src/main/java/team/retum/jobis/domain/application/dto/response/{StudentQueryApplicationsResponse.java => QueryMyApplicationsResponse.java} (75%) rename jobis-application/src/main/java/team/retum/jobis/domain/application/usecase/{QueryStudentApplicationsUseCase.java => QueryMyApplicationsUseCase.java} (76%) diff --git a/jobis-application/src/main/java/team/retum/jobis/domain/application/dto/response/StudentQueryApplicationsResponse.java b/jobis-application/src/main/java/team/retum/jobis/domain/application/dto/response/QueryMyApplicationsResponse.java similarity index 75% rename from jobis-application/src/main/java/team/retum/jobis/domain/application/dto/response/StudentQueryApplicationsResponse.java rename to jobis-application/src/main/java/team/retum/jobis/domain/application/dto/response/QueryMyApplicationsResponse.java index 7529bce12..3ed0d0390 100644 --- a/jobis-application/src/main/java/team/retum/jobis/domain/application/dto/response/StudentQueryApplicationsResponse.java +++ b/jobis-application/src/main/java/team/retum/jobis/domain/application/dto/response/QueryMyApplicationsResponse.java @@ -9,13 +9,13 @@ @Getter @AllArgsConstructor -public class StudentQueryApplicationsResponse { +public class QueryMyApplicationsResponse { - private final List applications; + private final List applications; @Getter @Builder - public static class StudentQueryApplicationResponse { + public static class QueryMyApplicationResponse { private final Long applicationId; private final Long recruitmentId; private final String company; diff --git a/jobis-application/src/main/java/team/retum/jobis/domain/application/usecase/QueryStudentApplicationsUseCase.java b/jobis-application/src/main/java/team/retum/jobis/domain/application/usecase/QueryMyApplicationsUseCase.java similarity index 76% rename from jobis-application/src/main/java/team/retum/jobis/domain/application/usecase/QueryStudentApplicationsUseCase.java rename to jobis-application/src/main/java/team/retum/jobis/domain/application/usecase/QueryMyApplicationsUseCase.java index 572c884ce..656833a6a 100644 --- a/jobis-application/src/main/java/team/retum/jobis/domain/application/usecase/QueryStudentApplicationsUseCase.java +++ b/jobis-application/src/main/java/team/retum/jobis/domain/application/usecase/QueryMyApplicationsUseCase.java @@ -4,25 +4,25 @@ import team.retum.jobis.common.annotation.ReadOnlyUseCase; import team.retum.jobis.common.spi.SecurityPort; import team.retum.jobis.domain.application.dto.response.AttachmentResponse; -import team.retum.jobis.domain.application.dto.response.StudentQueryApplicationsResponse; -import team.retum.jobis.domain.application.dto.response.StudentQueryApplicationsResponse.StudentQueryApplicationResponse; +import team.retum.jobis.domain.application.dto.response.QueryMyApplicationsResponse; +import team.retum.jobis.domain.application.dto.response.QueryMyApplicationsResponse.QueryMyApplicationResponse; import team.retum.jobis.domain.application.spi.QueryApplicationPort; import team.retum.jobis.domain.student.model.Student; @RequiredArgsConstructor @ReadOnlyUseCase -public class QueryStudentApplicationsUseCase { +public class QueryMyApplicationsUseCase { private final QueryApplicationPort queryApplicationPort; private final SecurityPort securityPort; - public StudentQueryApplicationsResponse execute() { + public QueryMyApplicationsResponse execute() { Student student = securityPort.getCurrentStudent(); - return new StudentQueryApplicationsResponse( + return new QueryMyApplicationsResponse( queryApplicationPort.queryApplicationByConditions( null, student.getId(), null, null).stream() - .map(application -> StudentQueryApplicationResponse.builder() + .map(application -> QueryMyApplicationResponse.builder() .applicationId(application.getId()) .recruitmentId(application.getRecruitmentId()) .company(application.getCompanyName()) diff --git a/jobis-application/src/main/java/team/retum/jobis/domain/student/model/SchoolNumber.java b/jobis-application/src/main/java/team/retum/jobis/domain/student/model/SchoolNumber.java index d77f3acfd..10898ef2e 100644 --- a/jobis-application/src/main/java/team/retum/jobis/domain/student/model/SchoolNumber.java +++ b/jobis-application/src/main/java/team/retum/jobis/domain/student/model/SchoolNumber.java @@ -4,8 +4,6 @@ import lombok.Getter; import team.retum.jobis.domain.student.exception.ClassRoomNotFoundException; -import java.util.List; - @Getter @Builder public class SchoolNumber { @@ -16,10 +14,6 @@ public class SchoolNumber { private final Integer number; - private static final int FIRST_GRADE = 1; - private static final int SECOND_GRADE = 2; - private static final int THIRD_GRADE = 3; - public static String processSchoolNumber(SchoolNumber schoolNumber) { return String.valueOf(schoolNumber.grade) + schoolNumber.classRoom + @@ -54,4 +48,8 @@ public static SchoolNumber parseSchoolNumber(String schoolNumber) { .number(number) .build(); } + + private static final int FIRST_GRADE = 1; + private static final int SECOND_GRADE = 2; + private static final int THIRD_GRADE = 3; } diff --git a/jobis-application/src/main/java/team/retum/jobis/domain/student/spi/QueryStudentPort.java b/jobis-application/src/main/java/team/retum/jobis/domain/student/spi/QueryStudentPort.java index 5e4c392e1..a5b833ab9 100644 --- a/jobis-application/src/main/java/team/retum/jobis/domain/student/spi/QueryStudentPort.java +++ b/jobis-application/src/main/java/team/retum/jobis/domain/student/spi/QueryStudentPort.java @@ -12,5 +12,5 @@ public interface QueryStudentPort { int queryStudentCountByGradeAndEntranceYear(int grade, int entranceYear); - boolean existsByGradeAndClassRoomAndNumberAndName(SchoolNumber schoolNumber, String name); + boolean existsBySchoolNumberAndName(SchoolNumber schoolNumber, String name); } diff --git a/jobis-application/src/main/java/team/retum/jobis/domain/student/usecase/VerifyStudentUseCase.java b/jobis-application/src/main/java/team/retum/jobis/domain/student/usecase/VerifyStudentUseCase.java index 5e918a178..9466e22dc 100644 --- a/jobis-application/src/main/java/team/retum/jobis/domain/student/usecase/VerifyStudentUseCase.java +++ b/jobis-application/src/main/java/team/retum/jobis/domain/student/usecase/VerifyStudentUseCase.java @@ -1,7 +1,7 @@ package team.retum.jobis.domain.student.usecase; import lombok.RequiredArgsConstructor; -import team.retum.jobis.common.annotation.UseCase; +import team.retum.jobis.common.annotation.ReadOnlyUseCase; import team.retum.jobis.domain.student.exception.StudentAlreadyExistsException; import team.retum.jobis.domain.student.exception.StudentNotFoundException; import team.retum.jobis.domain.student.model.SchoolNumber; @@ -9,7 +9,7 @@ import team.retum.jobis.domain.student.spi.QueryVerifiedStudentPort; @RequiredArgsConstructor -@UseCase +@ReadOnlyUseCase public class VerifyStudentUseCase { private final QueryVerifiedStudentPort queryVerifiedStudentPort; @@ -18,7 +18,7 @@ public class VerifyStudentUseCase { public void execute(String gcn, String name) { SchoolNumber parseSchoolNumber = SchoolNumber.parseSchoolNumber(gcn); - if (queryStudentPort.existsByGradeAndClassRoomAndNumberAndName(parseSchoolNumber, name)) { + if (queryStudentPort.existsBySchoolNumberAndName(parseSchoolNumber, name)) { throw StudentAlreadyExistsException.EXCEPTION; } diff --git a/jobis-infrastructure/src/main/java/team/retum/jobis/domain/application/presentation/ApplicationWebAdapter.java b/jobis-infrastructure/src/main/java/team/retum/jobis/domain/application/presentation/ApplicationWebAdapter.java index b1154e931..072f98a6a 100644 --- a/jobis-infrastructure/src/main/java/team/retum/jobis/domain/application/presentation/ApplicationWebAdapter.java +++ b/jobis-infrastructure/src/main/java/team/retum/jobis/domain/application/presentation/ApplicationWebAdapter.java @@ -19,7 +19,7 @@ import team.retum.jobis.domain.application.dto.response.QueryEmploymentCountResponse; import team.retum.jobis.domain.application.dto.response.QueryPassedApplicationStudentsResponse; import team.retum.jobis.domain.application.dto.response.QueryRejectionReasonResponse; -import team.retum.jobis.domain.application.dto.response.StudentQueryApplicationsResponse; +import team.retum.jobis.domain.application.dto.response.QueryMyApplicationsResponse; import team.retum.jobis.domain.application.dto.response.TeacherQueryApplicationsResponse; import team.retum.jobis.domain.application.model.ApplicationStatus; import team.retum.jobis.domain.application.presentation.dto.request.ChangeApplicationsStatusWebRequest; @@ -34,7 +34,7 @@ import team.retum.jobis.domain.application.usecase.QueryEmploymentCountUseCase; import team.retum.jobis.domain.application.usecase.QueryPassedApplicationStudentsUseCase; import team.retum.jobis.domain.application.usecase.QueryRejectionReasonUseCase; -import team.retum.jobis.domain.application.usecase.QueryStudentApplicationsUseCase; +import team.retum.jobis.domain.application.usecase.QueryMyApplicationsUseCase; import team.retum.jobis.domain.application.usecase.ReapplyUseCase; import team.retum.jobis.domain.application.usecase.RejectApplicationUseCase; import team.retum.jobis.domain.application.usecase.TeacherQueryApplicationsUseCase; @@ -48,7 +48,7 @@ public class ApplicationWebAdapter { private final DeleteApplicationUseCase deleteApplicationUseCase; private final TeacherQueryApplicationsUseCase queryApplicationListService; private final CompanyQueryApplicationsUseCase companyQueryApplicationsUseCase; - private final QueryStudentApplicationsUseCase queryStudentApplicationsUseCase; + private final QueryMyApplicationsUseCase queryMyApplicationsUseCase; private final ChangeApplicationsStatusUseCase changeApplicationsStatusUseCase; private final ChangeFieldTrainDateUseCase changeFieldTrainDateUseCase; private final RejectApplicationUseCase rejectApplicationUseCase; @@ -94,9 +94,9 @@ public CompanyQueryApplicationsResponse queryCompanyApplicationList() { return companyQueryApplicationsUseCase.execute(); } - @GetMapping("/students") - public StudentQueryApplicationsResponse queryApplication() { - return queryStudentApplicationsUseCase.execute(); + @GetMapping("/my") + public QueryMyApplicationsResponse queryMyApplications() { + return queryMyApplicationsUseCase.execute(); } @ResponseStatus(HttpStatus.NO_CONTENT) diff --git a/jobis-infrastructure/src/main/java/team/retum/jobis/domain/student/persistence/StudentPersistenceAdapter.java b/jobis-infrastructure/src/main/java/team/retum/jobis/domain/student/persistence/StudentPersistenceAdapter.java index 30756de11..520b353c6 100644 --- a/jobis-infrastructure/src/main/java/team/retum/jobis/domain/student/persistence/StudentPersistenceAdapter.java +++ b/jobis-infrastructure/src/main/java/team/retum/jobis/domain/student/persistence/StudentPersistenceAdapter.java @@ -34,7 +34,7 @@ public int queryStudentCountByGradeAndEntranceYear(int grade, int entranceYear) } @Override - public boolean existsByGradeAndClassRoomAndNumberAndName(SchoolNumber schoolNumber, String name) { + public boolean existsBySchoolNumberAndName(SchoolNumber schoolNumber, String name) { return studentJpaRepository.existsByGradeAndClassRoomAndNumberAndName( schoolNumber.getGrade(), schoolNumber.getClassRoom(), schoolNumber.getNumber(), name ); diff --git a/jobis-infrastructure/src/main/java/team/retum/jobis/global/security/SecurityConfig.java b/jobis-infrastructure/src/main/java/team/retum/jobis/global/security/SecurityConfig.java index fce403c40..773178f97 100644 --- a/jobis-infrastructure/src/main/java/team/retum/jobis/global/security/SecurityConfig.java +++ b/jobis-infrastructure/src/main/java/team/retum/jobis/global/security/SecurityConfig.java @@ -61,7 +61,7 @@ protected SecurityFilterChain filterChain(HttpSecurity http) throws Exception { .requestMatchers(HttpMethod.GET, "/applications/employment/count").permitAll() .requestMatchers(HttpMethod.GET, "/applications/pass/{company-id}").hasAnyAuthority(TEACHER.name()) .requestMatchers(HttpMethod.GET, "/applications/company").hasAuthority(COMPANY.name()) - .requestMatchers(HttpMethod.GET, "/applications/students").hasAnyAuthority(STUDENT.name(), DEVELOPER.name()) + .requestMatchers(HttpMethod.GET, "/applications/my").hasAnyAuthority(STUDENT.name(), DEVELOPER.name()) .requestMatchers(HttpMethod.POST, "/applications/{company-id}").hasAnyAuthority(STUDENT.name(), DEVELOPER.name()) .requestMatchers(HttpMethod.DELETE, "/applications/{application-id}").hasAuthority(STUDENT.name()) .requestMatchers(HttpMethod.PATCH, "/applications/status").hasAnyAuthority(TEACHER.name())