From 20927bf9310ad7d5e5ed03d88b7c1adc88ad284e Mon Sep 17 00:00:00 2001 From: Taehyeon Jo <70999462+whxogus215@users.noreply.github.com> Date: Thu, 31 Oct 2024 16:24:28 +0900 Subject: [PATCH 1/7] =?UTF-8?q?refactor:=20completed=20=EC=83=81=EC=9C=84?= =?UTF-8?q?=20=EA=B0=9C=EB=85=90=EC=9C=BC=EB=A1=9C=20=ED=8C=A8=ED=82=A4?= =?UTF-8?q?=EC=A7=80=20=EB=A6=AC=ED=8C=A9=ED=86=A0=EB=A7=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/CompletedCoursesController.java | 7 +++---- .../{ => completed}/domain/CompletedCoursesDomain.java | 3 ++- .../infrastructure}/CompletedCoursesDao.java | 4 ++-- .../infrastructure}/CustomCompletedCoursesDao.java | 4 ++-- .../infrastructure}/CustomCompletedCoursesDaoImpl.java | 4 ++-- .../{ => completed}/service/CompletedCoursesService.java | 6 +++--- .../example/gimmegonghakauth/user/service/UserService.java | 4 ++-- src/main/resources/submodule-properties | 2 +- .../Service/CompletedCoursesServiceDataTest.java | 6 +++--- .../gimmegonghakauth/dao/GonghakRepositoryTest.java | 3 ++- 10 files changed, 22 insertions(+), 21 deletions(-) rename src/main/java/com/example/gimmegonghakauth/{ => completed}/controller/CompletedCoursesController.java (88%) rename src/main/java/com/example/gimmegonghakauth/{ => completed}/domain/CompletedCoursesDomain.java (91%) rename src/main/java/com/example/gimmegonghakauth/{dao => completed/infrastructure}/CompletedCoursesDao.java (72%) rename src/main/java/com/example/gimmegonghakauth/{dao => completed/infrastructure}/CustomCompletedCoursesDao.java (59%) rename src/main/java/com/example/gimmegonghakauth/{dao => completed/infrastructure}/CustomCompletedCoursesDaoImpl.java (88%) rename src/main/java/com/example/gimmegonghakauth/{ => completed}/service/CompletedCoursesService.java (96%) diff --git a/src/main/java/com/example/gimmegonghakauth/controller/CompletedCoursesController.java b/src/main/java/com/example/gimmegonghakauth/completed/controller/CompletedCoursesController.java similarity index 88% rename from src/main/java/com/example/gimmegonghakauth/controller/CompletedCoursesController.java rename to src/main/java/com/example/gimmegonghakauth/completed/controller/CompletedCoursesController.java index 797f4e4..ecff36c 100644 --- a/src/main/java/com/example/gimmegonghakauth/controller/CompletedCoursesController.java +++ b/src/main/java/com/example/gimmegonghakauth/completed/controller/CompletedCoursesController.java @@ -1,15 +1,14 @@ -package com.example.gimmegonghakauth.controller; +package com.example.gimmegonghakauth.completed.controller; -import com.example.gimmegonghakauth.domain.CompletedCoursesDomain; +import com.example.gimmegonghakauth.completed.domain.CompletedCoursesDomain; import com.example.gimmegonghakauth.exception.FileException; -import com.example.gimmegonghakauth.service.CompletedCoursesService; +import com.example.gimmegonghakauth.completed.service.CompletedCoursesService; import org.springframework.security.core.Authentication; import org.springframework.security.core.userdetails.UserDetails; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.multipart.MultipartFile; diff --git a/src/main/java/com/example/gimmegonghakauth/domain/CompletedCoursesDomain.java b/src/main/java/com/example/gimmegonghakauth/completed/domain/CompletedCoursesDomain.java similarity index 91% rename from src/main/java/com/example/gimmegonghakauth/domain/CompletedCoursesDomain.java rename to src/main/java/com/example/gimmegonghakauth/completed/domain/CompletedCoursesDomain.java index 0151c0d..e5601fa 100644 --- a/src/main/java/com/example/gimmegonghakauth/domain/CompletedCoursesDomain.java +++ b/src/main/java/com/example/gimmegonghakauth/completed/domain/CompletedCoursesDomain.java @@ -1,5 +1,6 @@ -package com.example.gimmegonghakauth.domain; +package com.example.gimmegonghakauth.completed.domain; +import com.example.gimmegonghakauth.domain.CoursesDomain; import com.example.gimmegonghakauth.user.domain.UserDomain; import jakarta.persistence.Column; import jakarta.persistence.Entity; diff --git a/src/main/java/com/example/gimmegonghakauth/dao/CompletedCoursesDao.java b/src/main/java/com/example/gimmegonghakauth/completed/infrastructure/CompletedCoursesDao.java similarity index 72% rename from src/main/java/com/example/gimmegonghakauth/dao/CompletedCoursesDao.java rename to src/main/java/com/example/gimmegonghakauth/completed/infrastructure/CompletedCoursesDao.java index 0a81fca..c2f6fe2 100644 --- a/src/main/java/com/example/gimmegonghakauth/dao/CompletedCoursesDao.java +++ b/src/main/java/com/example/gimmegonghakauth/completed/infrastructure/CompletedCoursesDao.java @@ -1,6 +1,6 @@ -package com.example.gimmegonghakauth.dao; +package com.example.gimmegonghakauth.completed.infrastructure; -import com.example.gimmegonghakauth.domain.CompletedCoursesDomain; +import com.example.gimmegonghakauth.completed.domain.CompletedCoursesDomain; import com.example.gimmegonghakauth.user.domain.UserDomain; import java.util.List; import org.springframework.data.jpa.repository.JpaRepository; diff --git a/src/main/java/com/example/gimmegonghakauth/dao/CustomCompletedCoursesDao.java b/src/main/java/com/example/gimmegonghakauth/completed/infrastructure/CustomCompletedCoursesDao.java similarity index 59% rename from src/main/java/com/example/gimmegonghakauth/dao/CustomCompletedCoursesDao.java rename to src/main/java/com/example/gimmegonghakauth/completed/infrastructure/CustomCompletedCoursesDao.java index 93ab8a4..a72dcf3 100644 --- a/src/main/java/com/example/gimmegonghakauth/dao/CustomCompletedCoursesDao.java +++ b/src/main/java/com/example/gimmegonghakauth/completed/infrastructure/CustomCompletedCoursesDao.java @@ -1,6 +1,6 @@ -package com.example.gimmegonghakauth.dao; +package com.example.gimmegonghakauth.completed.infrastructure; -import com.example.gimmegonghakauth.domain.CompletedCoursesDomain; +import com.example.gimmegonghakauth.completed.domain.CompletedCoursesDomain; import java.util.List; import org.springframework.transaction.annotation.Transactional; diff --git a/src/main/java/com/example/gimmegonghakauth/dao/CustomCompletedCoursesDaoImpl.java b/src/main/java/com/example/gimmegonghakauth/completed/infrastructure/CustomCompletedCoursesDaoImpl.java similarity index 88% rename from src/main/java/com/example/gimmegonghakauth/dao/CustomCompletedCoursesDaoImpl.java rename to src/main/java/com/example/gimmegonghakauth/completed/infrastructure/CustomCompletedCoursesDaoImpl.java index 325b058..360548e 100644 --- a/src/main/java/com/example/gimmegonghakauth/dao/CustomCompletedCoursesDaoImpl.java +++ b/src/main/java/com/example/gimmegonghakauth/completed/infrastructure/CustomCompletedCoursesDaoImpl.java @@ -1,6 +1,6 @@ -package com.example.gimmegonghakauth.dao; +package com.example.gimmegonghakauth.completed.infrastructure; -import com.example.gimmegonghakauth.domain.CompletedCoursesDomain; +import com.example.gimmegonghakauth.completed.domain.CompletedCoursesDomain; import java.sql.PreparedStatement; import java.sql.SQLException; import java.util.List; diff --git a/src/main/java/com/example/gimmegonghakauth/service/CompletedCoursesService.java b/src/main/java/com/example/gimmegonghakauth/completed/service/CompletedCoursesService.java similarity index 96% rename from src/main/java/com/example/gimmegonghakauth/service/CompletedCoursesService.java rename to src/main/java/com/example/gimmegonghakauth/completed/service/CompletedCoursesService.java index f442eab..4bec825 100644 --- a/src/main/java/com/example/gimmegonghakauth/service/CompletedCoursesService.java +++ b/src/main/java/com/example/gimmegonghakauth/completed/service/CompletedCoursesService.java @@ -1,9 +1,9 @@ -package com.example.gimmegonghakauth.service; +package com.example.gimmegonghakauth.completed.service; -import com.example.gimmegonghakauth.dao.CompletedCoursesDao; +import com.example.gimmegonghakauth.completed.infrastructure.CompletedCoursesDao; import com.example.gimmegonghakauth.dao.CoursesDao; import com.example.gimmegonghakauth.user.infrastructure.UserRepository; -import com.example.gimmegonghakauth.domain.CompletedCoursesDomain; +import com.example.gimmegonghakauth.completed.domain.CompletedCoursesDomain; import com.example.gimmegonghakauth.domain.CoursesDomain; import com.example.gimmegonghakauth.user.domain.UserDomain; import com.example.gimmegonghakauth.exception.FileException; diff --git a/src/main/java/com/example/gimmegonghakauth/user/service/UserService.java b/src/main/java/com/example/gimmegonghakauth/user/service/UserService.java index 6dc1a77..b5dbbf4 100644 --- a/src/main/java/com/example/gimmegonghakauth/user/service/UserService.java +++ b/src/main/java/com/example/gimmegonghakauth/user/service/UserService.java @@ -1,8 +1,8 @@ package com.example.gimmegonghakauth.user.service; -import com.example.gimmegonghakauth.dao.CompletedCoursesDao; +import com.example.gimmegonghakauth.completed.infrastructure.CompletedCoursesDao; import com.example.gimmegonghakauth.user.infrastructure.UserRepository; -import com.example.gimmegonghakauth.domain.CompletedCoursesDomain; +import com.example.gimmegonghakauth.completed.domain.CompletedCoursesDomain; import com.example.gimmegonghakauth.domain.MajorsDomain; import com.example.gimmegonghakauth.user.domain.UserDomain; import com.example.gimmegonghakauth.user.service.dto.ChangePasswordDto; diff --git a/src/main/resources/submodule-properties b/src/main/resources/submodule-properties index 1418f5d..920fd67 160000 --- a/src/main/resources/submodule-properties +++ b/src/main/resources/submodule-properties @@ -1 +1 @@ -Subproject commit 1418f5d4c4368c33630b08d9086bbb46aaf54e91 +Subproject commit 920fd67beab95c36c8895217290a124b7058db0c diff --git a/src/test/java/com/example/gimmegonghakauth/Service/CompletedCoursesServiceDataTest.java b/src/test/java/com/example/gimmegonghakauth/Service/CompletedCoursesServiceDataTest.java index 96c6b65..30f57bf 100644 --- a/src/test/java/com/example/gimmegonghakauth/Service/CompletedCoursesServiceDataTest.java +++ b/src/test/java/com/example/gimmegonghakauth/Service/CompletedCoursesServiceDataTest.java @@ -1,13 +1,13 @@ package com.example.gimmegonghakauth.Service; -import com.example.gimmegonghakauth.dao.CompletedCoursesDao; +import com.example.gimmegonghakauth.completed.infrastructure.CompletedCoursesDao; import com.example.gimmegonghakauth.dao.CoursesDao; import com.example.gimmegonghakauth.dao.MajorsDao; import com.example.gimmegonghakauth.user.infrastructure.UserRepository; -import com.example.gimmegonghakauth.domain.CompletedCoursesDomain; +import com.example.gimmegonghakauth.completed.domain.CompletedCoursesDomain; import com.example.gimmegonghakauth.domain.CoursesDomain; import com.example.gimmegonghakauth.user.domain.UserDomain; -import com.example.gimmegonghakauth.service.CompletedCoursesService; +import com.example.gimmegonghakauth.completed.service.CompletedCoursesService; import java.util.ArrayList; import java.util.List; import org.junit.jupiter.api.BeforeEach; diff --git a/src/test/java/com/example/gimmegonghakauth/dao/GonghakRepositoryTest.java b/src/test/java/com/example/gimmegonghakauth/dao/GonghakRepositoryTest.java index 41cba0e..dd8b314 100644 --- a/src/test/java/com/example/gimmegonghakauth/dao/GonghakRepositoryTest.java +++ b/src/test/java/com/example/gimmegonghakauth/dao/GonghakRepositoryTest.java @@ -2,9 +2,10 @@ import static org.assertj.core.api.Assertions.assertThat; +import com.example.gimmegonghakauth.completed.infrastructure.CompletedCoursesDao; import com.example.gimmegonghakauth.constant.AbeekTypeConst; import com.example.gimmegonghakauth.constant.CourseCategoryConst; -import com.example.gimmegonghakauth.domain.CompletedCoursesDomain; +import com.example.gimmegonghakauth.completed.domain.CompletedCoursesDomain; import com.example.gimmegonghakauth.domain.MajorsDomain; import com.example.gimmegonghakauth.user.domain.UserDomain; import com.example.gimmegonghakauth.dto.GonghakCoursesByMajorDto; From b8847a67906e7f57095322176d8fd193a28a684f Mon Sep 17 00:00:00 2001 From: Taehyeon Jo <70999462+whxogus215@users.noreply.github.com> Date: Thu, 31 Oct 2024 16:34:44 +0900 Subject: [PATCH 2/7] =?UTF-8?q?refactor:=20status=20=EC=83=81=EC=9C=84=20?= =?UTF-8?q?=EA=B0=9C=EB=85=90=EC=9C=BC=EB=A1=9C=20=ED=8C=A8=ED=82=A4?= =?UTF-8?q?=EC=A7=80=20=EB=A6=AC=ED=8C=A9=ED=86=A0=EB=A7=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../example/gimmegonghakauth/InitData.java | 256 +++++++++--------- .../gimmegonghakauth/InitFileData.java | 40 +-- .../dto/GonghakCompletedCoursesDto.java | 14 - .../gimmegonghakauth/dto/GonghakUserDto.java | 13 - .../ComputerMajorGonghakRecommendService.java | 99 ------- .../ElecInfoMajorGonghakRecommendService.java | 97 ------- .../controller/StatusController.java | 12 +- .../{ => status}/domain/AbeekDomain.java | 3 +- .../domain/GonghakCoursesDomain.java | 4 +- .../domain}/MajorName.java | 2 +- .../infrastructure}/AbeekDao.java | 6 +- .../infrastructure}/GonghakCoursesDao.java | 8 +- .../infrastructure}/GonghakDao.java | 10 +- .../infrastructure}/GonghakRepository.java | 10 +- .../service/GonghakCalculateService.java | 58 ++-- .../dto/GonghakCoursesByMajorDto.java | 3 +- .../dto/GonghakRecommendCoursesDto.java | 3 +- .../service}/dto/GonghakResultDto.java | 2 +- .../service}/dto/GonghakStandardDto.java | 3 +- .../service}/dto/IncompletedCoursesDto.java | 3 +- .../ComputerMajorGonghakRecommendService.java | 99 +++++++ .../ElecInfoMajorGonghakRecommendService.java | 97 +++++++ .../recommend/GonghakRecommendService.java | 4 +- .../RecommendServiceSelectManager.java | 12 +- .../Service/GonghakCalculateServiceTest.java | 58 ++-- .../Service/GonghakRecommendServiceTest.java | 49 ++-- .../dao/GonghakRepositoryTest.java | 115 ++++---- .../gimmegonghakauth/domain/DomainTest.java | 41 +-- 28 files changed, 548 insertions(+), 573 deletions(-) delete mode 100644 src/main/java/com/example/gimmegonghakauth/dto/GonghakCompletedCoursesDto.java delete mode 100644 src/main/java/com/example/gimmegonghakauth/dto/GonghakUserDto.java delete mode 100644 src/main/java/com/example/gimmegonghakauth/service/recommend/ComputerMajorGonghakRecommendService.java delete mode 100644 src/main/java/com/example/gimmegonghakauth/service/recommend/ElecInfoMajorGonghakRecommendService.java rename src/main/java/com/example/gimmegonghakauth/{ => status}/controller/StatusController.java (84%) rename src/main/java/com/example/gimmegonghakauth/{ => status}/domain/AbeekDomain.java (92%) rename src/main/java/com/example/gimmegonghakauth/{ => status}/domain/GonghakCoursesDomain.java (90%) rename src/main/java/com/example/gimmegonghakauth/{service/recommend => status/domain}/MajorName.java (86%) rename src/main/java/com/example/gimmegonghakauth/{dao => status/infrastructure}/AbeekDao.java (65%) rename src/main/java/com/example/gimmegonghakauth/{dao => status/infrastructure}/GonghakCoursesDao.java (85%) rename src/main/java/com/example/gimmegonghakauth/{dao => status/infrastructure}/GonghakDao.java (88%) rename src/main/java/com/example/gimmegonghakauth/{dao => status/infrastructure}/GonghakRepository.java (63%) rename src/main/java/com/example/gimmegonghakauth/{ => status}/service/GonghakCalculateService.java (70%) rename src/main/java/com/example/gimmegonghakauth/{ => status/service}/dto/GonghakCoursesByMajorDto.java (80%) rename src/main/java/com/example/gimmegonghakauth/{ => status/service}/dto/GonghakRecommendCoursesDto.java (83%) rename src/main/java/com/example/gimmegonghakauth/{ => status/service}/dto/GonghakResultDto.java (88%) rename src/main/java/com/example/gimmegonghakauth/{ => status/service}/dto/GonghakStandardDto.java (72%) rename src/main/java/com/example/gimmegonghakauth/{ => status/service}/dto/IncompletedCoursesDto.java (75%) create mode 100644 src/main/java/com/example/gimmegonghakauth/status/service/recommend/ComputerMajorGonghakRecommendService.java create mode 100644 src/main/java/com/example/gimmegonghakauth/status/service/recommend/ElecInfoMajorGonghakRecommendService.java rename src/main/java/com/example/gimmegonghakauth/{ => status}/service/recommend/GonghakRecommendService.java (55%) rename src/main/java/com/example/gimmegonghakauth/{ => status}/service/recommend/RecommendServiceSelectManager.java (77%) diff --git a/src/main/java/com/example/gimmegonghakauth/InitData.java b/src/main/java/com/example/gimmegonghakauth/InitData.java index 9f288cf..cf11a39 100644 --- a/src/main/java/com/example/gimmegonghakauth/InitData.java +++ b/src/main/java/com/example/gimmegonghakauth/InitData.java @@ -1,14 +1,14 @@ package com.example.gimmegonghakauth; import com.example.gimmegonghakauth.constant.AbeekTypeConst; -import com.example.gimmegonghakauth.dao.AbeekDao; import com.example.gimmegonghakauth.dao.MajorsDao; -import com.example.gimmegonghakauth.user.infrastructure.UserRepository; -import com.example.gimmegonghakauth.domain.AbeekDomain; -import com.example.gimmegonghakauth.domain.AbeekDomain.AbeekDomainBuilder; import com.example.gimmegonghakauth.domain.MajorsDomain; +import com.example.gimmegonghakauth.status.domain.AbeekDomain; +import com.example.gimmegonghakauth.status.domain.AbeekDomain.AbeekDomainBuilder; +import com.example.gimmegonghakauth.status.domain.MajorName; +import com.example.gimmegonghakauth.status.infrastructure.AbeekDao; import com.example.gimmegonghakauth.user.domain.UserDomain; -import com.example.gimmegonghakauth.service.recommend.MajorName; +import com.example.gimmegonghakauth.user.infrastructure.UserRepository; import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.context.event.ApplicationReadyEvent; @@ -41,17 +41,17 @@ public class InitData { @Transactional public void initDatabase() { MajorsDomain computerMajor = MajorsDomain.builder() - .id(1L) - .major(MajorName.COMPUTER.getName()).build(); + .id(1L) + .major(MajorName.COMPUTER.getName()).build(); MajorsDomain elecInfoMajor = MajorsDomain.builder() - .id(2L) - .major(MajorName.ELEC_INFO.getName()).build(); + .id(2L) + .major(MajorName.ELEC_INFO.getName()).build(); MajorsDomain softwareMajor = MajorsDomain.builder() - .id(3L) - .major(MajorName.SOFTWARE.getName()).build(); + .id(3L) + .major(MajorName.SOFTWARE.getName()).build(); MajorsDomain dataScienceMajor = MajorsDomain.builder() - .id(4L) - .major(MajorName.DATA_SCIENCE.getName()).build(); + .id(4L) + .major(MajorName.DATA_SCIENCE.getName()).build(); majorsDao.save(computerMajor); majorsDao.save(elecInfoMajor); majorsDao.save(softwareMajor); @@ -59,35 +59,35 @@ public void initDatabase() { //24학년도 computerMajor AbeekDomainBuilder abeek1 = AbeekDomain.builder() - .abeekType(AbeekTypeConst.BSM) - .majorsDomain(computerMajor) - .note("this is a test note") - .year(24) - .minCredit(18); + .abeekType(AbeekTypeConst.BSM) + .majorsDomain(computerMajor) + .note("this is a test note") + .year(24) + .minCredit(18); AbeekDomainBuilder abeek2 = AbeekDomain.builder() - .abeekType(AbeekTypeConst.PROFESSIONAL_NON_MAJOR) - .majorsDomain(computerMajor) - .note("this is a test note") - .year(24) - .minCredit(14); + .abeekType(AbeekTypeConst.PROFESSIONAL_NON_MAJOR) + .majorsDomain(computerMajor) + .note("this is a test note") + .year(24) + .minCredit(14); AbeekDomainBuilder abeek3 = AbeekDomain.builder() - .abeekType(AbeekTypeConst.DESIGN) - .majorsDomain(computerMajor) - .note("this is a test note") - .year(24) - .minCredit(10); + .abeekType(AbeekTypeConst.DESIGN) + .majorsDomain(computerMajor) + .note("this is a test note") + .year(24) + .minCredit(10); AbeekDomainBuilder abeek4 = AbeekDomain.builder() - .abeekType(AbeekTypeConst.MAJOR) - .majorsDomain(computerMajor) - .note("this is a test note") - .year(24) - .minCredit(45); + .abeekType(AbeekTypeConst.MAJOR) + .majorsDomain(computerMajor) + .note("this is a test note") + .year(24) + .minCredit(45); AbeekDomainBuilder abeek5 = AbeekDomain.builder() - .abeekType(AbeekTypeConst.MINIMUM_CERTI) - .majorsDomain(computerMajor) - .note("this is a test note") - .year(24) - .minCredit(77); + .abeekType(AbeekTypeConst.MINIMUM_CERTI) + .majorsDomain(computerMajor) + .note("this is a test note") + .year(24) + .minCredit(77); abeekDao.save(abeek1.build()); abeekDao.save(abeek2.build()); @@ -97,35 +97,35 @@ public void initDatabase() { //24학년도 전정통 AbeekDomainBuilder abeek21 = AbeekDomain.builder() - .abeekType(AbeekTypeConst.MSC) - .majorsDomain(elecInfoMajor) - .note("this is a test note") - .year(24) - .minCredit(27); + .abeekType(AbeekTypeConst.MSC) + .majorsDomain(elecInfoMajor) + .note("this is a test note") + .year(24) + .minCredit(27); AbeekDomainBuilder abeek22 = AbeekDomain.builder() - .abeekType(AbeekTypeConst.PROFESSIONAL_NON_MAJOR) - .majorsDomain(elecInfoMajor) - .note("this is a test note") - .year(24) - .minCredit(14); + .abeekType(AbeekTypeConst.PROFESSIONAL_NON_MAJOR) + .majorsDomain(elecInfoMajor) + .note("this is a test note") + .year(24) + .minCredit(14); AbeekDomainBuilder abeek23 = AbeekDomain.builder() - .abeekType(AbeekTypeConst.DESIGN) - .majorsDomain(elecInfoMajor) - .note("this is a test note") - .year(24) - .minCredit(9); + .abeekType(AbeekTypeConst.DESIGN) + .majorsDomain(elecInfoMajor) + .note("this is a test note") + .year(24) + .minCredit(9); AbeekDomainBuilder abeek24 = AbeekDomain.builder() - .abeekType(AbeekTypeConst.MAJOR) - .majorsDomain(elecInfoMajor) - .note("this is a test note") - .year(24) - .minCredit(45); + .abeekType(AbeekTypeConst.MAJOR) + .majorsDomain(elecInfoMajor) + .note("this is a test note") + .year(24) + .minCredit(45); AbeekDomainBuilder abeek25 = AbeekDomain.builder() - .abeekType(AbeekTypeConst.MINIMUM_CERTI) - .majorsDomain(elecInfoMajor) - .note("this is a test note") - .year(24) - .minCredit(86); + .abeekType(AbeekTypeConst.MINIMUM_CERTI) + .majorsDomain(elecInfoMajor) + .note("this is a test note") + .year(24) + .minCredit(86); abeekDao.save(abeek21.build()); abeekDao.save(abeek22.build()); @@ -135,35 +135,35 @@ public void initDatabase() { //24학년도 소프트웨어 AbeekDomainBuilder abeek31 = AbeekDomain.builder() - .abeekType(AbeekTypeConst.BSM) - .majorsDomain(softwareMajor) - .note("this is a test note") - .year(24) - .minCredit(18); + .abeekType(AbeekTypeConst.BSM) + .majorsDomain(softwareMajor) + .note("this is a test note") + .year(24) + .minCredit(18); AbeekDomainBuilder abeek32 = AbeekDomain.builder() - .abeekType(AbeekTypeConst.PROFESSIONAL_NON_MAJOR) - .majorsDomain(softwareMajor) - .note("this is a test note") - .year(24) - .minCredit(14); + .abeekType(AbeekTypeConst.PROFESSIONAL_NON_MAJOR) + .majorsDomain(softwareMajor) + .note("this is a test note") + .year(24) + .minCredit(14); AbeekDomainBuilder abeek33 = AbeekDomain.builder() - .abeekType(AbeekTypeConst.DESIGN) - .majorsDomain(softwareMajor) - .note("this is a test note") - .year(24) - .minCredit(12); + .abeekType(AbeekTypeConst.DESIGN) + .majorsDomain(softwareMajor) + .note("this is a test note") + .year(24) + .minCredit(12); AbeekDomainBuilder abeek34 = AbeekDomain.builder() - .abeekType(AbeekTypeConst.MAJOR) - .majorsDomain(softwareMajor) - .note("this is a test note") - .year(24) - .minCredit(45); + .abeekType(AbeekTypeConst.MAJOR) + .majorsDomain(softwareMajor) + .note("this is a test note") + .year(24) + .minCredit(45); AbeekDomainBuilder abeek35 = AbeekDomain.builder() - .abeekType(AbeekTypeConst.MINIMUM_CERTI) - .majorsDomain(softwareMajor) - .note("this is a test note") - .year(24) - .minCredit(77); + .abeekType(AbeekTypeConst.MINIMUM_CERTI) + .majorsDomain(softwareMajor) + .note("this is a test note") + .year(24) + .minCredit(77); abeekDao.save(abeek31.build()); abeekDao.save(abeek32.build()); @@ -173,35 +173,35 @@ public void initDatabase() { //24학년도 데이터사이언스 AbeekDomainBuilder abeek41 = AbeekDomain.builder() - .abeekType(AbeekTypeConst.BSM) - .majorsDomain(dataScienceMajor) - .note("this is a test note") - .year(24) - .minCredit(15); + .abeekType(AbeekTypeConst.BSM) + .majorsDomain(dataScienceMajor) + .note("this is a test note") + .year(24) + .minCredit(15); AbeekDomainBuilder abeek42 = AbeekDomain.builder() - .abeekType(AbeekTypeConst.PROFESSIONAL_NON_MAJOR) - .majorsDomain(dataScienceMajor) - .note("this is a test note") - .year(24) - .minCredit(14); + .abeekType(AbeekTypeConst.PROFESSIONAL_NON_MAJOR) + .majorsDomain(dataScienceMajor) + .note("this is a test note") + .year(24) + .minCredit(14); AbeekDomainBuilder abeek43 = AbeekDomain.builder() - .abeekType(AbeekTypeConst.DESIGN) - .majorsDomain(dataScienceMajor) - .note("this is a test note") - .year(24) - .minCredit(9); + .abeekType(AbeekTypeConst.DESIGN) + .majorsDomain(dataScienceMajor) + .note("this is a test note") + .year(24) + .minCredit(9); AbeekDomainBuilder abeek44 = AbeekDomain.builder() - .abeekType(AbeekTypeConst.MAJOR) - .majorsDomain(dataScienceMajor) - .note("this is a test note") - .year(24) - .minCredit(45); + .abeekType(AbeekTypeConst.MAJOR) + .majorsDomain(dataScienceMajor) + .note("this is a test note") + .year(24) + .minCredit(45); AbeekDomainBuilder abeek45 = AbeekDomain.builder() - .abeekType(AbeekTypeConst.MINIMUM_CERTI) - .majorsDomain(dataScienceMajor) - .note("this is a test note") - .year(24) - .minCredit(74); + .abeekType(AbeekTypeConst.MINIMUM_CERTI) + .majorsDomain(dataScienceMajor) + .note("this is a test note") + .year(24) + .minCredit(74); abeekDao.save(abeek41.build()); abeekDao.save(abeek42.build()); @@ -211,27 +211,27 @@ public void initDatabase() { //User UserDomain user1 = UserDomain.builder() - .email("testEmail1@sju.ac.kr") - .name("조태현") - .password(passwordEncoder.encode("qwer")) - .studentId(admin1) - .majorsDomain(elecInfoMajor).build(); + .email("testEmail1@sju.ac.kr") + .name("조태현") + .password(passwordEncoder.encode("qwer")) + .studentId(admin1) + .majorsDomain(elecInfoMajor).build(); userRepository.save(user1); UserDomain user2 = UserDomain.builder() - .email("testEmail2@sju.ac.kr") - .name("이희수") - .password(passwordEncoder.encode("qwer")) - .studentId(admin2) - .majorsDomain(dataScienceMajor).build(); + .email("testEmail2@sju.ac.kr") + .name("이희수") + .password(passwordEncoder.encode("qwer")) + .studentId(admin2) + .majorsDomain(dataScienceMajor).build(); userRepository.save(user2); UserDomain user3 = UserDomain.builder() - .email("testEmail3@sju.ac.kr") - .name("홍지섭") - .password(passwordEncoder.encode("qwer")) - .studentId(admin3) - .majorsDomain(computerMajor).build(); + .email("testEmail3@sju.ac.kr") + .name("홍지섭") + .password(passwordEncoder.encode("qwer")) + .studentId(admin3) + .majorsDomain(computerMajor).build(); userRepository.save(user3); } diff --git a/src/main/java/com/example/gimmegonghakauth/InitFileData.java b/src/main/java/com/example/gimmegonghakauth/InitFileData.java index b9ffa61..32b17e8 100644 --- a/src/main/java/com/example/gimmegonghakauth/InitFileData.java +++ b/src/main/java/com/example/gimmegonghakauth/InitFileData.java @@ -2,10 +2,10 @@ import com.example.gimmegonghakauth.constant.CourseCategoryConst; import com.example.gimmegonghakauth.dao.CoursesDao; -import com.example.gimmegonghakauth.dao.GonghakCoursesDao; import com.example.gimmegonghakauth.dao.MajorsDao; import com.example.gimmegonghakauth.domain.CoursesDomain; -import com.example.gimmegonghakauth.domain.GonghakCoursesDomain; +import com.example.gimmegonghakauth.status.domain.GonghakCoursesDomain; +import com.example.gimmegonghakauth.status.infrastructure.GonghakCoursesDao; import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; @@ -58,10 +58,10 @@ private void inputCoursesCsv(String csvFilePath) throws IOException { private CoursesDomain mapToCoursesDomain(String[] data) { return CoursesDomain.builder() - .courseId(Long.valueOf(data[0])) - .name(data[2]) - .credit(Integer.parseInt(data[3])) - .build(); + .courseId(Long.valueOf(data[0])) + .name(data[2]) + .credit(Integer.parseInt(data[3])) + .build(); } private void inputGonghakCoursesCsv(String csvFilePath) { @@ -113,13 +113,13 @@ private Optional mapToGonghakCoursesDomain(String[] data) } GonghakCoursesDomain gonghakCourse = GonghakCoursesDomain.builder() - .year(Integer.parseInt(data[0])) - .majorsDomain(majorsDao.findByMajor(data[2])) - .coursesDomain(courseDomain) - .courseCategory(CourseCategoryConst.valueOf(courseCategory)) - .passCategory(data[5].substring(0, 2)) - .designCredit(Double.parseDouble(data[8])) - .build(); + .year(Integer.parseInt(data[0])) + .majorsDomain(majorsDao.findByMajor(data[2])) + .coursesDomain(courseDomain) + .courseCategory(CourseCategoryConst.valueOf(courseCategory)) + .passCategory(data[5].substring(0, 2)) + .designCredit(Double.parseDouble(data[8])) + .build(); return Optional.of(gonghakCourse); } @@ -127,13 +127,13 @@ private Optional mapToGonghakCoursesDomain(String[] data) // 실제 DB csv file 입력용 private Optional mapToGonghakCourses(String[] data) { GonghakCoursesDomain gonghakCourse = GonghakCoursesDomain.builder() - .year(Integer.parseInt(data[1])) - .majorsDomain(majorsDao.findById(Long.parseLong(data[4])).get()) - .coursesDomain(coursesDao.findByCourseId(Long.parseLong(data[2]))) - .courseCategory(CourseCategoryConst.valueOf(data[5])) - .passCategory(data[6]) - .designCredit(Double.parseDouble(data[0])) - .build(); + .year(Integer.parseInt(data[1])) + .majorsDomain(majorsDao.findById(Long.parseLong(data[4])).get()) + .coursesDomain(coursesDao.findByCourseId(Long.parseLong(data[2]))) + .courseCategory(CourseCategoryConst.valueOf(data[5])) + .passCategory(data[6]) + .designCredit(Double.parseDouble(data[0])) + .build(); return Optional.of(gonghakCourse); } diff --git a/src/main/java/com/example/gimmegonghakauth/dto/GonghakCompletedCoursesDto.java b/src/main/java/com/example/gimmegonghakauth/dto/GonghakCompletedCoursesDto.java deleted file mode 100644 index 3e42f1e..0000000 --- a/src/main/java/com/example/gimmegonghakauth/dto/GonghakCompletedCoursesDto.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.example.gimmegonghakauth.dto; - -import com.example.gimmegonghakauth.domain.CoursesDomain; -import java.util.List; -import lombok.Getter; -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Component; - -@Getter -@RequiredArgsConstructor -public class GonghakCompletedCoursesDto { - - private final List completedCourseIds; -} diff --git a/src/main/java/com/example/gimmegonghakauth/dto/GonghakUserDto.java b/src/main/java/com/example/gimmegonghakauth/dto/GonghakUserDto.java deleted file mode 100644 index 1a3ed1e..0000000 --- a/src/main/java/com/example/gimmegonghakauth/dto/GonghakUserDto.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.example.gimmegonghakauth.dto; - -import java.util.Map; -import lombok.Getter; -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Component; - -@Getter -@RequiredArgsConstructor -public class GonghakUserDto { - - private final Map userStatus; -} diff --git a/src/main/java/com/example/gimmegonghakauth/service/recommend/ComputerMajorGonghakRecommendService.java b/src/main/java/com/example/gimmegonghakauth/service/recommend/ComputerMajorGonghakRecommendService.java deleted file mode 100644 index 55e6578..0000000 --- a/src/main/java/com/example/gimmegonghakauth/service/recommend/ComputerMajorGonghakRecommendService.java +++ /dev/null @@ -1,99 +0,0 @@ -package com.example.gimmegonghakauth.service.recommend; - - -import com.example.gimmegonghakauth.constant.AbeekTypeConst; -import com.example.gimmegonghakauth.constant.CourseCategoryConst; -import com.example.gimmegonghakauth.dao.GonghakRepository; -import com.example.gimmegonghakauth.user.domain.UserDomain; -import com.example.gimmegonghakauth.dto.GonghakRecommendCoursesDto; -import com.example.gimmegonghakauth.dto.GonghakStandardDto; -import com.example.gimmegonghakauth.dto.IncompletedCoursesDto; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Map; -import java.util.Optional; -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -@Service -@RequiredArgsConstructor -public class ComputerMajorGonghakRecommendService implements GonghakRecommendService { - - private final GonghakRepository gonghakRepository; - - @Override - @Transactional(readOnly = true) - public GonghakRecommendCoursesDto createRecommendCourses(UserDomain userDomain) { - GonghakRecommendCoursesDto gonghakRecommendCoursesDto = new GonghakRecommendCoursesDto(); - - // findStandard -> 학번 입학년도를 기준으로 해당 년도의 abeekType(영역별 구분),minCredit(영역별 인증학점) 불러온다. - Optional standard = gonghakRepository.findStandard(userDomain.getMajorsDomain()); - - // 수강하지 않은 과목 중 "전문 교양" 과목을 반환한다. - List professionalNonMajor = gonghakRepository.findUserIncompletedCourses( - CourseCategoryConst.전문교양, userDomain.getStudentId(), userDomain.getMajorsDomain() - ); - - // 수강하지 않은 과목 중 "전공" 과목을 반환한다. - List major = gonghakRepository.findUserIncompletedCourses( - CourseCategoryConst.전공, userDomain.getStudentId(), userDomain.getMajorsDomain() - ); - - // 수강하지 않은 과목 중 "BSM" 과목을 반환한다. - List bsm = gonghakRepository.findUserIncompletedCourses( - CourseCategoryConst.BSM, userDomain.getStudentId(), userDomain.getMajorsDomain() - ); - - // abeekType 별 추천 과목 List를 반환한다. - Map> coursesByAbeekTypeWithoutCompleteCourses = gonghakRecommendCoursesDto.getRecommendCoursesByAbeekType(); - Arrays.stream(AbeekTypeConst.values()).forEach( - abeekType -> { - List abeekRecommend = new ArrayList<>(); - if (standard.get().getStandards().containsKey(abeekType)) { - switch (abeekType) { - case BSM: - abeekRecommend.addAll(bsm); - break; - case MAJOR: - abeekRecommend.addAll(major); - break; - case DESIGN: - addOnlyDesignCreditOverZero(major, abeekRecommend); - break; - case PROFESSIONAL_NON_MAJOR: - abeekRecommend.addAll(professionalNonMajor); - break; - case NON_MAJOR: - abeekRecommend.addAll(professionalNonMajor); - break; - case MINIMUM_CERTI: - abeekRecommend.addAll(bsm); - abeekRecommend.addAll(professionalNonMajor); - abeekRecommend.addAll(major); - break; - } - coursesByAbeekTypeWithoutCompleteCourses.put(abeekType, abeekRecommend); - } - - - } - ); - - return gonghakRecommendCoursesDto; - } - - // 설계 과목(designCredit > 0)인 경우만 추가한다. - private static void addOnlyDesignCreditOverZero(List majorBasic, - List abeekRecommend) { - majorBasic.forEach( - incompletedCoursesDto -> { - if (incompletedCoursesDto.getDesignCredit() > 0) { - abeekRecommend.add(incompletedCoursesDto); - } - } - ); - } - -} diff --git a/src/main/java/com/example/gimmegonghakauth/service/recommend/ElecInfoMajorGonghakRecommendService.java b/src/main/java/com/example/gimmegonghakauth/service/recommend/ElecInfoMajorGonghakRecommendService.java deleted file mode 100644 index f403f9a..0000000 --- a/src/main/java/com/example/gimmegonghakauth/service/recommend/ElecInfoMajorGonghakRecommendService.java +++ /dev/null @@ -1,97 +0,0 @@ -package com.example.gimmegonghakauth.service.recommend; - -import com.example.gimmegonghakauth.constant.AbeekTypeConst; -import com.example.gimmegonghakauth.constant.CourseCategoryConst; -import com.example.gimmegonghakauth.dao.GonghakRepository; -import com.example.gimmegonghakauth.user.domain.UserDomain; -import com.example.gimmegonghakauth.dto.GonghakRecommendCoursesDto; -import com.example.gimmegonghakauth.dto.GonghakStandardDto; -import com.example.gimmegonghakauth.dto.IncompletedCoursesDto; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Map; -import java.util.Optional; -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -@Service -@RequiredArgsConstructor -public class ElecInfoMajorGonghakRecommendService implements GonghakRecommendService { - - private final GonghakRepository gonghakRepository; - - @Transactional(readOnly = true) - @Override - public GonghakRecommendCoursesDto createRecommendCourses(UserDomain userDomain) { - GonghakRecommendCoursesDto gonghakRecommendCoursesDto = new GonghakRecommendCoursesDto(); - - // findStandard -> 학번 입학년도를 기준으로 해당 년도의 abeekType(영역별 구분),minCredit(영역별 인증학점) 불러온다. - Optional standard = gonghakRepository.findStandard(userDomain.getMajorsDomain()); - - // 수강하지 않은 과목 중 "전문 교양" 과목을 반환한다. - List professionalNonMajor = gonghakRepository.findUserIncompletedCourses( - CourseCategoryConst.전문교양, userDomain.getStudentId(), userDomain.getMajorsDomain() - ); - - // 수강하지 않은 과목 중 "전공" 과목을 반환한다. - List major = gonghakRepository.findUserIncompletedCourses( - CourseCategoryConst.전공, userDomain.getStudentId(), userDomain.getMajorsDomain() - ); - - // 수강하지 않은 과목 중 "MSC" 과목을 반환한다. - List msc = gonghakRepository.findUserIncompletedCourses( - CourseCategoryConst.MSC, userDomain.getStudentId(), userDomain.getMajorsDomain() - ); - - // abeekType 별 추천 과목 List를 반환한다. - Map> coursesByAbeekTypeWithoutCompleteCourses = gonghakRecommendCoursesDto.getRecommendCoursesByAbeekType(); - Arrays.stream(AbeekTypeConst.values()).forEach( - abeekType -> { - List abeekRecommend = new ArrayList<>(); - if (standard.get().getStandards().containsKey(abeekType)) { - switch (abeekType) { - case MSC: - abeekRecommend.addAll(msc); - break; - case MAJOR: - abeekRecommend.addAll(major); - break; - case DESIGN: - addOnlyDesignCreditOverZero(major, abeekRecommend); - break; - case PROFESSIONAL_NON_MAJOR: - abeekRecommend.addAll(professionalNonMajor); - break; - case NON_MAJOR: - abeekRecommend.addAll(professionalNonMajor); - break; - case MINIMUM_CERTI: - abeekRecommend.addAll(msc); - abeekRecommend.addAll(major); - abeekRecommend.addAll(professionalNonMajor); - break; - } - coursesByAbeekTypeWithoutCompleteCourses.put(abeekType, abeekRecommend); - } - - } - ); - - return gonghakRecommendCoursesDto; - } - - // 설계 과목(designCredit > 0)인 경우만 추가한다. - private static void addOnlyDesignCreditOverZero(List majorBasic, - List abeekRecommend) { - majorBasic.forEach( - incompletedCoursesDto -> { - if (incompletedCoursesDto.getDesignCredit() > 0) { - abeekRecommend.add(incompletedCoursesDto); - } - } - ); - } - -} diff --git a/src/main/java/com/example/gimmegonghakauth/controller/StatusController.java b/src/main/java/com/example/gimmegonghakauth/status/controller/StatusController.java similarity index 84% rename from src/main/java/com/example/gimmegonghakauth/controller/StatusController.java rename to src/main/java/com/example/gimmegonghakauth/status/controller/StatusController.java index 02e66f3..98a4bee 100644 --- a/src/main/java/com/example/gimmegonghakauth/controller/StatusController.java +++ b/src/main/java/com/example/gimmegonghakauth/status/controller/StatusController.java @@ -1,13 +1,13 @@ -package com.example.gimmegonghakauth.controller; +package com.example.gimmegonghakauth.status.controller; import com.example.gimmegonghakauth.constant.AbeekTypeConst; import com.example.gimmegonghakauth.user.infrastructure.UserRepository; import com.example.gimmegonghakauth.user.domain.UserDomain; -import com.example.gimmegonghakauth.dto.GonghakResultDto.ResultPointDto; -import com.example.gimmegonghakauth.dto.IncompletedCoursesDto; -import com.example.gimmegonghakauth.service.GonghakCalculateService; -import com.example.gimmegonghakauth.service.recommend.GonghakRecommendService; -import com.example.gimmegonghakauth.service.recommend.RecommendServiceSelectManager; +import com.example.gimmegonghakauth.status.service.dto.GonghakResultDto.ResultPointDto; +import com.example.gimmegonghakauth.status.service.dto.IncompletedCoursesDto; +import com.example.gimmegonghakauth.status.service.GonghakCalculateService; +import com.example.gimmegonghakauth.status.service.recommend.GonghakRecommendService; +import com.example.gimmegonghakauth.status.service.recommend.RecommendServiceSelectManager; import java.util.List; import java.util.Map; import lombok.RequiredArgsConstructor; diff --git a/src/main/java/com/example/gimmegonghakauth/domain/AbeekDomain.java b/src/main/java/com/example/gimmegonghakauth/status/domain/AbeekDomain.java similarity index 92% rename from src/main/java/com/example/gimmegonghakauth/domain/AbeekDomain.java rename to src/main/java/com/example/gimmegonghakauth/status/domain/AbeekDomain.java index 48ec430..5afa496 100644 --- a/src/main/java/com/example/gimmegonghakauth/domain/AbeekDomain.java +++ b/src/main/java/com/example/gimmegonghakauth/status/domain/AbeekDomain.java @@ -1,6 +1,7 @@ -package com.example.gimmegonghakauth.domain; +package com.example.gimmegonghakauth.status.domain; import com.example.gimmegonghakauth.constant.AbeekTypeConst; +import com.example.gimmegonghakauth.domain.MajorsDomain; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.EnumType; diff --git a/src/main/java/com/example/gimmegonghakauth/domain/GonghakCoursesDomain.java b/src/main/java/com/example/gimmegonghakauth/status/domain/GonghakCoursesDomain.java similarity index 90% rename from src/main/java/com/example/gimmegonghakauth/domain/GonghakCoursesDomain.java rename to src/main/java/com/example/gimmegonghakauth/status/domain/GonghakCoursesDomain.java index ac64fa6..2a479db 100644 --- a/src/main/java/com/example/gimmegonghakauth/domain/GonghakCoursesDomain.java +++ b/src/main/java/com/example/gimmegonghakauth/status/domain/GonghakCoursesDomain.java @@ -1,6 +1,8 @@ -package com.example.gimmegonghakauth.domain; +package com.example.gimmegonghakauth.status.domain; import com.example.gimmegonghakauth.constant.CourseCategoryConst; +import com.example.gimmegonghakauth.domain.CoursesDomain; +import com.example.gimmegonghakauth.domain.MajorsDomain; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.EnumType; diff --git a/src/main/java/com/example/gimmegonghakauth/service/recommend/MajorName.java b/src/main/java/com/example/gimmegonghakauth/status/domain/MajorName.java similarity index 86% rename from src/main/java/com/example/gimmegonghakauth/service/recommend/MajorName.java rename to src/main/java/com/example/gimmegonghakauth/status/domain/MajorName.java index 58a9ccb..2b8e76e 100644 --- a/src/main/java/com/example/gimmegonghakauth/service/recommend/MajorName.java +++ b/src/main/java/com/example/gimmegonghakauth/status/domain/MajorName.java @@ -1,4 +1,4 @@ -package com.example.gimmegonghakauth.service.recommend; +package com.example.gimmegonghakauth.status.domain; public enum MajorName { ELEC_INFO("전자정보통신공학과"), diff --git a/src/main/java/com/example/gimmegonghakauth/dao/AbeekDao.java b/src/main/java/com/example/gimmegonghakauth/status/infrastructure/AbeekDao.java similarity index 65% rename from src/main/java/com/example/gimmegonghakauth/dao/AbeekDao.java rename to src/main/java/com/example/gimmegonghakauth/status/infrastructure/AbeekDao.java index 1a36f20..0fc75ed 100644 --- a/src/main/java/com/example/gimmegonghakauth/dao/AbeekDao.java +++ b/src/main/java/com/example/gimmegonghakauth/status/infrastructure/AbeekDao.java @@ -1,6 +1,6 @@ -package com.example.gimmegonghakauth.dao; +package com.example.gimmegonghakauth.status.infrastructure; -import com.example.gimmegonghakauth.domain.AbeekDomain; +import com.example.gimmegonghakauth.status.domain.AbeekDomain; import com.example.gimmegonghakauth.domain.MajorsDomain; import java.util.List; import org.springframework.data.jpa.repository.JpaRepository; @@ -9,7 +9,7 @@ @Repository public interface AbeekDao extends JpaRepository { -// @Query("select new com.example.gimmegonghakauth.domain.AbeekDomain(AD.id, AD.majorsDomain, AD.year, AD.abeekType, AD.minCredit, AD.note) from AbeekDomain AD" +// @Query("select new com.example.gimmegonghakauth.status.domain.AbeekDomain(AD.id, AD.majorsDomain, AD.year, AD.abeekType, AD.minCredit, AD.note) from AbeekDomain AD" // + " where AD.year = :year and AD.majorsDomain = :majorsDomain") // List findAllByYearAndMajorsDomain(@Param("year") int year,@Param("majorsDomain") MajorsDomain majorsDomain); diff --git a/src/main/java/com/example/gimmegonghakauth/dao/GonghakCoursesDao.java b/src/main/java/com/example/gimmegonghakauth/status/infrastructure/GonghakCoursesDao.java similarity index 85% rename from src/main/java/com/example/gimmegonghakauth/dao/GonghakCoursesDao.java rename to src/main/java/com/example/gimmegonghakauth/status/infrastructure/GonghakCoursesDao.java index 3789a14..83b9db9 100644 --- a/src/main/java/com/example/gimmegonghakauth/dao/GonghakCoursesDao.java +++ b/src/main/java/com/example/gimmegonghakauth/status/infrastructure/GonghakCoursesDao.java @@ -1,10 +1,10 @@ -package com.example.gimmegonghakauth.dao; +package com.example.gimmegonghakauth.status.infrastructure; import com.example.gimmegonghakauth.constant.CourseCategoryConst; -import com.example.gimmegonghakauth.domain.GonghakCoursesDomain; +import com.example.gimmegonghakauth.status.domain.GonghakCoursesDomain; import com.example.gimmegonghakauth.domain.MajorsDomain; -import com.example.gimmegonghakauth.dto.GonghakCoursesByMajorDto; -import com.example.gimmegonghakauth.dto.IncompletedCoursesDto; +import com.example.gimmegonghakauth.status.service.dto.GonghakCoursesByMajorDto; +import com.example.gimmegonghakauth.status.service.dto.IncompletedCoursesDto; import java.util.List; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query; diff --git a/src/main/java/com/example/gimmegonghakauth/dao/GonghakDao.java b/src/main/java/com/example/gimmegonghakauth/status/infrastructure/GonghakDao.java similarity index 88% rename from src/main/java/com/example/gimmegonghakauth/dao/GonghakDao.java rename to src/main/java/com/example/gimmegonghakauth/status/infrastructure/GonghakDao.java index 581ca64..65e90e3 100644 --- a/src/main/java/com/example/gimmegonghakauth/dao/GonghakDao.java +++ b/src/main/java/com/example/gimmegonghakauth/status/infrastructure/GonghakDao.java @@ -1,12 +1,12 @@ -package com.example.gimmegonghakauth.dao; +package com.example.gimmegonghakauth.status.infrastructure; import com.example.gimmegonghakauth.constant.AbeekTypeConst; import com.example.gimmegonghakauth.constant.CourseCategoryConst; -import com.example.gimmegonghakauth.domain.AbeekDomain; +import com.example.gimmegonghakauth.status.domain.AbeekDomain; import com.example.gimmegonghakauth.domain.MajorsDomain; -import com.example.gimmegonghakauth.dto.GonghakCoursesByMajorDto; -import com.example.gimmegonghakauth.dto.GonghakStandardDto; -import com.example.gimmegonghakauth.dto.IncompletedCoursesDto; +import com.example.gimmegonghakauth.status.service.dto.GonghakCoursesByMajorDto; +import com.example.gimmegonghakauth.status.service.dto.GonghakStandardDto; +import com.example.gimmegonghakauth.status.service.dto.IncompletedCoursesDto; import java.util.List; import java.util.Map; import java.util.Optional; diff --git a/src/main/java/com/example/gimmegonghakauth/dao/GonghakRepository.java b/src/main/java/com/example/gimmegonghakauth/status/infrastructure/GonghakRepository.java similarity index 63% rename from src/main/java/com/example/gimmegonghakauth/dao/GonghakRepository.java rename to src/main/java/com/example/gimmegonghakauth/status/infrastructure/GonghakRepository.java index 5fa08ed..adb7353 100644 --- a/src/main/java/com/example/gimmegonghakauth/dao/GonghakRepository.java +++ b/src/main/java/com/example/gimmegonghakauth/status/infrastructure/GonghakRepository.java @@ -1,11 +1,11 @@ -package com.example.gimmegonghakauth.dao; +package com.example.gimmegonghakauth.status.infrastructure; import com.example.gimmegonghakauth.constant.CourseCategoryConst; -import com.example.gimmegonghakauth.domain.AbeekDomain; +import com.example.gimmegonghakauth.status.domain.AbeekDomain; import com.example.gimmegonghakauth.domain.MajorsDomain; -import com.example.gimmegonghakauth.dto.GonghakCoursesByMajorDto; -import com.example.gimmegonghakauth.dto.GonghakStandardDto; -import com.example.gimmegonghakauth.dto.IncompletedCoursesDto; +import com.example.gimmegonghakauth.status.service.dto.GonghakCoursesByMajorDto; +import com.example.gimmegonghakauth.status.service.dto.GonghakStandardDto; +import com.example.gimmegonghakauth.status.service.dto.IncompletedCoursesDto; import java.util.List; import java.util.Optional; import org.springframework.stereotype.Repository; diff --git a/src/main/java/com/example/gimmegonghakauth/service/GonghakCalculateService.java b/src/main/java/com/example/gimmegonghakauth/status/service/GonghakCalculateService.java similarity index 70% rename from src/main/java/com/example/gimmegonghakauth/service/GonghakCalculateService.java rename to src/main/java/com/example/gimmegonghakauth/status/service/GonghakCalculateService.java index 9067e42..d35f609 100644 --- a/src/main/java/com/example/gimmegonghakauth/service/GonghakCalculateService.java +++ b/src/main/java/com/example/gimmegonghakauth/status/service/GonghakCalculateService.java @@ -1,12 +1,12 @@ -package com.example.gimmegonghakauth.service; +package com.example.gimmegonghakauth.status.service; import com.example.gimmegonghakauth.constant.AbeekTypeConst; -import com.example.gimmegonghakauth.dao.GonghakRepository; +import com.example.gimmegonghakauth.status.infrastructure.GonghakRepository; +import com.example.gimmegonghakauth.status.service.dto.GonghakCoursesByMajorDto; +import com.example.gimmegonghakauth.status.service.dto.GonghakResultDto; +import com.example.gimmegonghakauth.status.service.dto.GonghakResultDto.ResultPointDto; +import com.example.gimmegonghakauth.status.service.dto.GonghakStandardDto; import com.example.gimmegonghakauth.user.domain.UserDomain; -import com.example.gimmegonghakauth.dto.GonghakCoursesByMajorDto; -import com.example.gimmegonghakauth.dto.GonghakResultDto; -import com.example.gimmegonghakauth.dto.GonghakResultDto.ResultPointDto; -import com.example.gimmegonghakauth.dto.GonghakStandardDto; import java.util.Arrays; import java.util.List; import java.util.Map; @@ -27,25 +27,25 @@ public Optional getResultRatio(UserDomain userDomain) { // findStandard -> 학번 입학년도를 기준으로 해당 년도의 abeekType(영역별 구분),minCredit(영역별 인증학점) 불러온다. Optional standard = gonghakRepository.findStandard( - userDomain.getMajorsDomain()); + userDomain.getMajorsDomain()); // default user abeek 학점 상태 map Map userAbeekCredit = getUserAbeekCreditDefault( - standard.get().getStandards()); + standard.get().getStandards()); // user 공학 상태 테이블 // gonghakCourse 중 이수한 과목을 불러온다. List userCoursesByMajorByGonghakCoursesWithCompletedCourses = gonghakRepository.findUserCompletedCourses( - userDomain.getStudentId(), userDomain.getMajorsDomain()); + userDomain.getStudentId(), userDomain.getMajorsDomain()); // user // stackUserGonghakCredit -> abeekType에 맞게 이수한 총 학점을 계산한다. stackUserGonghakCredit(userCoursesByMajorByGonghakCoursesWithCompletedCourses, - userAbeekCredit); + userAbeekCredit); // getUserGonghakResultRatio -> 인증 상태(비율)를 계산한다. Map userResultRatio = getUserGonghakResultRatio( - userAbeekCredit, standard); + userAbeekCredit, standard); // 인증 상태(비율) return return Optional.of(new GonghakResultDto(userResultRatio)); @@ -53,7 +53,7 @@ public Optional getResultRatio(UserDomain userDomain) { // default user abeek 학점 상태 map을 만들어 반환한다. private Map getUserAbeekCreditDefault( - Map standards) { + Map standards) { Map userAbeekCredit = new ConcurrentHashMap<>(); Arrays.stream(AbeekTypeConst.values()).forEach(abeekTypeConst -> { if (standards.containsKey(abeekTypeConst)) { @@ -65,34 +65,34 @@ private Map getUserAbeekCreditDefault( // 인증 상태(비율)를 계산한다. private Map getUserGonghakResultRatio( - Map userAbeekCredit, - Optional standard) { + Map userAbeekCredit, + Optional standard) { Map userResultRatio = new ConcurrentHashMap<>(); Arrays.stream(AbeekTypeConst.values()).forEach(abeekTypeConst -> { - if (userAbeekCredit.containsKey(abeekTypeConst)) { - getRatio(userAbeekCredit, standard, abeekTypeConst, userResultRatio); + if (userAbeekCredit.containsKey(abeekTypeConst)) { + getRatio(userAbeekCredit, standard, abeekTypeConst, userResultRatio); + } } - } ); return userResultRatio; } private void getRatio(Map userAbeekCredit, - Optional standard, AbeekTypeConst abeekTypeConst, - Map userResultRatio) { + Optional standard, AbeekTypeConst abeekTypeConst, + Map userResultRatio) { userResultRatio.put( - abeekTypeConst, - new ResultPointDto(userAbeekCredit.get(abeekTypeConst), standard.get().getStandards() - .get(abeekTypeConst)) + abeekTypeConst, + new ResultPointDto(userAbeekCredit.get(abeekTypeConst), standard.get().getStandards() + .get(abeekTypeConst)) ); } // abeekType에 맞게 이수한 총 학점을 계산한다. private void stackUserGonghakCredit( - List userCoursesByMajorByGonghakCoursesWithCompletedCourses, - Map userAbeekCredit) { + List userCoursesByMajorByGonghakCoursesWithCompletedCourses, + Map userAbeekCredit) { userCoursesByMajorByGonghakCoursesWithCompletedCourses.forEach(gonghakCoursesByMajorDto -> { switch (gonghakCoursesByMajorDto.getCourseCategory()) { case 전공: @@ -100,11 +100,11 @@ private void stackUserGonghakCredit( break; case 전문교양: stackCredit(AbeekTypeConst.PROFESSIONAL_NON_MAJOR, gonghakCoursesByMajorDto, - userAbeekCredit); + userAbeekCredit); break; case 교양: stackCredit(AbeekTypeConst.NON_MAJOR, gonghakCoursesByMajorDto, - userAbeekCredit); + userAbeekCredit); break; case MSC: stackCredit(AbeekTypeConst.MSC, gonghakCoursesByMajorDto, userAbeekCredit); @@ -120,15 +120,15 @@ private void stackUserGonghakCredit( private void stackCredit(AbeekTypeConst abeekTypeConst, - GonghakCoursesByMajorDto gonghakCoursesByMajorDto, - Map userAbeekCredit) { + GonghakCoursesByMajorDto gonghakCoursesByMajorDto, + Map userAbeekCredit) { double inputCredit = getInputCredit(abeekTypeConst, gonghakCoursesByMajorDto); userAbeekCredit.put(abeekTypeConst, userAbeekCredit.get(abeekTypeConst) + inputCredit); } private double getInputCredit(AbeekTypeConst abeekTypeConst, - GonghakCoursesByMajorDto gonghakCoursesByMajorDto) { + GonghakCoursesByMajorDto gonghakCoursesByMajorDto) { if (abeekTypeConst == AbeekTypeConst.DESIGN) { return gonghakCoursesByMajorDto.getDesignCredit(); } else { diff --git a/src/main/java/com/example/gimmegonghakauth/dto/GonghakCoursesByMajorDto.java b/src/main/java/com/example/gimmegonghakauth/status/service/dto/GonghakCoursesByMajorDto.java similarity index 80% rename from src/main/java/com/example/gimmegonghakauth/dto/GonghakCoursesByMajorDto.java rename to src/main/java/com/example/gimmegonghakauth/status/service/dto/GonghakCoursesByMajorDto.java index e7397d7..1d215f8 100644 --- a/src/main/java/com/example/gimmegonghakauth/dto/GonghakCoursesByMajorDto.java +++ b/src/main/java/com/example/gimmegonghakauth/status/service/dto/GonghakCoursesByMajorDto.java @@ -1,9 +1,8 @@ -package com.example.gimmegonghakauth.dto; +package com.example.gimmegonghakauth.status.service.dto; import com.example.gimmegonghakauth.constant.CourseCategoryConst; import lombok.Getter; import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Component; @Getter @RequiredArgsConstructor diff --git a/src/main/java/com/example/gimmegonghakauth/dto/GonghakRecommendCoursesDto.java b/src/main/java/com/example/gimmegonghakauth/status/service/dto/GonghakRecommendCoursesDto.java similarity index 83% rename from src/main/java/com/example/gimmegonghakauth/dto/GonghakRecommendCoursesDto.java rename to src/main/java/com/example/gimmegonghakauth/status/service/dto/GonghakRecommendCoursesDto.java index d3651d4..07f4d53 100644 --- a/src/main/java/com/example/gimmegonghakauth/dto/GonghakRecommendCoursesDto.java +++ b/src/main/java/com/example/gimmegonghakauth/status/service/dto/GonghakRecommendCoursesDto.java @@ -1,7 +1,6 @@ -package com.example.gimmegonghakauth.dto; +package com.example.gimmegonghakauth.status.service.dto; import com.example.gimmegonghakauth.constant.AbeekTypeConst; -import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; diff --git a/src/main/java/com/example/gimmegonghakauth/dto/GonghakResultDto.java b/src/main/java/com/example/gimmegonghakauth/status/service/dto/GonghakResultDto.java similarity index 88% rename from src/main/java/com/example/gimmegonghakauth/dto/GonghakResultDto.java rename to src/main/java/com/example/gimmegonghakauth/status/service/dto/GonghakResultDto.java index f5b3b9f..275b1c9 100644 --- a/src/main/java/com/example/gimmegonghakauth/dto/GonghakResultDto.java +++ b/src/main/java/com/example/gimmegonghakauth/status/service/dto/GonghakResultDto.java @@ -1,4 +1,4 @@ -package com.example.gimmegonghakauth.dto; +package com.example.gimmegonghakauth.status.service.dto; import com.example.gimmegonghakauth.constant.AbeekTypeConst; import java.util.Map; diff --git a/src/main/java/com/example/gimmegonghakauth/dto/GonghakStandardDto.java b/src/main/java/com/example/gimmegonghakauth/status/service/dto/GonghakStandardDto.java similarity index 72% rename from src/main/java/com/example/gimmegonghakauth/dto/GonghakStandardDto.java rename to src/main/java/com/example/gimmegonghakauth/status/service/dto/GonghakStandardDto.java index db7b12b..36a966b 100644 --- a/src/main/java/com/example/gimmegonghakauth/dto/GonghakStandardDto.java +++ b/src/main/java/com/example/gimmegonghakauth/status/service/dto/GonghakStandardDto.java @@ -1,11 +1,10 @@ -package com.example.gimmegonghakauth.dto; +package com.example.gimmegonghakauth.status.service.dto; import com.example.gimmegonghakauth.constant.AbeekTypeConst; import java.util.Map; import lombok.Getter; import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Component; @Getter @RequiredArgsConstructor diff --git a/src/main/java/com/example/gimmegonghakauth/dto/IncompletedCoursesDto.java b/src/main/java/com/example/gimmegonghakauth/status/service/dto/IncompletedCoursesDto.java similarity index 75% rename from src/main/java/com/example/gimmegonghakauth/dto/IncompletedCoursesDto.java rename to src/main/java/com/example/gimmegonghakauth/status/service/dto/IncompletedCoursesDto.java index de4f60e..8db7d57 100644 --- a/src/main/java/com/example/gimmegonghakauth/dto/IncompletedCoursesDto.java +++ b/src/main/java/com/example/gimmegonghakauth/status/service/dto/IncompletedCoursesDto.java @@ -1,6 +1,5 @@ -package com.example.gimmegonghakauth.dto; +package com.example.gimmegonghakauth.status.service.dto; -import com.example.gimmegonghakauth.constant.AbeekTypeConst; import com.example.gimmegonghakauth.constant.CourseCategoryConst; import lombok.Getter; import lombok.RequiredArgsConstructor; diff --git a/src/main/java/com/example/gimmegonghakauth/status/service/recommend/ComputerMajorGonghakRecommendService.java b/src/main/java/com/example/gimmegonghakauth/status/service/recommend/ComputerMajorGonghakRecommendService.java new file mode 100644 index 0000000..aa16272 --- /dev/null +++ b/src/main/java/com/example/gimmegonghakauth/status/service/recommend/ComputerMajorGonghakRecommendService.java @@ -0,0 +1,99 @@ +package com.example.gimmegonghakauth.status.service.recommend; + + +import com.example.gimmegonghakauth.constant.AbeekTypeConst; +import com.example.gimmegonghakauth.constant.CourseCategoryConst; +import com.example.gimmegonghakauth.status.infrastructure.GonghakRepository; +import com.example.gimmegonghakauth.status.service.dto.GonghakRecommendCoursesDto; +import com.example.gimmegonghakauth.status.service.dto.GonghakStandardDto; +import com.example.gimmegonghakauth.status.service.dto.IncompletedCoursesDto; +import com.example.gimmegonghakauth.user.domain.UserDomain; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +@Service +@RequiredArgsConstructor +public class ComputerMajorGonghakRecommendService implements GonghakRecommendService { + + private final GonghakRepository gonghakRepository; + + @Override + @Transactional(readOnly = true) + public GonghakRecommendCoursesDto createRecommendCourses(UserDomain userDomain) { + GonghakRecommendCoursesDto gonghakRecommendCoursesDto = new GonghakRecommendCoursesDto(); + + // findStandard -> 학번 입학년도를 기준으로 해당 년도의 abeekType(영역별 구분),minCredit(영역별 인증학점) 불러온다. + Optional standard = gonghakRepository.findStandard(userDomain.getMajorsDomain()); + + // 수강하지 않은 과목 중 "전문 교양" 과목을 반환한다. + List professionalNonMajor = gonghakRepository.findUserIncompletedCourses( + CourseCategoryConst.전문교양, userDomain.getStudentId(), userDomain.getMajorsDomain() + ); + + // 수강하지 않은 과목 중 "전공" 과목을 반환한다. + List major = gonghakRepository.findUserIncompletedCourses( + CourseCategoryConst.전공, userDomain.getStudentId(), userDomain.getMajorsDomain() + ); + + // 수강하지 않은 과목 중 "BSM" 과목을 반환한다. + List bsm = gonghakRepository.findUserIncompletedCourses( + CourseCategoryConst.BSM, userDomain.getStudentId(), userDomain.getMajorsDomain() + ); + + // abeekType 별 추천 과목 List를 반환한다. + Map> coursesByAbeekTypeWithoutCompleteCourses = gonghakRecommendCoursesDto.getRecommendCoursesByAbeekType(); + Arrays.stream(AbeekTypeConst.values()).forEach( + abeekType -> { + List abeekRecommend = new ArrayList<>(); + if (standard.get().getStandards().containsKey(abeekType)) { + switch (abeekType) { + case BSM: + abeekRecommend.addAll(bsm); + break; + case MAJOR: + abeekRecommend.addAll(major); + break; + case DESIGN: + addOnlyDesignCreditOverZero(major, abeekRecommend); + break; + case PROFESSIONAL_NON_MAJOR: + abeekRecommend.addAll(professionalNonMajor); + break; + case NON_MAJOR: + abeekRecommend.addAll(professionalNonMajor); + break; + case MINIMUM_CERTI: + abeekRecommend.addAll(bsm); + abeekRecommend.addAll(professionalNonMajor); + abeekRecommend.addAll(major); + break; + } + coursesByAbeekTypeWithoutCompleteCourses.put(abeekType, abeekRecommend); + } + + + } + ); + + return gonghakRecommendCoursesDto; + } + + // 설계 과목(designCredit > 0)인 경우만 추가한다. + private static void addOnlyDesignCreditOverZero(List majorBasic, + List abeekRecommend) { + majorBasic.forEach( + incompletedCoursesDto -> { + if (incompletedCoursesDto.getDesignCredit() > 0) { + abeekRecommend.add(incompletedCoursesDto); + } + } + ); + } + +} diff --git a/src/main/java/com/example/gimmegonghakauth/status/service/recommend/ElecInfoMajorGonghakRecommendService.java b/src/main/java/com/example/gimmegonghakauth/status/service/recommend/ElecInfoMajorGonghakRecommendService.java new file mode 100644 index 0000000..a57b63f --- /dev/null +++ b/src/main/java/com/example/gimmegonghakauth/status/service/recommend/ElecInfoMajorGonghakRecommendService.java @@ -0,0 +1,97 @@ +package com.example.gimmegonghakauth.status.service.recommend; + +import com.example.gimmegonghakauth.constant.AbeekTypeConst; +import com.example.gimmegonghakauth.constant.CourseCategoryConst; +import com.example.gimmegonghakauth.status.infrastructure.GonghakRepository; +import com.example.gimmegonghakauth.status.service.dto.GonghakRecommendCoursesDto; +import com.example.gimmegonghakauth.status.service.dto.GonghakStandardDto; +import com.example.gimmegonghakauth.status.service.dto.IncompletedCoursesDto; +import com.example.gimmegonghakauth.user.domain.UserDomain; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +@Service +@RequiredArgsConstructor +public class ElecInfoMajorGonghakRecommendService implements GonghakRecommendService { + + private final GonghakRepository gonghakRepository; + + @Transactional(readOnly = true) + @Override + public GonghakRecommendCoursesDto createRecommendCourses(UserDomain userDomain) { + GonghakRecommendCoursesDto gonghakRecommendCoursesDto = new GonghakRecommendCoursesDto(); + + // findStandard -> 학번 입학년도를 기준으로 해당 년도의 abeekType(영역별 구분),minCredit(영역별 인증학점) 불러온다. + Optional standard = gonghakRepository.findStandard(userDomain.getMajorsDomain()); + + // 수강하지 않은 과목 중 "전문 교양" 과목을 반환한다. + List professionalNonMajor = gonghakRepository.findUserIncompletedCourses( + CourseCategoryConst.전문교양, userDomain.getStudentId(), userDomain.getMajorsDomain() + ); + + // 수강하지 않은 과목 중 "전공" 과목을 반환한다. + List major = gonghakRepository.findUserIncompletedCourses( + CourseCategoryConst.전공, userDomain.getStudentId(), userDomain.getMajorsDomain() + ); + + // 수강하지 않은 과목 중 "MSC" 과목을 반환한다. + List msc = gonghakRepository.findUserIncompletedCourses( + CourseCategoryConst.MSC, userDomain.getStudentId(), userDomain.getMajorsDomain() + ); + + // abeekType 별 추천 과목 List를 반환한다. + Map> coursesByAbeekTypeWithoutCompleteCourses = gonghakRecommendCoursesDto.getRecommendCoursesByAbeekType(); + Arrays.stream(AbeekTypeConst.values()).forEach( + abeekType -> { + List abeekRecommend = new ArrayList<>(); + if (standard.get().getStandards().containsKey(abeekType)) { + switch (abeekType) { + case MSC: + abeekRecommend.addAll(msc); + break; + case MAJOR: + abeekRecommend.addAll(major); + break; + case DESIGN: + addOnlyDesignCreditOverZero(major, abeekRecommend); + break; + case PROFESSIONAL_NON_MAJOR: + abeekRecommend.addAll(professionalNonMajor); + break; + case NON_MAJOR: + abeekRecommend.addAll(professionalNonMajor); + break; + case MINIMUM_CERTI: + abeekRecommend.addAll(msc); + abeekRecommend.addAll(major); + abeekRecommend.addAll(professionalNonMajor); + break; + } + coursesByAbeekTypeWithoutCompleteCourses.put(abeekType, abeekRecommend); + } + + } + ); + + return gonghakRecommendCoursesDto; + } + + // 설계 과목(designCredit > 0)인 경우만 추가한다. + private static void addOnlyDesignCreditOverZero(List majorBasic, + List abeekRecommend) { + majorBasic.forEach( + incompletedCoursesDto -> { + if (incompletedCoursesDto.getDesignCredit() > 0) { + abeekRecommend.add(incompletedCoursesDto); + } + } + ); + } + +} diff --git a/src/main/java/com/example/gimmegonghakauth/service/recommend/GonghakRecommendService.java b/src/main/java/com/example/gimmegonghakauth/status/service/recommend/GonghakRecommendService.java similarity index 55% rename from src/main/java/com/example/gimmegonghakauth/service/recommend/GonghakRecommendService.java rename to src/main/java/com/example/gimmegonghakauth/status/service/recommend/GonghakRecommendService.java index 6e25260..d39619c 100644 --- a/src/main/java/com/example/gimmegonghakauth/service/recommend/GonghakRecommendService.java +++ b/src/main/java/com/example/gimmegonghakauth/status/service/recommend/GonghakRecommendService.java @@ -1,7 +1,7 @@ -package com.example.gimmegonghakauth.service.recommend; +package com.example.gimmegonghakauth.status.service.recommend; +import com.example.gimmegonghakauth.status.service.dto.GonghakRecommendCoursesDto; import com.example.gimmegonghakauth.user.domain.UserDomain; -import com.example.gimmegonghakauth.dto.GonghakRecommendCoursesDto; public interface GonghakRecommendService { GonghakRecommendCoursesDto createRecommendCourses(UserDomain userDomain); diff --git a/src/main/java/com/example/gimmegonghakauth/service/recommend/RecommendServiceSelectManager.java b/src/main/java/com/example/gimmegonghakauth/status/service/recommend/RecommendServiceSelectManager.java similarity index 77% rename from src/main/java/com/example/gimmegonghakauth/service/recommend/RecommendServiceSelectManager.java rename to src/main/java/com/example/gimmegonghakauth/status/service/recommend/RecommendServiceSelectManager.java index 0d1da05..a414fa5 100644 --- a/src/main/java/com/example/gimmegonghakauth/service/recommend/RecommendServiceSelectManager.java +++ b/src/main/java/com/example/gimmegonghakauth/status/service/recommend/RecommendServiceSelectManager.java @@ -1,9 +1,9 @@ -package com.example.gimmegonghakauth.service.recommend; +package com.example.gimmegonghakauth.status.service.recommend; -import static com.example.gimmegonghakauth.service.recommend.MajorName.*; +import static com.example.gimmegonghakauth.status.domain.MajorName.ELEC_INFO; -import com.example.gimmegonghakauth.user.infrastructure.UserRepository; import com.example.gimmegonghakauth.domain.MajorsDomain; +import com.example.gimmegonghakauth.user.infrastructure.UserRepository; import lombok.RequiredArgsConstructor; import org.springframework.context.ApplicationContext; import org.springframework.stereotype.Component; @@ -20,12 +20,12 @@ public class RecommendServiceSelectManager { // 학과에 따른 추천 서비스를 설정한다. public GonghakRecommendService selectRecommendService(Long studentId) { MajorsDomain majorsDomain = userRepository.findByStudentId(studentId).get() - .getMajorsDomain(); + .getMajorsDomain(); if (majorsDomain.getMajor().contains(ELEC_INFO.getName())) { return applicationContext.getBean("elecInfoMajorGonghakRecommendService", - ElecInfoMajorGonghakRecommendService.class); + ElecInfoMajorGonghakRecommendService.class); } return applicationContext.getBean("computerMajorGonghakRecommendService", - ComputerMajorGonghakRecommendService.class); + ComputerMajorGonghakRecommendService.class); } } diff --git a/src/test/java/com/example/gimmegonghakauth/Service/GonghakCalculateServiceTest.java b/src/test/java/com/example/gimmegonghakauth/Service/GonghakCalculateServiceTest.java index 0868c43..ddaaa29 100644 --- a/src/test/java/com/example/gimmegonghakauth/Service/GonghakCalculateServiceTest.java +++ b/src/test/java/com/example/gimmegonghakauth/Service/GonghakCalculateServiceTest.java @@ -4,14 +4,14 @@ import com.example.gimmegonghakauth.Service.GonghakCalculateServiceTest.CalculateTestConfig; import com.example.gimmegonghakauth.constant.AbeekTypeConst; -import com.example.gimmegonghakauth.dao.AbeekDao; -import com.example.gimmegonghakauth.dao.GonghakCoursesDao; -import com.example.gimmegonghakauth.dao.GonghakDao; -import com.example.gimmegonghakauth.dao.GonghakRepository; import com.example.gimmegonghakauth.domain.MajorsDomain; +import com.example.gimmegonghakauth.status.infrastructure.AbeekDao; +import com.example.gimmegonghakauth.status.infrastructure.GonghakCoursesDao; +import com.example.gimmegonghakauth.status.infrastructure.GonghakDao; +import com.example.gimmegonghakauth.status.infrastructure.GonghakRepository; +import com.example.gimmegonghakauth.status.service.GonghakCalculateService; +import com.example.gimmegonghakauth.status.service.dto.GonghakResultDto.ResultPointDto; import com.example.gimmegonghakauth.user.domain.UserDomain; -import com.example.gimmegonghakauth.dto.GonghakResultDto.ResultPointDto; -import com.example.gimmegonghakauth.service.GonghakCalculateService; import java.util.Map; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -37,58 +37,58 @@ class GonghakCalculateServiceTest { private GonghakCalculateService gonghakCalculateService; private static final MajorsDomain TEST_MAJORSDOMAIN = MajorsDomain.builder() - .id(1L) - .major("컴퓨터공학과").build(); + .id(1L) + .major("컴퓨터공학과").build(); private static final UserDomain TEST_USERDOMAIN = UserDomain.builder() - .email("testEmail") - .name("홍지섭") - .password("qwer") - .studentId(19011706L) - .majorsDomain(TEST_MAJORSDOMAIN).build(); + .email("testEmail") + .name("홍지섭") + .password("qwer") + .studentId(19011706L) + .majorsDomain(TEST_MAJORSDOMAIN).build(); @TestConfiguration @RequiredArgsConstructor - static class CalculateTestConfig{ + static class CalculateTestConfig { private final AbeekDao abeekDao; private final GonghakCoursesDao gonghakCoursesDao; @Bean - public GonghakRepository gonghakRepository(){ + public GonghakRepository gonghakRepository() { return new GonghakDao(abeekDao, gonghakCoursesDao); } @Bean - public GonghakCalculateService gonghakCalculateService(){ + public GonghakCalculateService gonghakCalculateService() { return new GonghakCalculateService(gonghakRepository()); } } @Test @DisplayName("check log gonghakCalculateServiceTest") - void logGonghakCalculateServiceTest(){ - Map userResultRatio = gonghakCalculateService.getResultRatio( - TEST_USERDOMAIN).get().getUserResultRatio(); + void logGonghakCalculateServiceTest() { + Map userResultRatio = gonghakCalculateService.getResultRatio( + TEST_USERDOMAIN).get().getUserResultRatio(); - log.info("userResultRatio = {}",userResultRatio); + log.info("userResultRatio = {}", userResultRatio); } @Test @DisplayName("컴퓨터공학과 GonghakCalculateService 계산 결과 체크") - void correctGonghakCalculateServiceTestCom(){ + void correctGonghakCalculateServiceTestCom() { Map userResultRatio = gonghakCalculateService.getResultRatio( - TEST_USERDOMAIN).get().getUserResultRatio(); + TEST_USERDOMAIN).get().getUserResultRatio(); userResultRatio.keySet().forEach( - abeekTypeConst -> { - Double userPoint = userResultRatio.get(abeekTypeConst).getUserPoint(); - assertThat(userPoint).isLessThanOrEqualTo(1); - assertThat(userPoint).isGreaterThanOrEqualTo(0); - } + abeekTypeConst -> { + Double userPoint = userResultRatio.get(abeekTypeConst).getUserPoint(); + assertThat(userPoint).isLessThanOrEqualTo(1); + assertThat(userPoint).isGreaterThanOrEqualTo(0); + } ); } - private double getExpectedCredit(int credit,Map standard,AbeekTypeConst abeekTypeConst) { - return Double.valueOf(String.format("%.4f",(double) credit / standard.get(abeekTypeConst))); + private double getExpectedCredit(int credit, Map standard, AbeekTypeConst abeekTypeConst) { + return Double.valueOf(String.format("%.4f", (double) credit / standard.get(abeekTypeConst))); } } diff --git a/src/test/java/com/example/gimmegonghakauth/Service/GonghakRecommendServiceTest.java b/src/test/java/com/example/gimmegonghakauth/Service/GonghakRecommendServiceTest.java index 96f6549..8c753c9 100644 --- a/src/test/java/com/example/gimmegonghakauth/Service/GonghakRecommendServiceTest.java +++ b/src/test/java/com/example/gimmegonghakauth/Service/GonghakRecommendServiceTest.java @@ -3,13 +3,13 @@ import static org.assertj.core.api.Assertions.assertThat; import com.example.gimmegonghakauth.constant.AbeekTypeConst; -import com.example.gimmegonghakauth.user.infrastructure.UserRepository; -import com.example.gimmegonghakauth.user.domain.UserDomain; -import com.example.gimmegonghakauth.dto.IncompletedCoursesDto; import com.example.gimmegonghakauth.dto.LoginDto; -import com.example.gimmegonghakauth.service.recommend.ComputerMajorGonghakRecommendService; -import com.example.gimmegonghakauth.service.recommend.GonghakRecommendService; -import com.example.gimmegonghakauth.service.recommend.RecommendServiceSelectManager; +import com.example.gimmegonghakauth.status.service.dto.IncompletedCoursesDto; +import com.example.gimmegonghakauth.status.service.recommend.ComputerMajorGonghakRecommendService; +import com.example.gimmegonghakauth.status.service.recommend.GonghakRecommendService; +import com.example.gimmegonghakauth.status.service.recommend.RecommendServiceSelectManager; +import com.example.gimmegonghakauth.user.domain.UserDomain; +import com.example.gimmegonghakauth.user.infrastructure.UserRepository; import java.util.List; import java.util.Map; import lombok.extern.slf4j.Slf4j; @@ -36,44 +36,45 @@ class GonghakRecommendServiceTest { @Test @DisplayName("유저의 학과에 맞는 recommendService 클래스 가져오기 확인 - 컴퓨터공학과") - void recommendServiceSelectManagerTest(){ + void recommendServiceSelectManagerTest() { LoginDto loginDto = new LoginDto(COM_TEST_STUDENT_ID); GonghakRecommendService gonghakRecommendService = recommendServiceSelectManager.selectRecommendService( - loginDto.getStudentId()); + loginDto.getStudentId()); assertThat(gonghakRecommendService).isInstanceOf( - ComputerMajorGonghakRecommendService.class); + ComputerMajorGonghakRecommendService.class); } @Test - void createRecommendCoursesTest(){ + void createRecommendCoursesTest() { UserDomain testUser = userRepository.findByStudentId(COM_TEST_STUDENT_ID).get(); GonghakRecommendService comGonghakRecommendService = recommendServiceSelectManager.selectRecommendService( - new LoginDto(COM_TEST_STUDENT_ID).getStudentId()); + new LoginDto(COM_TEST_STUDENT_ID).getStudentId()); Map> recommendCoursesByAbeekType = comGonghakRecommendService.createRecommendCourses( - testUser).getRecommendCoursesByAbeekType(); + testUser).getRecommendCoursesByAbeekType(); - log.info("recommendCoursesByAbeekType.keySet()= {}",recommendCoursesByAbeekType.keySet()); + log.info("recommendCoursesByAbeekType.keySet()= {}", recommendCoursesByAbeekType.keySet()); //[PROFESSIONAL_NON_MAJOR, BSM, DESIGN, MAJOR, MINIMUM_CERTI] recommendCoursesByAbeekType.keySet().forEach( - abeekTypeConst -> { - log.info("abeekTypeConst.name() = {}",abeekTypeConst.name()); - recommendCoursesByAbeekType.get(abeekTypeConst); - for (IncompletedCoursesDto incompletedCoursesDto : recommendCoursesByAbeekType.get(abeekTypeConst)) { - log.info("incompletedCoursesDto.getCourseName= {}",incompletedCoursesDto.getCourseName()); + abeekTypeConst -> { + log.info("abeekTypeConst.name() = {}", abeekTypeConst.name()); + recommendCoursesByAbeekType.get(abeekTypeConst); + for (IncompletedCoursesDto incompletedCoursesDto : recommendCoursesByAbeekType.get( + abeekTypeConst)) { + log.info("incompletedCoursesDto.getCourseName= {}", incompletedCoursesDto.getCourseName()); + } } - } ); assertThat(recommendCoursesByAbeekType.get(AbeekTypeConst.PROFESSIONAL_NON_MAJOR).size()).isNotEqualTo(0); assertThat(recommendCoursesByAbeekType.keySet()).containsOnly( - AbeekTypeConst.PROFESSIONAL_NON_MAJOR, - AbeekTypeConst.BSM, - AbeekTypeConst.DESIGN, - AbeekTypeConst.MAJOR, - AbeekTypeConst.MINIMUM_CERTI + AbeekTypeConst.PROFESSIONAL_NON_MAJOR, + AbeekTypeConst.BSM, + AbeekTypeConst.DESIGN, + AbeekTypeConst.MAJOR, + AbeekTypeConst.MINIMUM_CERTI ); } } diff --git a/src/test/java/com/example/gimmegonghakauth/dao/GonghakRepositoryTest.java b/src/test/java/com/example/gimmegonghakauth/dao/GonghakRepositoryTest.java index dd8b314..c5a1118 100644 --- a/src/test/java/com/example/gimmegonghakauth/dao/GonghakRepositoryTest.java +++ b/src/test/java/com/example/gimmegonghakauth/dao/GonghakRepositoryTest.java @@ -2,16 +2,17 @@ import static org.assertj.core.api.Assertions.assertThat; +import com.example.gimmegonghakauth.completed.domain.CompletedCoursesDomain; import com.example.gimmegonghakauth.completed.infrastructure.CompletedCoursesDao; import com.example.gimmegonghakauth.constant.AbeekTypeConst; import com.example.gimmegonghakauth.constant.CourseCategoryConst; -import com.example.gimmegonghakauth.completed.domain.CompletedCoursesDomain; import com.example.gimmegonghakauth.domain.MajorsDomain; +import com.example.gimmegonghakauth.status.domain.MajorName; +import com.example.gimmegonghakauth.status.infrastructure.GonghakRepository; +import com.example.gimmegonghakauth.status.service.dto.GonghakCoursesByMajorDto; +import com.example.gimmegonghakauth.status.service.dto.GonghakStandardDto; +import com.example.gimmegonghakauth.status.service.dto.IncompletedCoursesDto; import com.example.gimmegonghakauth.user.domain.UserDomain; -import com.example.gimmegonghakauth.dto.GonghakCoursesByMajorDto; -import com.example.gimmegonghakauth.dto.GonghakStandardDto; -import com.example.gimmegonghakauth.dto.IncompletedCoursesDto; -import com.example.gimmegonghakauth.service.recommend.MajorName; import com.example.gimmegonghakauth.user.infrastructure.UserRepository; import java.util.ArrayList; import java.util.Arrays; @@ -61,31 +62,31 @@ void setInit() { void setMajor() { COM_TEST_MAJORDOMAIN = majorsDao.findByMajor(MajorName.COMPUTER.getName()); WRONG_TEST_MAJORDOMAIN = MajorsDomain.builder() - .id(5L) - .major("오징어먹물학과").build(); + .id(5L) + .major("오징어먹물학과").build(); } void setUserAndCompletedCourse() { UserDomain user = UserDomain.builder().studentId(19111111L) - .password("qwer").email("test@sju.com") - .majorsDomain(majorsDao.findByMajor("컴퓨터공학과")) - .name("testUser") - .build(); + .password("qwer").email("test@sju.com") + .majorsDomain(majorsDao.findByMajor("컴퓨터공학과")) + .name("testUser") + .build(); userRepository.save(user); CompletedCoursesDomain course1 = CompletedCoursesDomain.builder() - .coursesDomain(coursesDao.findByName("Capstone디자인(산학협력프로젝트)")) - .year(19) - .userDomain(user) - .semester("1학기") - .build(); + .coursesDomain(coursesDao.findByName("Capstone디자인(산학협력프로젝트)")) + .year(19) + .userDomain(user) + .semester("1학기") + .build(); CompletedCoursesDomain course2 = CompletedCoursesDomain.builder() - .coursesDomain(coursesDao.findByName("웹프로그래밍")) - .year(19) - .userDomain(user) - .semester("1학기") - .build(); + .coursesDomain(coursesDao.findByName("웹프로그래밍")) + .year(19) + .userDomain(user) + .semester("1학기") + .build(); completedCoursesDao.save(course1); completedCoursesDao.save(course2); @@ -97,23 +98,23 @@ void setUserAndCompletedCourse() { @DisplayName("dao 메서드 상태 출력") void displayDaoMethod() { List withoutCompleteCourses = gonghakRepository.findUserIncompletedCourses( - CourseCategoryConst.전공, COM_TEST_STUDENT_ID, COM_TEST_MAJORDOMAIN + CourseCategoryConst.전공, COM_TEST_STUDENT_ID, COM_TEST_MAJORDOMAIN ); withoutCompleteCourses.forEach( - incompletedCoursesDto -> { - log.info("withoutCompleteCourses = {}:", incompletedCoursesDto.getCourseName()); - } + incompletedCoursesDto -> { + log.info("withoutCompleteCourses = {}:", incompletedCoursesDto.getCourseName()); + } ); List withCompletedCourses = gonghakRepository.findUserCompletedCourses( - COM_TEST_STUDENT_ID, COM_TEST_MAJORDOMAIN + COM_TEST_STUDENT_ID, COM_TEST_MAJORDOMAIN ); withCompletedCourses.forEach( - gonghakCoursesByMajorDto -> { - log.info("withCompletedCourses = {}", gonghakCoursesByMajorDto.getCourseName()); - } + gonghakCoursesByMajorDto -> { + log.info("withCompletedCourses = {}", gonghakCoursesByMajorDto.getCourseName()); + } ); } @@ -122,12 +123,12 @@ void displayDaoMethod() { @DisplayName("GonghakStandardDto 5가지 상태 모두 포함되어있는지 확인") void findStandardKeySetTest() { Optional standard = gonghakRepository.findStandard( - COM_TEST_MAJORDOMAIN); + COM_TEST_MAJORDOMAIN); log.info("testStandard status ={}", standard.get().getStandards()); Map testStandard = standard.get().getStandards(); assertThat(testStandard.keySet()).contains(AbeekTypeConst.BSM, - AbeekTypeConst.PROFESSIONAL_NON_MAJOR, AbeekTypeConst.DESIGN, AbeekTypeConst.MAJOR, - AbeekTypeConst.MINIMUM_CERTI); + AbeekTypeConst.PROFESSIONAL_NON_MAJOR, AbeekTypeConst.DESIGN, AbeekTypeConst.MAJOR, + AbeekTypeConst.MINIMUM_CERTI); assertThat(testStandard.containsKey(AbeekTypeConst.MSC)).isEqualTo(false); } @@ -136,19 +137,19 @@ void findStandardKeySetTest() { @DisplayName("findUserCoursesByMajorByGonghakCoursesWithCompletedCourses 테스트 ") void findUserCoursesByMajorByGonghakCoursesWithCompletedCoursesTest() { List userDataForCalculate = gonghakRepository.findUserCompletedCourses( - COM_TEST_STUDENT_ID, COM_TEST_MAJORDOMAIN); + COM_TEST_STUDENT_ID, COM_TEST_MAJORDOMAIN); log.info("userDataForCalculate size = {}", userDataForCalculate.size()); for (GonghakCoursesByMajorDto course : userDataForCalculate) { log.info( - "Course ID: {}, Course Name: {}, Year: {}, Course Category: {}, Pass Category: {}, Design Credit: {}, Credit: {}", - course.getCourseId(), - course.getCourseName(), - course.getYear(), - course.getCourseCategory(), - course.getPassCategory(), - course.getDesignCredit(), - course.getCredit()); + "Course ID: {}, Course Name: {}, Year: {}, Course Category: {}, Pass Category: {}, Design Credit: {}, Credit: {}", + course.getCourseId(), + course.getCourseName(), + course.getYear(), + course.getCourseCategory(), + course.getPassCategory(), + course.getDesignCredit(), + course.getCredit()); } List passCategories = new ArrayList<>(); @@ -161,7 +162,7 @@ void findUserCoursesByMajorByGonghakCoursesWithCompletedCoursesTest() { assertThat(passCategories).containsAll(List.of("인필", "인선")); assertThat(courseCategories).containsAnyElementsOf( - List.of(CourseCategoryConst.전문교양, CourseCategoryConst.전공, CourseCategoryConst.BSM)); + List.of(CourseCategoryConst.전문교양, CourseCategoryConst.전공, CourseCategoryConst.BSM)); } @Test @@ -169,20 +170,20 @@ void findUserCoursesByMajorByGonghakCoursesWithCompletedCoursesTest() { void findUserCoursesByMajorByGonghakCoursesWithoutCompleteCoursesTest() { Arrays.stream(CourseCategoryConst.values()).forEach( - courseCategory -> { - List testCourses = gonghakRepository.findUserIncompletedCourses( - CourseCategoryConst.전공, - COM_TEST_STUDENT_ID, - COM_TEST_MAJORDOMAIN - ); - - testCourses.forEach( - incompletedCoursesDto -> { - assertThat(incompletedCoursesDto.getCourseCategory()).isEqualTo( - CourseCategoryConst.전공); - } - ); - } + courseCategory -> { + List testCourses = gonghakRepository.findUserIncompletedCourses( + CourseCategoryConst.전공, + COM_TEST_STUDENT_ID, + COM_TEST_MAJORDOMAIN + ); + + testCourses.forEach( + incompletedCoursesDto -> { + assertThat(incompletedCoursesDto.getCourseCategory()).isEqualTo( + CourseCategoryConst.전공); + } + ); + } ); } @@ -190,7 +191,7 @@ void findUserCoursesByMajorByGonghakCoursesWithoutCompleteCoursesTest() { @DisplayName("findStandard가 없을 때 - Wrong Major") void findStandardWrongMajorDomainTest() { Optional wrongStandard = gonghakRepository.findStandard( - WRONG_TEST_MAJORDOMAIN); + WRONG_TEST_MAJORDOMAIN); assertThat(wrongStandard.get().getStandards().isEmpty()).isEqualTo(true); } } diff --git a/src/test/java/com/example/gimmegonghakauth/domain/DomainTest.java b/src/test/java/com/example/gimmegonghakauth/domain/DomainTest.java index aa0b6e1..83c0fd2 100644 --- a/src/test/java/com/example/gimmegonghakauth/domain/DomainTest.java +++ b/src/test/java/com/example/gimmegonghakauth/domain/DomainTest.java @@ -4,12 +4,13 @@ import static org.assertj.core.api.Assertions.assertThatThrownBy; import com.example.gimmegonghakauth.constant.AbeekTypeConst; -import com.example.gimmegonghakauth.dao.AbeekDao; -import com.example.gimmegonghakauth.dao.GonghakCoursesDao; -import com.example.gimmegonghakauth.dao.GonghakDao; -import com.example.gimmegonghakauth.dao.GonghakRepository; import com.example.gimmegonghakauth.dao.MajorsDao; import com.example.gimmegonghakauth.domain.DomainTest.DomainTestConfig; +import com.example.gimmegonghakauth.status.domain.AbeekDomain; +import com.example.gimmegonghakauth.status.infrastructure.AbeekDao; +import com.example.gimmegonghakauth.status.infrastructure.GonghakCoursesDao; +import com.example.gimmegonghakauth.status.infrastructure.GonghakDao; +import com.example.gimmegonghakauth.status.infrastructure.GonghakRepository; import jakarta.transaction.Transactional; import lombok.RequiredArgsConstructor; import org.junit.jupiter.api.BeforeEach; @@ -42,28 +43,28 @@ public static class DomainTestConfig { private final GonghakCoursesDao gonghakCoursesDao; @Bean - public GonghakRepository gonghakRepository(){ + public GonghakRepository gonghakRepository() { return new GonghakDao(abeekDao, gonghakCoursesDao); } } private final MajorsDomain majorsDomain = MajorsDomain.builder() - .id(1L) - .major("건설환경공학과").build(); + .id(1L) + .major("건설환경공학과").build(); @Transactional @BeforeEach - void beforeEachInputTestData(){ + void beforeEachInputTestData() { MajorsDomain majorsDomain = MajorsDomain.builder() - .id(1L) - .major("건설환경공학과").build(); + .id(1L) + .major("건설환경공학과").build(); majorsDao.save(majorsDomain); } @Transactional @Test - void normalSaveTest(){ + void normalSaveTest() { //given AbeekDomain normalAbeekDomain = buildAbeekDomain(majorsDomain); @@ -80,21 +81,21 @@ void normalSaveTest(){ @Test @DisplayName("범위 밖의 학년") - void outOfRangeYear(){ + void outOfRangeYear() { AbeekDomain errorAbeekDomain = buildAbeekDomain(majorsDomain); errorAbeekDomain.setYear(25); assertThatThrownBy(() -> gonghakRepository.save(errorAbeekDomain)) - .isInstanceOf(RuntimeException.class); + .isInstanceOf(RuntimeException.class); } - private AbeekDomain buildAbeekDomain(MajorsDomain majorsDomain){ + private AbeekDomain buildAbeekDomain(MajorsDomain majorsDomain) { return AbeekDomain.builder() - .id(1L) - .majorsDomain(majorsDomain) - .year(19) - .abeekType(AbeekTypeConst.MAJOR) - .minCredit(20) - .note("이것은 테스트 abeek 도메인 입니다.").build(); + .id(1L) + .majorsDomain(majorsDomain) + .year(19) + .abeekType(AbeekTypeConst.MAJOR) + .minCredit(20) + .note("이것은 테스트 abeek 도메인 입니다.").build(); } } From 3fe75becf17ace6539b43966328e80bae6476ff9 Mon Sep 17 00:00:00 2001 From: Taehyeon Jo <70999462+whxogus215@users.noreply.github.com> Date: Thu, 31 Oct 2024 16:37:35 +0900 Subject: [PATCH 3/7] =?UTF-8?q?refactor:=20common=20=EC=83=81=EC=9C=84=20?= =?UTF-8?q?=EA=B0=9C=EB=85=90=EC=9C=BC=EB=A1=9C=20=ED=8C=A8=ED=82=A4?= =?UTF-8?q?=EC=A7=80=20=EB=A6=AC=ED=8C=A9=ED=86=A0=EB=A7=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../{ => common}/constant/AbeekTypeConst.java | 2 +- .../{ => common}/constant/CourseCategoryConst.java | 2 +- .../{ => common}/constant/UnivCertTypeConst.java | 2 +- .../constant/UnivcertErrorMessageConst.java | 2 +- .../{ => common}/constant/UnivcertUrlConst.java | 2 +- .../{ => common}/controller/MainController.java | 2 +- .../{ => common}/domain/CoursesDomain.java | 2 +- .../{ => common}/domain/MajorsDomain.java | 2 +- .../{dao => common/infrastructure}/CoursesDao.java | 4 ++-- .../{dao => common/infrastructure}/MajorsDao.java | 4 ++-- .../{ => common/service}/InitData.java | 8 ++++---- .../{ => common/service}/InitFileData.java | 10 +++++----- .../completed/domain/CompletedCoursesDomain.java | 2 +- .../completed/service/CompletedCoursesService.java | 4 ++-- .../status/controller/StatusController.java | 2 +- .../gimmegonghakauth/status/domain/AbeekDomain.java | 4 ++-- .../status/domain/GonghakCoursesDomain.java | 6 +++--- .../status/infrastructure/AbeekDao.java | 2 +- .../status/infrastructure/GonghakCoursesDao.java | 4 ++-- .../status/infrastructure/GonghakDao.java | 6 +++--- .../status/infrastructure/GonghakRepository.java | 4 ++-- .../status/service/GonghakCalculateService.java | 2 +- .../status/service/dto/GonghakCoursesByMajorDto.java | 2 +- .../status/service/dto/GonghakRecommendCoursesDto.java | 2 +- .../status/service/dto/GonghakResultDto.java | 2 +- .../status/service/dto/GonghakStandardDto.java | 2 +- .../status/service/dto/IncompletedCoursesDto.java | 2 +- .../ComputerMajorGonghakRecommendService.java | 4 ++-- .../ElecInfoMajorGonghakRecommendService.java | 4 ++-- .../recommend/RecommendServiceSelectManager.java | 2 +- .../user/controller/UserController.java | 2 +- .../gimmegonghakauth/user/domain/UserDomain.java | 2 +- .../user/service/EmailVerificationService.java | 4 ++-- .../gimmegonghakauth/user/service/UserService.java | 2 +- .../Controller/UserControllerTest.java | 3 +-- .../Service/CompletedCoursesServiceDataTest.java | 6 +++--- .../Service/GonghakCalculateServiceTest.java | 4 ++-- .../Service/GonghakRecommendServiceTest.java | 2 +- .../Service/UserSecurityServiceTest.java | 2 +- .../gimmegonghakauth/dao/GonghakRepositoryTest.java | 8 +++++--- .../example/gimmegonghakauth/domain/DomainTest.java | 5 +++-- 41 files changed, 70 insertions(+), 68 deletions(-) rename src/main/java/com/example/gimmegonghakauth/{ => common}/constant/AbeekTypeConst.java (88%) rename src/main/java/com/example/gimmegonghakauth/{ => common}/constant/CourseCategoryConst.java (79%) rename src/main/java/com/example/gimmegonghakauth/{ => common}/constant/UnivCertTypeConst.java (83%) rename src/main/java/com/example/gimmegonghakauth/{ => common}/constant/UnivcertErrorMessageConst.java (95%) rename src/main/java/com/example/gimmegonghakauth/{ => common}/constant/UnivcertUrlConst.java (85%) rename src/main/java/com/example/gimmegonghakauth/{ => common}/controller/MainController.java (77%) rename src/main/java/com/example/gimmegonghakauth/{ => common}/domain/CoursesDomain.java (92%) rename src/main/java/com/example/gimmegonghakauth/{ => common}/domain/MajorsDomain.java (92%) rename src/main/java/com/example/gimmegonghakauth/{dao => common/infrastructure}/CoursesDao.java (83%) rename src/main/java/com/example/gimmegonghakauth/{dao => common/infrastructure}/MajorsDao.java (69%) rename src/main/java/com/example/gimmegonghakauth/{ => common/service}/InitData.java (97%) rename src/main/java/com/example/gimmegonghakauth/{ => common/service}/InitFileData.java (93%) diff --git a/src/main/java/com/example/gimmegonghakauth/constant/AbeekTypeConst.java b/src/main/java/com/example/gimmegonghakauth/common/constant/AbeekTypeConst.java similarity index 88% rename from src/main/java/com/example/gimmegonghakauth/constant/AbeekTypeConst.java rename to src/main/java/com/example/gimmegonghakauth/common/constant/AbeekTypeConst.java index 3383420..d854a9c 100644 --- a/src/main/java/com/example/gimmegonghakauth/constant/AbeekTypeConst.java +++ b/src/main/java/com/example/gimmegonghakauth/common/constant/AbeekTypeConst.java @@ -1,4 +1,4 @@ -package com.example.gimmegonghakauth.constant; +package com.example.gimmegonghakauth.common.constant; public enum AbeekTypeConst { diff --git a/src/main/java/com/example/gimmegonghakauth/constant/CourseCategoryConst.java b/src/main/java/com/example/gimmegonghakauth/common/constant/CourseCategoryConst.java similarity index 79% rename from src/main/java/com/example/gimmegonghakauth/constant/CourseCategoryConst.java rename to src/main/java/com/example/gimmegonghakauth/common/constant/CourseCategoryConst.java index 467a6bc..289838e 100644 --- a/src/main/java/com/example/gimmegonghakauth/constant/CourseCategoryConst.java +++ b/src/main/java/com/example/gimmegonghakauth/common/constant/CourseCategoryConst.java @@ -1,4 +1,4 @@ -package com.example.gimmegonghakauth.constant; +package com.example.gimmegonghakauth.common.constant; public enum CourseCategoryConst { diff --git a/src/main/java/com/example/gimmegonghakauth/constant/UnivCertTypeConst.java b/src/main/java/com/example/gimmegonghakauth/common/constant/UnivCertTypeConst.java similarity index 83% rename from src/main/java/com/example/gimmegonghakauth/constant/UnivCertTypeConst.java rename to src/main/java/com/example/gimmegonghakauth/common/constant/UnivCertTypeConst.java index f683880..d16e796 100644 --- a/src/main/java/com/example/gimmegonghakauth/constant/UnivCertTypeConst.java +++ b/src/main/java/com/example/gimmegonghakauth/common/constant/UnivCertTypeConst.java @@ -1,4 +1,4 @@ -package com.example.gimmegonghakauth.constant; +package com.example.gimmegonghakauth.common.constant; public enum UnivCertTypeConst { SEND_MAIL("이메일 발송"), diff --git a/src/main/java/com/example/gimmegonghakauth/constant/UnivcertErrorMessageConst.java b/src/main/java/com/example/gimmegonghakauth/common/constant/UnivcertErrorMessageConst.java similarity index 95% rename from src/main/java/com/example/gimmegonghakauth/constant/UnivcertErrorMessageConst.java rename to src/main/java/com/example/gimmegonghakauth/common/constant/UnivcertErrorMessageConst.java index 9379f5d..426dac3 100644 --- a/src/main/java/com/example/gimmegonghakauth/constant/UnivcertErrorMessageConst.java +++ b/src/main/java/com/example/gimmegonghakauth/common/constant/UnivcertErrorMessageConst.java @@ -1,4 +1,4 @@ -package com.example.gimmegonghakauth.constant; +package com.example.gimmegonghakauth.common.constant; public enum UnivcertErrorMessageConst { diff --git a/src/main/java/com/example/gimmegonghakauth/constant/UnivcertUrlConst.java b/src/main/java/com/example/gimmegonghakauth/common/constant/UnivcertUrlConst.java similarity index 85% rename from src/main/java/com/example/gimmegonghakauth/constant/UnivcertUrlConst.java rename to src/main/java/com/example/gimmegonghakauth/common/constant/UnivcertUrlConst.java index 08a8669..05bea90 100644 --- a/src/main/java/com/example/gimmegonghakauth/constant/UnivcertUrlConst.java +++ b/src/main/java/com/example/gimmegonghakauth/common/constant/UnivcertUrlConst.java @@ -1,4 +1,4 @@ -package com.example.gimmegonghakauth.constant; +package com.example.gimmegonghakauth.common.constant; public enum UnivcertUrlConst { diff --git a/src/main/java/com/example/gimmegonghakauth/controller/MainController.java b/src/main/java/com/example/gimmegonghakauth/common/controller/MainController.java similarity index 77% rename from src/main/java/com/example/gimmegonghakauth/controller/MainController.java rename to src/main/java/com/example/gimmegonghakauth/common/controller/MainController.java index 6d3ca50..ad8bcc4 100644 --- a/src/main/java/com/example/gimmegonghakauth/controller/MainController.java +++ b/src/main/java/com/example/gimmegonghakauth/common/controller/MainController.java @@ -1,4 +1,4 @@ -package com.example.gimmegonghakauth.controller; +package com.example.gimmegonghakauth.common.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; diff --git a/src/main/java/com/example/gimmegonghakauth/domain/CoursesDomain.java b/src/main/java/com/example/gimmegonghakauth/common/domain/CoursesDomain.java similarity index 92% rename from src/main/java/com/example/gimmegonghakauth/domain/CoursesDomain.java rename to src/main/java/com/example/gimmegonghakauth/common/domain/CoursesDomain.java index 1cce40f..cbbb6ab 100644 --- a/src/main/java/com/example/gimmegonghakauth/domain/CoursesDomain.java +++ b/src/main/java/com/example/gimmegonghakauth/common/domain/CoursesDomain.java @@ -1,4 +1,4 @@ -package com.example.gimmegonghakauth.domain; +package com.example.gimmegonghakauth.common.domain; import jakarta.persistence.Column; import jakarta.persistence.Entity; diff --git a/src/main/java/com/example/gimmegonghakauth/domain/MajorsDomain.java b/src/main/java/com/example/gimmegonghakauth/common/domain/MajorsDomain.java similarity index 92% rename from src/main/java/com/example/gimmegonghakauth/domain/MajorsDomain.java rename to src/main/java/com/example/gimmegonghakauth/common/domain/MajorsDomain.java index b45cf8b..563a231 100644 --- a/src/main/java/com/example/gimmegonghakauth/domain/MajorsDomain.java +++ b/src/main/java/com/example/gimmegonghakauth/common/domain/MajorsDomain.java @@ -1,4 +1,4 @@ -package com.example.gimmegonghakauth.domain; +package com.example.gimmegonghakauth.common.domain; import jakarta.persistence.Column; import jakarta.persistence.Entity; diff --git a/src/main/java/com/example/gimmegonghakauth/dao/CoursesDao.java b/src/main/java/com/example/gimmegonghakauth/common/infrastructure/CoursesDao.java similarity index 83% rename from src/main/java/com/example/gimmegonghakauth/dao/CoursesDao.java rename to src/main/java/com/example/gimmegonghakauth/common/infrastructure/CoursesDao.java index 2fdbb10..796c84e 100644 --- a/src/main/java/com/example/gimmegonghakauth/dao/CoursesDao.java +++ b/src/main/java/com/example/gimmegonghakauth/common/infrastructure/CoursesDao.java @@ -1,6 +1,6 @@ -package com.example.gimmegonghakauth.dao; +package com.example.gimmegonghakauth.common.infrastructure; -import com.example.gimmegonghakauth.domain.CoursesDomain; +import com.example.gimmegonghakauth.common.domain.CoursesDomain; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.query.Param; diff --git a/src/main/java/com/example/gimmegonghakauth/dao/MajorsDao.java b/src/main/java/com/example/gimmegonghakauth/common/infrastructure/MajorsDao.java similarity index 69% rename from src/main/java/com/example/gimmegonghakauth/dao/MajorsDao.java rename to src/main/java/com/example/gimmegonghakauth/common/infrastructure/MajorsDao.java index 7ef54a2..4064644 100644 --- a/src/main/java/com/example/gimmegonghakauth/dao/MajorsDao.java +++ b/src/main/java/com/example/gimmegonghakauth/common/infrastructure/MajorsDao.java @@ -1,6 +1,6 @@ -package com.example.gimmegonghakauth.dao; +package com.example.gimmegonghakauth.common.infrastructure; -import com.example.gimmegonghakauth.domain.MajorsDomain; +import com.example.gimmegonghakauth.common.domain.MajorsDomain; import java.util.Optional; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; diff --git a/src/main/java/com/example/gimmegonghakauth/InitData.java b/src/main/java/com/example/gimmegonghakauth/common/service/InitData.java similarity index 97% rename from src/main/java/com/example/gimmegonghakauth/InitData.java rename to src/main/java/com/example/gimmegonghakauth/common/service/InitData.java index cf11a39..a49cf1c 100644 --- a/src/main/java/com/example/gimmegonghakauth/InitData.java +++ b/src/main/java/com/example/gimmegonghakauth/common/service/InitData.java @@ -1,8 +1,8 @@ -package com.example.gimmegonghakauth; +package com.example.gimmegonghakauth.common.service; -import com.example.gimmegonghakauth.constant.AbeekTypeConst; -import com.example.gimmegonghakauth.dao.MajorsDao; -import com.example.gimmegonghakauth.domain.MajorsDomain; +import com.example.gimmegonghakauth.common.constant.AbeekTypeConst; +import com.example.gimmegonghakauth.common.infrastructure.MajorsDao; +import com.example.gimmegonghakauth.common.domain.MajorsDomain; import com.example.gimmegonghakauth.status.domain.AbeekDomain; import com.example.gimmegonghakauth.status.domain.AbeekDomain.AbeekDomainBuilder; import com.example.gimmegonghakauth.status.domain.MajorName; diff --git a/src/main/java/com/example/gimmegonghakauth/InitFileData.java b/src/main/java/com/example/gimmegonghakauth/common/service/InitFileData.java similarity index 93% rename from src/main/java/com/example/gimmegonghakauth/InitFileData.java rename to src/main/java/com/example/gimmegonghakauth/common/service/InitFileData.java index 32b17e8..023d31c 100644 --- a/src/main/java/com/example/gimmegonghakauth/InitFileData.java +++ b/src/main/java/com/example/gimmegonghakauth/common/service/InitFileData.java @@ -1,9 +1,9 @@ -package com.example.gimmegonghakauth; +package com.example.gimmegonghakauth.common.service; -import com.example.gimmegonghakauth.constant.CourseCategoryConst; -import com.example.gimmegonghakauth.dao.CoursesDao; -import com.example.gimmegonghakauth.dao.MajorsDao; -import com.example.gimmegonghakauth.domain.CoursesDomain; +import com.example.gimmegonghakauth.common.constant.CourseCategoryConst; +import com.example.gimmegonghakauth.common.infrastructure.CoursesDao; +import com.example.gimmegonghakauth.common.infrastructure.MajorsDao; +import com.example.gimmegonghakauth.common.domain.CoursesDomain; import com.example.gimmegonghakauth.status.domain.GonghakCoursesDomain; import com.example.gimmegonghakauth.status.infrastructure.GonghakCoursesDao; import java.io.BufferedReader; diff --git a/src/main/java/com/example/gimmegonghakauth/completed/domain/CompletedCoursesDomain.java b/src/main/java/com/example/gimmegonghakauth/completed/domain/CompletedCoursesDomain.java index e5601fa..6a224a1 100644 --- a/src/main/java/com/example/gimmegonghakauth/completed/domain/CompletedCoursesDomain.java +++ b/src/main/java/com/example/gimmegonghakauth/completed/domain/CompletedCoursesDomain.java @@ -1,6 +1,6 @@ package com.example.gimmegonghakauth.completed.domain; -import com.example.gimmegonghakauth.domain.CoursesDomain; +import com.example.gimmegonghakauth.common.domain.CoursesDomain; import com.example.gimmegonghakauth.user.domain.UserDomain; import jakarta.persistence.Column; import jakarta.persistence.Entity; diff --git a/src/main/java/com/example/gimmegonghakauth/completed/service/CompletedCoursesService.java b/src/main/java/com/example/gimmegonghakauth/completed/service/CompletedCoursesService.java index 4bec825..de28a40 100644 --- a/src/main/java/com/example/gimmegonghakauth/completed/service/CompletedCoursesService.java +++ b/src/main/java/com/example/gimmegonghakauth/completed/service/CompletedCoursesService.java @@ -1,10 +1,10 @@ package com.example.gimmegonghakauth.completed.service; import com.example.gimmegonghakauth.completed.infrastructure.CompletedCoursesDao; -import com.example.gimmegonghakauth.dao.CoursesDao; +import com.example.gimmegonghakauth.common.infrastructure.CoursesDao; import com.example.gimmegonghakauth.user.infrastructure.UserRepository; import com.example.gimmegonghakauth.completed.domain.CompletedCoursesDomain; -import com.example.gimmegonghakauth.domain.CoursesDomain; +import com.example.gimmegonghakauth.common.domain.CoursesDomain; import com.example.gimmegonghakauth.user.domain.UserDomain; import com.example.gimmegonghakauth.exception.FileException; import java.io.IOException; diff --git a/src/main/java/com/example/gimmegonghakauth/status/controller/StatusController.java b/src/main/java/com/example/gimmegonghakauth/status/controller/StatusController.java index 98a4bee..934b407 100644 --- a/src/main/java/com/example/gimmegonghakauth/status/controller/StatusController.java +++ b/src/main/java/com/example/gimmegonghakauth/status/controller/StatusController.java @@ -1,6 +1,6 @@ package com.example.gimmegonghakauth.status.controller; -import com.example.gimmegonghakauth.constant.AbeekTypeConst; +import com.example.gimmegonghakauth.common.constant.AbeekTypeConst; import com.example.gimmegonghakauth.user.infrastructure.UserRepository; import com.example.gimmegonghakauth.user.domain.UserDomain; import com.example.gimmegonghakauth.status.service.dto.GonghakResultDto.ResultPointDto; diff --git a/src/main/java/com/example/gimmegonghakauth/status/domain/AbeekDomain.java b/src/main/java/com/example/gimmegonghakauth/status/domain/AbeekDomain.java index 5afa496..4349739 100644 --- a/src/main/java/com/example/gimmegonghakauth/status/domain/AbeekDomain.java +++ b/src/main/java/com/example/gimmegonghakauth/status/domain/AbeekDomain.java @@ -1,7 +1,7 @@ package com.example.gimmegonghakauth.status.domain; -import com.example.gimmegonghakauth.constant.AbeekTypeConst; -import com.example.gimmegonghakauth.domain.MajorsDomain; +import com.example.gimmegonghakauth.common.constant.AbeekTypeConst; +import com.example.gimmegonghakauth.common.domain.MajorsDomain; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.EnumType; diff --git a/src/main/java/com/example/gimmegonghakauth/status/domain/GonghakCoursesDomain.java b/src/main/java/com/example/gimmegonghakauth/status/domain/GonghakCoursesDomain.java index 2a479db..c328ab0 100644 --- a/src/main/java/com/example/gimmegonghakauth/status/domain/GonghakCoursesDomain.java +++ b/src/main/java/com/example/gimmegonghakauth/status/domain/GonghakCoursesDomain.java @@ -1,8 +1,8 @@ package com.example.gimmegonghakauth.status.domain; -import com.example.gimmegonghakauth.constant.CourseCategoryConst; -import com.example.gimmegonghakauth.domain.CoursesDomain; -import com.example.gimmegonghakauth.domain.MajorsDomain; +import com.example.gimmegonghakauth.common.constant.CourseCategoryConst; +import com.example.gimmegonghakauth.common.domain.CoursesDomain; +import com.example.gimmegonghakauth.common.domain.MajorsDomain; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.EnumType; diff --git a/src/main/java/com/example/gimmegonghakauth/status/infrastructure/AbeekDao.java b/src/main/java/com/example/gimmegonghakauth/status/infrastructure/AbeekDao.java index 0fc75ed..02b91b5 100644 --- a/src/main/java/com/example/gimmegonghakauth/status/infrastructure/AbeekDao.java +++ b/src/main/java/com/example/gimmegonghakauth/status/infrastructure/AbeekDao.java @@ -1,7 +1,7 @@ package com.example.gimmegonghakauth.status.infrastructure; import com.example.gimmegonghakauth.status.domain.AbeekDomain; -import com.example.gimmegonghakauth.domain.MajorsDomain; +import com.example.gimmegonghakauth.common.domain.MajorsDomain; import java.util.List; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; diff --git a/src/main/java/com/example/gimmegonghakauth/status/infrastructure/GonghakCoursesDao.java b/src/main/java/com/example/gimmegonghakauth/status/infrastructure/GonghakCoursesDao.java index 83b9db9..3491287 100644 --- a/src/main/java/com/example/gimmegonghakauth/status/infrastructure/GonghakCoursesDao.java +++ b/src/main/java/com/example/gimmegonghakauth/status/infrastructure/GonghakCoursesDao.java @@ -1,8 +1,8 @@ package com.example.gimmegonghakauth.status.infrastructure; -import com.example.gimmegonghakauth.constant.CourseCategoryConst; +import com.example.gimmegonghakauth.common.constant.CourseCategoryConst; import com.example.gimmegonghakauth.status.domain.GonghakCoursesDomain; -import com.example.gimmegonghakauth.domain.MajorsDomain; +import com.example.gimmegonghakauth.common.domain.MajorsDomain; import com.example.gimmegonghakauth.status.service.dto.GonghakCoursesByMajorDto; import com.example.gimmegonghakauth.status.service.dto.IncompletedCoursesDto; import java.util.List; diff --git a/src/main/java/com/example/gimmegonghakauth/status/infrastructure/GonghakDao.java b/src/main/java/com/example/gimmegonghakauth/status/infrastructure/GonghakDao.java index 65e90e3..9bc01c4 100644 --- a/src/main/java/com/example/gimmegonghakauth/status/infrastructure/GonghakDao.java +++ b/src/main/java/com/example/gimmegonghakauth/status/infrastructure/GonghakDao.java @@ -1,9 +1,9 @@ package com.example.gimmegonghakauth.status.infrastructure; -import com.example.gimmegonghakauth.constant.AbeekTypeConst; -import com.example.gimmegonghakauth.constant.CourseCategoryConst; +import com.example.gimmegonghakauth.common.constant.AbeekTypeConst; +import com.example.gimmegonghakauth.common.constant.CourseCategoryConst; import com.example.gimmegonghakauth.status.domain.AbeekDomain; -import com.example.gimmegonghakauth.domain.MajorsDomain; +import com.example.gimmegonghakauth.common.domain.MajorsDomain; import com.example.gimmegonghakauth.status.service.dto.GonghakCoursesByMajorDto; import com.example.gimmegonghakauth.status.service.dto.GonghakStandardDto; import com.example.gimmegonghakauth.status.service.dto.IncompletedCoursesDto; diff --git a/src/main/java/com/example/gimmegonghakauth/status/infrastructure/GonghakRepository.java b/src/main/java/com/example/gimmegonghakauth/status/infrastructure/GonghakRepository.java index adb7353..1e825e3 100644 --- a/src/main/java/com/example/gimmegonghakauth/status/infrastructure/GonghakRepository.java +++ b/src/main/java/com/example/gimmegonghakauth/status/infrastructure/GonghakRepository.java @@ -1,8 +1,8 @@ package com.example.gimmegonghakauth.status.infrastructure; -import com.example.gimmegonghakauth.constant.CourseCategoryConst; +import com.example.gimmegonghakauth.common.constant.CourseCategoryConst; import com.example.gimmegonghakauth.status.domain.AbeekDomain; -import com.example.gimmegonghakauth.domain.MajorsDomain; +import com.example.gimmegonghakauth.common.domain.MajorsDomain; import com.example.gimmegonghakauth.status.service.dto.GonghakCoursesByMajorDto; import com.example.gimmegonghakauth.status.service.dto.GonghakStandardDto; import com.example.gimmegonghakauth.status.service.dto.IncompletedCoursesDto; diff --git a/src/main/java/com/example/gimmegonghakauth/status/service/GonghakCalculateService.java b/src/main/java/com/example/gimmegonghakauth/status/service/GonghakCalculateService.java index d35f609..b8d3cae 100644 --- a/src/main/java/com/example/gimmegonghakauth/status/service/GonghakCalculateService.java +++ b/src/main/java/com/example/gimmegonghakauth/status/service/GonghakCalculateService.java @@ -1,6 +1,6 @@ package com.example.gimmegonghakauth.status.service; -import com.example.gimmegonghakauth.constant.AbeekTypeConst; +import com.example.gimmegonghakauth.common.constant.AbeekTypeConst; import com.example.gimmegonghakauth.status.infrastructure.GonghakRepository; import com.example.gimmegonghakauth.status.service.dto.GonghakCoursesByMajorDto; import com.example.gimmegonghakauth.status.service.dto.GonghakResultDto; diff --git a/src/main/java/com/example/gimmegonghakauth/status/service/dto/GonghakCoursesByMajorDto.java b/src/main/java/com/example/gimmegonghakauth/status/service/dto/GonghakCoursesByMajorDto.java index 1d215f8..a62bcef 100644 --- a/src/main/java/com/example/gimmegonghakauth/status/service/dto/GonghakCoursesByMajorDto.java +++ b/src/main/java/com/example/gimmegonghakauth/status/service/dto/GonghakCoursesByMajorDto.java @@ -1,6 +1,6 @@ package com.example.gimmegonghakauth.status.service.dto; -import com.example.gimmegonghakauth.constant.CourseCategoryConst; +import com.example.gimmegonghakauth.common.constant.CourseCategoryConst; import lombok.Getter; import lombok.RequiredArgsConstructor; diff --git a/src/main/java/com/example/gimmegonghakauth/status/service/dto/GonghakRecommendCoursesDto.java b/src/main/java/com/example/gimmegonghakauth/status/service/dto/GonghakRecommendCoursesDto.java index 07f4d53..6599fee 100644 --- a/src/main/java/com/example/gimmegonghakauth/status/service/dto/GonghakRecommendCoursesDto.java +++ b/src/main/java/com/example/gimmegonghakauth/status/service/dto/GonghakRecommendCoursesDto.java @@ -1,6 +1,6 @@ package com.example.gimmegonghakauth.status.service.dto; -import com.example.gimmegonghakauth.constant.AbeekTypeConst; +import com.example.gimmegonghakauth.common.constant.AbeekTypeConst; import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; diff --git a/src/main/java/com/example/gimmegonghakauth/status/service/dto/GonghakResultDto.java b/src/main/java/com/example/gimmegonghakauth/status/service/dto/GonghakResultDto.java index 275b1c9..6883340 100644 --- a/src/main/java/com/example/gimmegonghakauth/status/service/dto/GonghakResultDto.java +++ b/src/main/java/com/example/gimmegonghakauth/status/service/dto/GonghakResultDto.java @@ -1,6 +1,6 @@ package com.example.gimmegonghakauth.status.service.dto; -import com.example.gimmegonghakauth.constant.AbeekTypeConst; +import com.example.gimmegonghakauth.common.constant.AbeekTypeConst; import java.util.Map; import lombok.Getter; import lombok.RequiredArgsConstructor; diff --git a/src/main/java/com/example/gimmegonghakauth/status/service/dto/GonghakStandardDto.java b/src/main/java/com/example/gimmegonghakauth/status/service/dto/GonghakStandardDto.java index 36a966b..826fd79 100644 --- a/src/main/java/com/example/gimmegonghakauth/status/service/dto/GonghakStandardDto.java +++ b/src/main/java/com/example/gimmegonghakauth/status/service/dto/GonghakStandardDto.java @@ -1,7 +1,7 @@ package com.example.gimmegonghakauth.status.service.dto; -import com.example.gimmegonghakauth.constant.AbeekTypeConst; +import com.example.gimmegonghakauth.common.constant.AbeekTypeConst; import java.util.Map; import lombok.Getter; import lombok.RequiredArgsConstructor; diff --git a/src/main/java/com/example/gimmegonghakauth/status/service/dto/IncompletedCoursesDto.java b/src/main/java/com/example/gimmegonghakauth/status/service/dto/IncompletedCoursesDto.java index 8db7d57..0610ab1 100644 --- a/src/main/java/com/example/gimmegonghakauth/status/service/dto/IncompletedCoursesDto.java +++ b/src/main/java/com/example/gimmegonghakauth/status/service/dto/IncompletedCoursesDto.java @@ -1,6 +1,6 @@ package com.example.gimmegonghakauth.status.service.dto; -import com.example.gimmegonghakauth.constant.CourseCategoryConst; +import com.example.gimmegonghakauth.common.constant.CourseCategoryConst; import lombok.Getter; import lombok.RequiredArgsConstructor; diff --git a/src/main/java/com/example/gimmegonghakauth/status/service/recommend/ComputerMajorGonghakRecommendService.java b/src/main/java/com/example/gimmegonghakauth/status/service/recommend/ComputerMajorGonghakRecommendService.java index aa16272..31d55e2 100644 --- a/src/main/java/com/example/gimmegonghakauth/status/service/recommend/ComputerMajorGonghakRecommendService.java +++ b/src/main/java/com/example/gimmegonghakauth/status/service/recommend/ComputerMajorGonghakRecommendService.java @@ -1,8 +1,8 @@ package com.example.gimmegonghakauth.status.service.recommend; -import com.example.gimmegonghakauth.constant.AbeekTypeConst; -import com.example.gimmegonghakauth.constant.CourseCategoryConst; +import com.example.gimmegonghakauth.common.constant.AbeekTypeConst; +import com.example.gimmegonghakauth.common.constant.CourseCategoryConst; import com.example.gimmegonghakauth.status.infrastructure.GonghakRepository; import com.example.gimmegonghakauth.status.service.dto.GonghakRecommendCoursesDto; import com.example.gimmegonghakauth.status.service.dto.GonghakStandardDto; diff --git a/src/main/java/com/example/gimmegonghakauth/status/service/recommend/ElecInfoMajorGonghakRecommendService.java b/src/main/java/com/example/gimmegonghakauth/status/service/recommend/ElecInfoMajorGonghakRecommendService.java index a57b63f..a886259 100644 --- a/src/main/java/com/example/gimmegonghakauth/status/service/recommend/ElecInfoMajorGonghakRecommendService.java +++ b/src/main/java/com/example/gimmegonghakauth/status/service/recommend/ElecInfoMajorGonghakRecommendService.java @@ -1,7 +1,7 @@ package com.example.gimmegonghakauth.status.service.recommend; -import com.example.gimmegonghakauth.constant.AbeekTypeConst; -import com.example.gimmegonghakauth.constant.CourseCategoryConst; +import com.example.gimmegonghakauth.common.constant.AbeekTypeConst; +import com.example.gimmegonghakauth.common.constant.CourseCategoryConst; import com.example.gimmegonghakauth.status.infrastructure.GonghakRepository; import com.example.gimmegonghakauth.status.service.dto.GonghakRecommendCoursesDto; import com.example.gimmegonghakauth.status.service.dto.GonghakStandardDto; diff --git a/src/main/java/com/example/gimmegonghakauth/status/service/recommend/RecommendServiceSelectManager.java b/src/main/java/com/example/gimmegonghakauth/status/service/recommend/RecommendServiceSelectManager.java index a414fa5..378daf0 100644 --- a/src/main/java/com/example/gimmegonghakauth/status/service/recommend/RecommendServiceSelectManager.java +++ b/src/main/java/com/example/gimmegonghakauth/status/service/recommend/RecommendServiceSelectManager.java @@ -2,7 +2,7 @@ import static com.example.gimmegonghakauth.status.domain.MajorName.ELEC_INFO; -import com.example.gimmegonghakauth.domain.MajorsDomain; +import com.example.gimmegonghakauth.common.domain.MajorsDomain; import com.example.gimmegonghakauth.user.infrastructure.UserRepository; import lombok.RequiredArgsConstructor; import org.springframework.context.ApplicationContext; diff --git a/src/main/java/com/example/gimmegonghakauth/user/controller/UserController.java b/src/main/java/com/example/gimmegonghakauth/user/controller/UserController.java index b106945..a15c3c4 100644 --- a/src/main/java/com/example/gimmegonghakauth/user/controller/UserController.java +++ b/src/main/java/com/example/gimmegonghakauth/user/controller/UserController.java @@ -1,6 +1,6 @@ package com.example.gimmegonghakauth.user.controller; -import com.example.gimmegonghakauth.dao.MajorsDao; +import com.example.gimmegonghakauth.common.infrastructure.MajorsDao; import com.example.gimmegonghakauth.user.domain.UserDomain; import com.example.gimmegonghakauth.user.service.dto.ChangePasswordDto; import com.example.gimmegonghakauth.user.service.dto.UserJoinDto; diff --git a/src/main/java/com/example/gimmegonghakauth/user/domain/UserDomain.java b/src/main/java/com/example/gimmegonghakauth/user/domain/UserDomain.java index f602f8a..75f5353 100644 --- a/src/main/java/com/example/gimmegonghakauth/user/domain/UserDomain.java +++ b/src/main/java/com/example/gimmegonghakauth/user/domain/UserDomain.java @@ -1,7 +1,7 @@ package com.example.gimmegonghakauth.user.domain; -import com.example.gimmegonghakauth.domain.MajorsDomain; +import com.example.gimmegonghakauth.common.domain.MajorsDomain; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.FetchType; diff --git a/src/main/java/com/example/gimmegonghakauth/user/service/EmailVerificationService.java b/src/main/java/com/example/gimmegonghakauth/user/service/EmailVerificationService.java index 39f2eb0..9742a4b 100644 --- a/src/main/java/com/example/gimmegonghakauth/user/service/EmailVerificationService.java +++ b/src/main/java/com/example/gimmegonghakauth/user/service/EmailVerificationService.java @@ -1,7 +1,7 @@ package com.example.gimmegonghakauth.user.service; -import com.example.gimmegonghakauth.constant.UnivCertTypeConst; -import com.example.gimmegonghakauth.constant.UnivcertErrorMessageConst; +import com.example.gimmegonghakauth.common.constant.UnivCertTypeConst; +import com.example.gimmegonghakauth.common.constant.UnivcertErrorMessageConst; import com.fasterxml.jackson.databind.ObjectMapper; import com.univcert.api.UnivCert; import org.springframework.beans.factory.annotation.Value; diff --git a/src/main/java/com/example/gimmegonghakauth/user/service/UserService.java b/src/main/java/com/example/gimmegonghakauth/user/service/UserService.java index b5dbbf4..7f3e2be 100644 --- a/src/main/java/com/example/gimmegonghakauth/user/service/UserService.java +++ b/src/main/java/com/example/gimmegonghakauth/user/service/UserService.java @@ -3,7 +3,7 @@ import com.example.gimmegonghakauth.completed.infrastructure.CompletedCoursesDao; import com.example.gimmegonghakauth.user.infrastructure.UserRepository; import com.example.gimmegonghakauth.completed.domain.CompletedCoursesDomain; -import com.example.gimmegonghakauth.domain.MajorsDomain; +import com.example.gimmegonghakauth.common.domain.MajorsDomain; import com.example.gimmegonghakauth.user.domain.UserDomain; import com.example.gimmegonghakauth.user.service.dto.ChangePasswordDto; import com.example.gimmegonghakauth.user.service.dto.UserJoinDto; diff --git a/src/test/java/com/example/gimmegonghakauth/Controller/UserControllerTest.java b/src/test/java/com/example/gimmegonghakauth/Controller/UserControllerTest.java index 1c4cd14..35bc5f7 100644 --- a/src/test/java/com/example/gimmegonghakauth/Controller/UserControllerTest.java +++ b/src/test/java/com/example/gimmegonghakauth/Controller/UserControllerTest.java @@ -5,7 +5,7 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.redirectedUrl; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; -import com.example.gimmegonghakauth.dao.MajorsDao; +import com.example.gimmegonghakauth.common.infrastructure.MajorsDao; import com.example.gimmegonghakauth.mock.FakeUserEncoder; import com.example.gimmegonghakauth.user.infrastructure.UserRepository; import com.example.gimmegonghakauth.user.domain.UserDomain; @@ -17,7 +17,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.security.test.context.support.WithMockUser; import org.springframework.test.context.ActiveProfiles; import org.springframework.test.web.servlet.MockMvc; diff --git a/src/test/java/com/example/gimmegonghakauth/Service/CompletedCoursesServiceDataTest.java b/src/test/java/com/example/gimmegonghakauth/Service/CompletedCoursesServiceDataTest.java index 30f57bf..e7b206b 100644 --- a/src/test/java/com/example/gimmegonghakauth/Service/CompletedCoursesServiceDataTest.java +++ b/src/test/java/com/example/gimmegonghakauth/Service/CompletedCoursesServiceDataTest.java @@ -1,11 +1,11 @@ package com.example.gimmegonghakauth.Service; import com.example.gimmegonghakauth.completed.infrastructure.CompletedCoursesDao; -import com.example.gimmegonghakauth.dao.CoursesDao; -import com.example.gimmegonghakauth.dao.MajorsDao; +import com.example.gimmegonghakauth.common.infrastructure.CoursesDao; +import com.example.gimmegonghakauth.common.infrastructure.MajorsDao; import com.example.gimmegonghakauth.user.infrastructure.UserRepository; import com.example.gimmegonghakauth.completed.domain.CompletedCoursesDomain; -import com.example.gimmegonghakauth.domain.CoursesDomain; +import com.example.gimmegonghakauth.common.domain.CoursesDomain; import com.example.gimmegonghakauth.user.domain.UserDomain; import com.example.gimmegonghakauth.completed.service.CompletedCoursesService; import java.util.ArrayList; diff --git a/src/test/java/com/example/gimmegonghakauth/Service/GonghakCalculateServiceTest.java b/src/test/java/com/example/gimmegonghakauth/Service/GonghakCalculateServiceTest.java index ddaaa29..f5d5cef 100644 --- a/src/test/java/com/example/gimmegonghakauth/Service/GonghakCalculateServiceTest.java +++ b/src/test/java/com/example/gimmegonghakauth/Service/GonghakCalculateServiceTest.java @@ -3,8 +3,8 @@ import static org.assertj.core.api.Assertions.assertThat; import com.example.gimmegonghakauth.Service.GonghakCalculateServiceTest.CalculateTestConfig; -import com.example.gimmegonghakauth.constant.AbeekTypeConst; -import com.example.gimmegonghakauth.domain.MajorsDomain; +import com.example.gimmegonghakauth.common.constant.AbeekTypeConst; +import com.example.gimmegonghakauth.common.domain.MajorsDomain; import com.example.gimmegonghakauth.status.infrastructure.AbeekDao; import com.example.gimmegonghakauth.status.infrastructure.GonghakCoursesDao; import com.example.gimmegonghakauth.status.infrastructure.GonghakDao; diff --git a/src/test/java/com/example/gimmegonghakauth/Service/GonghakRecommendServiceTest.java b/src/test/java/com/example/gimmegonghakauth/Service/GonghakRecommendServiceTest.java index 8c753c9..a5151ac 100644 --- a/src/test/java/com/example/gimmegonghakauth/Service/GonghakRecommendServiceTest.java +++ b/src/test/java/com/example/gimmegonghakauth/Service/GonghakRecommendServiceTest.java @@ -2,7 +2,7 @@ import static org.assertj.core.api.Assertions.assertThat; -import com.example.gimmegonghakauth.constant.AbeekTypeConst; +import com.example.gimmegonghakauth.common.constant.AbeekTypeConst; import com.example.gimmegonghakauth.dto.LoginDto; import com.example.gimmegonghakauth.status.service.dto.IncompletedCoursesDto; import com.example.gimmegonghakauth.status.service.recommend.ComputerMajorGonghakRecommendService; diff --git a/src/test/java/com/example/gimmegonghakauth/Service/UserSecurityServiceTest.java b/src/test/java/com/example/gimmegonghakauth/Service/UserSecurityServiceTest.java index 0f52f70..e8764d5 100644 --- a/src/test/java/com/example/gimmegonghakauth/Service/UserSecurityServiceTest.java +++ b/src/test/java/com/example/gimmegonghakauth/Service/UserSecurityServiceTest.java @@ -6,7 +6,7 @@ import static org.mockito.Mockito.when; import com.example.gimmegonghakauth.user.infrastructure.UserRepository; -import com.example.gimmegonghakauth.domain.MajorsDomain; +import com.example.gimmegonghakauth.common.domain.MajorsDomain; import com.example.gimmegonghakauth.user.domain.UserDomain; import com.example.gimmegonghakauth.user.domain.UserRole; import com.example.gimmegonghakauth.service.UserSecurityService; diff --git a/src/test/java/com/example/gimmegonghakauth/dao/GonghakRepositoryTest.java b/src/test/java/com/example/gimmegonghakauth/dao/GonghakRepositoryTest.java index c5a1118..54517ef 100644 --- a/src/test/java/com/example/gimmegonghakauth/dao/GonghakRepositoryTest.java +++ b/src/test/java/com/example/gimmegonghakauth/dao/GonghakRepositoryTest.java @@ -2,11 +2,13 @@ import static org.assertj.core.api.Assertions.assertThat; +import com.example.gimmegonghakauth.common.infrastructure.CoursesDao; +import com.example.gimmegonghakauth.common.infrastructure.MajorsDao; import com.example.gimmegonghakauth.completed.domain.CompletedCoursesDomain; import com.example.gimmegonghakauth.completed.infrastructure.CompletedCoursesDao; -import com.example.gimmegonghakauth.constant.AbeekTypeConst; -import com.example.gimmegonghakauth.constant.CourseCategoryConst; -import com.example.gimmegonghakauth.domain.MajorsDomain; +import com.example.gimmegonghakauth.common.constant.AbeekTypeConst; +import com.example.gimmegonghakauth.common.constant.CourseCategoryConst; +import com.example.gimmegonghakauth.common.domain.MajorsDomain; import com.example.gimmegonghakauth.status.domain.MajorName; import com.example.gimmegonghakauth.status.infrastructure.GonghakRepository; import com.example.gimmegonghakauth.status.service.dto.GonghakCoursesByMajorDto; diff --git a/src/test/java/com/example/gimmegonghakauth/domain/DomainTest.java b/src/test/java/com/example/gimmegonghakauth/domain/DomainTest.java index 83c0fd2..78873d3 100644 --- a/src/test/java/com/example/gimmegonghakauth/domain/DomainTest.java +++ b/src/test/java/com/example/gimmegonghakauth/domain/DomainTest.java @@ -3,8 +3,9 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; -import com.example.gimmegonghakauth.constant.AbeekTypeConst; -import com.example.gimmegonghakauth.dao.MajorsDao; +import com.example.gimmegonghakauth.common.domain.MajorsDomain; +import com.example.gimmegonghakauth.common.constant.AbeekTypeConst; +import com.example.gimmegonghakauth.common.infrastructure.MajorsDao; import com.example.gimmegonghakauth.domain.DomainTest.DomainTestConfig; import com.example.gimmegonghakauth.status.domain.AbeekDomain; import com.example.gimmegonghakauth.status.infrastructure.AbeekDao; From 57769a9c443892447a44a9373c571e5cc2506c23 Mon Sep 17 00:00:00 2001 From: Taehyeon Jo <70999462+whxogus215@users.noreply.github.com> Date: Thu, 31 Oct 2024 16:38:42 +0900 Subject: [PATCH 4/7] =?UTF-8?q?refactor:=20auth=20=EC=83=81=EC=9C=84=20?= =?UTF-8?q?=EA=B0=9C=EB=85=90=EC=9C=BC=EB=A1=9C=20=ED=8C=A8=ED=82=A4?= =?UTF-8?q?=EC=A7=80=20=EB=A6=AC=ED=8C=A9=ED=86=A0=EB=A7=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gimmegonghakauth/{ => auth}/config/SecurityConfig.java | 2 +- .../{ => auth}/service/UserSecurityService.java | 2 +- .../gimmegonghakauth/Service/UserSecurityServiceTest.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) rename src/main/java/com/example/gimmegonghakauth/{ => auth}/config/SecurityConfig.java (98%) rename src/main/java/com/example/gimmegonghakauth/{ => auth}/service/UserSecurityService.java (98%) diff --git a/src/main/java/com/example/gimmegonghakauth/config/SecurityConfig.java b/src/main/java/com/example/gimmegonghakauth/auth/config/SecurityConfig.java similarity index 98% rename from src/main/java/com/example/gimmegonghakauth/config/SecurityConfig.java rename to src/main/java/com/example/gimmegonghakauth/auth/config/SecurityConfig.java index 615a0af..8599749 100644 --- a/src/main/java/com/example/gimmegonghakauth/config/SecurityConfig.java +++ b/src/main/java/com/example/gimmegonghakauth/auth/config/SecurityConfig.java @@ -1,4 +1,4 @@ -package com.example.gimmegonghakauth.config; +package com.example.gimmegonghakauth.auth.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; diff --git a/src/main/java/com/example/gimmegonghakauth/service/UserSecurityService.java b/src/main/java/com/example/gimmegonghakauth/auth/service/UserSecurityService.java similarity index 98% rename from src/main/java/com/example/gimmegonghakauth/service/UserSecurityService.java rename to src/main/java/com/example/gimmegonghakauth/auth/service/UserSecurityService.java index 759fcaa..00251c4 100644 --- a/src/main/java/com/example/gimmegonghakauth/service/UserSecurityService.java +++ b/src/main/java/com/example/gimmegonghakauth/auth/service/UserSecurityService.java @@ -1,4 +1,4 @@ -package com.example.gimmegonghakauth.service; +package com.example.gimmegonghakauth.auth.service; import com.example.gimmegonghakauth.user.infrastructure.UserRepository; import com.example.gimmegonghakauth.user.domain.UserDomain; diff --git a/src/test/java/com/example/gimmegonghakauth/Service/UserSecurityServiceTest.java b/src/test/java/com/example/gimmegonghakauth/Service/UserSecurityServiceTest.java index e8764d5..3028cb8 100644 --- a/src/test/java/com/example/gimmegonghakauth/Service/UserSecurityServiceTest.java +++ b/src/test/java/com/example/gimmegonghakauth/Service/UserSecurityServiceTest.java @@ -9,7 +9,7 @@ import com.example.gimmegonghakauth.common.domain.MajorsDomain; import com.example.gimmegonghakauth.user.domain.UserDomain; import com.example.gimmegonghakauth.user.domain.UserRole; -import com.example.gimmegonghakauth.service.UserSecurityService; +import com.example.gimmegonghakauth.auth.service.UserSecurityService; import java.util.Optional; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; From d2e88b359d9e71ef1674d89504b5891b53f5c973 Mon Sep 17 00:00:00 2001 From: Taehyeon Jo <70999462+whxogus215@users.noreply.github.com> Date: Thu, 31 Oct 2024 16:39:55 +0900 Subject: [PATCH 5/7] =?UTF-8?q?refactor:=20exception=20=ED=8C=A8=ED=82=A4?= =?UTF-8?q?=EC=A7=80=EB=A5=BC=20service=20=ED=8C=A8=ED=82=A4=EC=A7=80=20?= =?UTF-8?q?=ED=95=98=EC=9C=84=EB=A1=9C=20=EC=9D=B4=EB=8F=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../completed/controller/CompletedCoursesController.java | 2 +- .../completed/service/CompletedCoursesService.java | 2 +- .../{ => completed/service}/exception/FileException.java | 2 +- .../com/example/gimmegonghakauth/user/service/UserService.java | 2 +- .../{ => user/service}/exception/UserNotFoundException.java | 2 +- .../example/gimmegonghakauth/user/service/UserServiceTest.java | 3 +-- 6 files changed, 6 insertions(+), 7 deletions(-) rename src/main/java/com/example/gimmegonghakauth/{ => completed/service}/exception/FileException.java (63%) rename src/main/java/com/example/gimmegonghakauth/{ => user/service}/exception/UserNotFoundException.java (73%) diff --git a/src/main/java/com/example/gimmegonghakauth/completed/controller/CompletedCoursesController.java b/src/main/java/com/example/gimmegonghakauth/completed/controller/CompletedCoursesController.java index ecff36c..32096ea 100644 --- a/src/main/java/com/example/gimmegonghakauth/completed/controller/CompletedCoursesController.java +++ b/src/main/java/com/example/gimmegonghakauth/completed/controller/CompletedCoursesController.java @@ -1,7 +1,7 @@ package com.example.gimmegonghakauth.completed.controller; import com.example.gimmegonghakauth.completed.domain.CompletedCoursesDomain; -import com.example.gimmegonghakauth.exception.FileException; +import com.example.gimmegonghakauth.completed.service.exception.FileException; import com.example.gimmegonghakauth.completed.service.CompletedCoursesService; import org.springframework.security.core.Authentication; import org.springframework.security.core.userdetails.UserDetails; diff --git a/src/main/java/com/example/gimmegonghakauth/completed/service/CompletedCoursesService.java b/src/main/java/com/example/gimmegonghakauth/completed/service/CompletedCoursesService.java index de28a40..c181a58 100644 --- a/src/main/java/com/example/gimmegonghakauth/completed/service/CompletedCoursesService.java +++ b/src/main/java/com/example/gimmegonghakauth/completed/service/CompletedCoursesService.java @@ -6,7 +6,7 @@ import com.example.gimmegonghakauth.completed.domain.CompletedCoursesDomain; import com.example.gimmegonghakauth.common.domain.CoursesDomain; import com.example.gimmegonghakauth.user.domain.UserDomain; -import com.example.gimmegonghakauth.exception.FileException; +import com.example.gimmegonghakauth.completed.service.exception.FileException; import java.io.IOException; import java.util.ArrayList; import java.util.List; diff --git a/src/main/java/com/example/gimmegonghakauth/exception/FileException.java b/src/main/java/com/example/gimmegonghakauth/completed/service/exception/FileException.java similarity index 63% rename from src/main/java/com/example/gimmegonghakauth/exception/FileException.java rename to src/main/java/com/example/gimmegonghakauth/completed/service/exception/FileException.java index 6e33138..04216d6 100644 --- a/src/main/java/com/example/gimmegonghakauth/exception/FileException.java +++ b/src/main/java/com/example/gimmegonghakauth/completed/service/exception/FileException.java @@ -1,4 +1,4 @@ -package com.example.gimmegonghakauth.exception; +package com.example.gimmegonghakauth.completed.service.exception; public class FileException extends RuntimeException { diff --git a/src/main/java/com/example/gimmegonghakauth/user/service/UserService.java b/src/main/java/com/example/gimmegonghakauth/user/service/UserService.java index 7f3e2be..2f2f701 100644 --- a/src/main/java/com/example/gimmegonghakauth/user/service/UserService.java +++ b/src/main/java/com/example/gimmegonghakauth/user/service/UserService.java @@ -7,7 +7,7 @@ import com.example.gimmegonghakauth.user.domain.UserDomain; import com.example.gimmegonghakauth.user.service.dto.ChangePasswordDto; import com.example.gimmegonghakauth.user.service.dto.UserJoinDto; -import com.example.gimmegonghakauth.exception.UserNotFoundException; +import com.example.gimmegonghakauth.user.service.exception.UserNotFoundException; import com.example.gimmegonghakauth.user.service.port.UserEncoder; import java.util.List; import lombok.RequiredArgsConstructor; diff --git a/src/main/java/com/example/gimmegonghakauth/exception/UserNotFoundException.java b/src/main/java/com/example/gimmegonghakauth/user/service/exception/UserNotFoundException.java similarity index 73% rename from src/main/java/com/example/gimmegonghakauth/exception/UserNotFoundException.java rename to src/main/java/com/example/gimmegonghakauth/user/service/exception/UserNotFoundException.java index beb8afc..493754a 100644 --- a/src/main/java/com/example/gimmegonghakauth/exception/UserNotFoundException.java +++ b/src/main/java/com/example/gimmegonghakauth/user/service/exception/UserNotFoundException.java @@ -1,4 +1,4 @@ -package com.example.gimmegonghakauth.exception; +package com.example.gimmegonghakauth.user.service.exception; public class UserNotFoundException extends RuntimeException { diff --git a/src/test/java/com/example/gimmegonghakauth/user/service/UserServiceTest.java b/src/test/java/com/example/gimmegonghakauth/user/service/UserServiceTest.java index 7058964..cfe85e3 100644 --- a/src/test/java/com/example/gimmegonghakauth/user/service/UserServiceTest.java +++ b/src/test/java/com/example/gimmegonghakauth/user/service/UserServiceTest.java @@ -3,9 +3,8 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; -import com.example.gimmegonghakauth.exception.UserNotFoundException; +import com.example.gimmegonghakauth.user.service.exception.UserNotFoundException; import com.example.gimmegonghakauth.user.domain.UserDomain; -import org.junit.jupiter.api.Nested; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; From 0fafe1a00047337fafba340e2bb4b3436d7a87d1 Mon Sep 17 00:00:00 2001 From: Taehyeon Jo <70999462+whxogus215@users.noreply.github.com> Date: Thu, 31 Oct 2024 16:40:50 +0900 Subject: [PATCH 6/7] =?UTF-8?q?refcator:=20=ED=85=8C=EC=8A=A4=ED=8A=B8?= =?UTF-8?q?=EC=9A=A9=20dto=EB=8A=94=20test=20=ED=95=98=EC=9C=84=20?= =?UTF-8?q?=ED=8C=A8=ED=82=A4=EC=A7=80=EB=A1=9C=20=EC=9D=B4=EB=8F=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gimmegonghakauth/Service/GonghakRecommendServiceTest.java | 2 +- .../com/example/gimmegonghakauth/Service}/dto/LoginDto.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) rename src/{main/java/com/example/gimmegonghakauth => test/java/com/example/gimmegonghakauth/Service}/dto/LoginDto.java (86%) diff --git a/src/test/java/com/example/gimmegonghakauth/Service/GonghakRecommendServiceTest.java b/src/test/java/com/example/gimmegonghakauth/Service/GonghakRecommendServiceTest.java index a5151ac..e3611e3 100644 --- a/src/test/java/com/example/gimmegonghakauth/Service/GonghakRecommendServiceTest.java +++ b/src/test/java/com/example/gimmegonghakauth/Service/GonghakRecommendServiceTest.java @@ -3,7 +3,7 @@ import static org.assertj.core.api.Assertions.assertThat; import com.example.gimmegonghakauth.common.constant.AbeekTypeConst; -import com.example.gimmegonghakauth.dto.LoginDto; +import com.example.gimmegonghakauth.Service.dto.LoginDto; import com.example.gimmegonghakauth.status.service.dto.IncompletedCoursesDto; import com.example.gimmegonghakauth.status.service.recommend.ComputerMajorGonghakRecommendService; import com.example.gimmegonghakauth.status.service.recommend.GonghakRecommendService; diff --git a/src/main/java/com/example/gimmegonghakauth/dto/LoginDto.java b/src/test/java/com/example/gimmegonghakauth/Service/dto/LoginDto.java similarity index 86% rename from src/main/java/com/example/gimmegonghakauth/dto/LoginDto.java rename to src/test/java/com/example/gimmegonghakauth/Service/dto/LoginDto.java index 507bd98..77396d2 100644 --- a/src/main/java/com/example/gimmegonghakauth/dto/LoginDto.java +++ b/src/test/java/com/example/gimmegonghakauth/Service/dto/LoginDto.java @@ -1,4 +1,4 @@ -package com.example.gimmegonghakauth.dto; +package com.example.gimmegonghakauth.Service.dto; import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotNull; From cc1ddf80c3f00ed4c76dc693767d87e23ff6d5b9 Mon Sep 17 00:00:00 2001 From: Taehyeon Jo <70999462+whxogus215@users.noreply.github.com> Date: Thu, 31 Oct 2024 17:01:05 +0900 Subject: [PATCH 7/7] =?UTF-8?q?fix:=20=EB=B3=80=EA=B2=BD=EB=90=9C=20?= =?UTF-8?q?=ED=8C=A8=ED=82=A4=EC=A7=80=EB=A1=9C=20=EC=9D=B8=ED=95=9C=20?= =?UTF-8?q?=EB=A9=94=EC=9D=B8/=ED=85=8C=EC=8A=A4=ED=8A=B8=20=EC=BD=94?= =?UTF-8?q?=EB=93=9C=20=EC=8B=A4=ED=96=89=20=EC=8B=A4=ED=8C=A8=20=EB=AC=B8?= =?UTF-8?q?=EC=A0=9C=20=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 도메인형으로 패키지를 변경함에 따라 Native Query로 작성된 패키지도 변경하였습니다." --- .../status/infrastructure/GonghakCoursesDao.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/example/gimmegonghakauth/status/infrastructure/GonghakCoursesDao.java b/src/main/java/com/example/gimmegonghakauth/status/infrastructure/GonghakCoursesDao.java index 3491287..0994fa0 100644 --- a/src/main/java/com/example/gimmegonghakauth/status/infrastructure/GonghakCoursesDao.java +++ b/src/main/java/com/example/gimmegonghakauth/status/infrastructure/GonghakCoursesDao.java @@ -14,12 +14,12 @@ @Repository public interface GonghakCoursesDao extends JpaRepository { - @Query("select new com.example.gimmegonghakauth.dto.GonghakCoursesByMajorDto(GCD.coursesDomain.courseId, GCD.coursesDomain.name, GCD.year, GCD.courseCategory, GCD.passCategory, GCD.designCredit, GCD.coursesDomain.credit) from GonghakCoursesDomain GCD " + @Query("select new com.example.gimmegonghakauth.status.service.dto.GonghakCoursesByMajorDto(GCD.coursesDomain.courseId, GCD.coursesDomain.name, GCD.year, GCD.courseCategory, GCD.passCategory, GCD.designCredit, GCD.coursesDomain.credit) from GonghakCoursesDomain GCD " + "join CompletedCoursesDomain CCD on GCD.coursesDomain = CCD.coursesDomain " + "where CCD.userDomain.studentId =:studentId and GCD.majorsDomain.id = :majorsId and GCD.year = :year") List findUserCompletedCourses(@Param("studentId") Long studentId, @Param("majorsId") Long majorId, @Param("year") Long year); - @Query("select new com.example.gimmegonghakauth.dto.IncompletedCoursesDto(GCD.coursesDomain.name, GCD.courseCategory, GCD.coursesDomain.credit, GCD.designCredit) from GonghakCoursesDomain GCD " + @Query("select new com.example.gimmegonghakauth.status.service.dto.IncompletedCoursesDto(GCD.coursesDomain.name, GCD.courseCategory, GCD.coursesDomain.credit, GCD.designCredit) from GonghakCoursesDomain GCD " + "left join CompletedCoursesDomain CCD on CCD.coursesDomain = GCD.coursesDomain " + "where GCD.majorsDomain = :majorsDomain and GCD.year = :year and GCD.courseCategory = :courseCategory and CCD.id is null and :studentId is not null") List findUserIncompletedCourses(@Param("courseCategory") CourseCategoryConst courseCategory, @Param("studentId") Long studentId, @Param("majorsDomain") MajorsDomain majorsDomain, @Param("year") Long year);