diff --git a/src/main/java/com/example/gimmegonghakauth/InitData.java b/src/main/java/com/example/gimmegonghakauth/InitData.java index c407a45..6d271b3 100644 --- a/src/main/java/com/example/gimmegonghakauth/InitData.java +++ b/src/main/java/com/example/gimmegonghakauth/InitData.java @@ -49,37 +49,37 @@ public void initDatabase() { majorsDao.save(computerMajor); majorsDao.save(elecInfoMajor); - //19학년도 computerMajor + //24학년도 computerMajor AbeekDomainBuilder abeek1 = AbeekDomain.builder() .abeekType(AbeekTypeConst.BSM) .majorsDomain(computerMajor) .note("this is a test note") - .year(19) + .year(24) .minCredit(18); AbeekDomainBuilder abeek2 = AbeekDomain.builder() .abeekType(AbeekTypeConst.PROFESSIONAL_NON_MAJOR) .majorsDomain(computerMajor) .note("this is a test note") - .year(19) + .year(24) .minCredit(14); AbeekDomainBuilder abeek3 = AbeekDomain.builder() .abeekType(AbeekTypeConst.DESIGN) .majorsDomain(computerMajor) .note("this is a test note") - .year(19) - .minCredit(12); + .year(24) + .minCredit(10); AbeekDomainBuilder abeek4 = AbeekDomain.builder() .abeekType(AbeekTypeConst.MAJOR) .majorsDomain(computerMajor) .note("this is a test note") - .year(19) - .minCredit(60); + .year(24) + .minCredit(45); AbeekDomainBuilder abeek5 = AbeekDomain.builder() .abeekType(AbeekTypeConst.MINIMUM_CERTI) .majorsDomain(computerMajor) .note("this is a test note") - .year(19) - .minCredit(92); + .year(24) + .minCredit(77); abeekDao.save(abeek1.build()); abeekDao.save(abeek2.build()); @@ -87,37 +87,37 @@ public void initDatabase() { abeekDao.save(abeek4.build()); abeekDao.save(abeek5.build()); - //19학년도 전정통 + //24학년도 전정통 AbeekDomainBuilder abeek21 = AbeekDomain.builder() .abeekType(AbeekTypeConst.MSC) .majorsDomain(elecInfoMajor) .note("this is a test note") - .year(19) - .minCredit(30); + .year(24) + .minCredit(27); AbeekDomainBuilder abeek22 = AbeekDomain.builder() .abeekType(AbeekTypeConst.PROFESSIONAL_NON_MAJOR) .majorsDomain(elecInfoMajor) .note("this is a test note") - .year(19) + .year(24) .minCredit(14); AbeekDomainBuilder abeek23 = AbeekDomain.builder() .abeekType(AbeekTypeConst.DESIGN) .majorsDomain(elecInfoMajor) .note("this is a test note") - .year(19) + .year(24) .minCredit(9); AbeekDomainBuilder abeek24 = AbeekDomain.builder() .abeekType(AbeekTypeConst.MAJOR) .majorsDomain(elecInfoMajor) .note("this is a test note") - .year(19) - .minCredit(54); + .year(24) + .minCredit(45); AbeekDomainBuilder abeek25 = AbeekDomain.builder() .abeekType(AbeekTypeConst.MINIMUM_CERTI) .majorsDomain(elecInfoMajor) .note("this is a test note") - .year(19) - .minCredit(98); + .year(24) + .minCredit(86); abeekDao.save(abeek21.build()); abeekDao.save(abeek22.build()); diff --git a/src/main/java/com/example/gimmegonghakauth/dao/GonghakDao.java b/src/main/java/com/example/gimmegonghakauth/dao/GonghakDao.java index 1d49f98..16b5049 100644 --- a/src/main/java/com/example/gimmegonghakauth/dao/GonghakDao.java +++ b/src/main/java/com/example/gimmegonghakauth/dao/GonghakDao.java @@ -23,6 +23,7 @@ public class GonghakDao implements GonghakRepository{ private static final int DIVIDER = 1000000; + private static final int LATEST_YEAR = 24; private final AbeekDao abeekDao; private final GonghakCoursesDao gonghakCoursesDao; @@ -32,12 +33,10 @@ public AbeekDomain save(AbeekDomain abeekDomain) { return abeekDomain; } - // 학번 입학년도를 기준으로 해당 년도의 abeekType(영역별 구분),minCredit(영역별 인증학점) 불러온다. + // 최신년도의 abeekType(영역별 구분),minCredit(영역별 인증학점) 불러온다. @Override - public Optional findStandard(Long studentId, MajorsDomain majorsDomain) { - int year = (int) (studentId/DIVIDER); -// log.info("year = {}",year); - return changeToGonghakStandardDto(majorsDomain, year); + public Optional findStandard(MajorsDomain majorsDomain){ + return changeToGonghakStandardDto(majorsDomain, LATEST_YEAR); } // gonghakCourse 중 이수한 과목을 불러온다. @@ -60,8 +59,6 @@ private Optional changeToGonghakStandardDto(MajorsDomain maj // year, major를 기준으로 abeek 데이터를 불러온다. List allByYearAndMajorsDomain = abeekDao.findAllByYearAndMajorsDomain(year, majorsDomain); - log.info("allByYearAndMajorsDomain.isEmpty() = {}", allByYearAndMajorsDomain.isEmpty()); - // abeek을 기반으로 abeekType(영역별 구분),minCredit(영역별 인증학점) 저장한다. allByYearAndMajorsDomain.forEach( abeekDomain -> { diff --git a/src/main/java/com/example/gimmegonghakauth/dao/GonghakRepository.java b/src/main/java/com/example/gimmegonghakauth/dao/GonghakRepository.java index b104cb2..5fa08ed 100644 --- a/src/main/java/com/example/gimmegonghakauth/dao/GonghakRepository.java +++ b/src/main/java/com/example/gimmegonghakauth/dao/GonghakRepository.java @@ -15,7 +15,7 @@ public interface GonghakRepository { AbeekDomain save(AbeekDomain abeekDomain); - Optional findStandard(Long studentId, MajorsDomain majorsDomain); + Optional findStandard(MajorsDomain majorsDomain); List findUserCompletedCourses(Long studentId, MajorsDomain majorsDomain); diff --git a/src/main/java/com/example/gimmegonghakauth/service/GonghakCalculateService.java b/src/main/java/com/example/gimmegonghakauth/service/GonghakCalculateService.java index 0e65320..3394c07 100644 --- a/src/main/java/com/example/gimmegonghakauth/service/GonghakCalculateService.java +++ b/src/main/java/com/example/gimmegonghakauth/service/GonghakCalculateService.java @@ -27,7 +27,7 @@ public Optional getResultRatio(UserDomain userDomain) { // findStandard -> 학번 입학년도를 기준으로 해당 년도의 abeekType(영역별 구분),minCredit(영역별 인증학점) 불러온다. Optional standard = gonghakRepository.findStandard( - userDomain.getStudentId(), userDomain.getMajorsDomain()); + userDomain.getMajorsDomain()); // default user abeek 학점 상태 map Map userAbeekCredit = getUserAbeekCreditDefault( diff --git a/src/main/java/com/example/gimmegonghakauth/service/recommend/ComputerMajorGonghakRecommendService.java b/src/main/java/com/example/gimmegonghakauth/service/recommend/ComputerMajorGonghakRecommendService.java index 0866dfe..0ab1304 100644 --- a/src/main/java/com/example/gimmegonghakauth/service/recommend/ComputerMajorGonghakRecommendService.java +++ b/src/main/java/com/example/gimmegonghakauth/service/recommend/ComputerMajorGonghakRecommendService.java @@ -29,8 +29,7 @@ public GonghakRecommendCoursesDto createRecommendCourses(UserDomain userDomain) GonghakRecommendCoursesDto gonghakRecommendCoursesDto = new GonghakRecommendCoursesDto(); // findStandard -> 학번 입학년도를 기준으로 해당 년도의 abeekType(영역별 구분),minCredit(영역별 인증학점) 불러온다. - Optional standard = gonghakRepository.findStandard( - userDomain.getStudentId(), userDomain.getMajorsDomain()); + Optional standard = gonghakRepository.findStandard(userDomain.getMajorsDomain()); // 수강하지 않은 과목 중 "전문 교양" 과목을 반환한다. List professionalNonMajor = gonghakRepository.findUserIncompletedCourses( diff --git a/src/main/java/com/example/gimmegonghakauth/service/recommend/ElecInfoMajorGonghakRecommendService.java b/src/main/java/com/example/gimmegonghakauth/service/recommend/ElecInfoMajorGonghakRecommendService.java index f81149e..5b85feb 100644 --- a/src/main/java/com/example/gimmegonghakauth/service/recommend/ElecInfoMajorGonghakRecommendService.java +++ b/src/main/java/com/example/gimmegonghakauth/service/recommend/ElecInfoMajorGonghakRecommendService.java @@ -28,8 +28,7 @@ public GonghakRecommendCoursesDto createRecommendCourses(UserDomain userDomain) GonghakRecommendCoursesDto gonghakRecommendCoursesDto = new GonghakRecommendCoursesDto(); // findStandard -> 학번 입학년도를 기준으로 해당 년도의 abeekType(영역별 구분),minCredit(영역별 인증학점) 불러온다. - Optional standard = gonghakRepository.findStandard( - userDomain.getStudentId(), userDomain.getMajorsDomain()); + Optional standard = gonghakRepository.findStandard(userDomain.getMajorsDomain()); // 수강하지 않은 과목 중 "전문 교양" 과목을 반환한다. List professionalNonMajor = gonghakRepository.findUserIncompletedCourses( diff --git a/src/test/java/com/example/gimmegonghakauth/dao/GonghakRepositoryTest.java b/src/test/java/com/example/gimmegonghakauth/dao/GonghakRepositoryTest.java index 2edd5a1..4adfa7a 100644 --- a/src/test/java/com/example/gimmegonghakauth/dao/GonghakRepositoryTest.java +++ b/src/test/java/com/example/gimmegonghakauth/dao/GonghakRepositoryTest.java @@ -78,7 +78,7 @@ void displayDaoMethod(){ @Test @DisplayName("GonghakStandardDto 5가지 상태 모두 포함되어있는지 확인") void findStandardKeySetTest() { - Optional standard = gonghakRepository.findStandard(COM_TEST_STUDENT_ID, COM_TEST_MAJORDOMAIN); + Optional standard = gonghakRepository.findStandard(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); @@ -140,9 +140,7 @@ void findUserCoursesByMajorByGonghakCoursesWithoutCompleteCoursesTest(){ @Test @DisplayName("findStandard가 없을 때 - Wrong Major") void findStandardWrongMajorDomainTest(){ - Optional wrongStandard = gonghakRepository.findStandard( - COM_TEST_STUDENT_ID, - WRONG_TEST_MAJORDOMAIN); + Optional wrongStandard = gonghakRepository.findStandard(WRONG_TEST_MAJORDOMAIN); assertThat(wrongStandard.get().getStandards().isEmpty()).isEqualTo(true); } }