From 7b4e2104013f2792fe84f686a6288c4ae412b644 Mon Sep 17 00:00:00 2001 From: Hyunmin Choi Date: Sat, 1 Feb 2025 12:38:14 +0900 Subject: [PATCH] =?UTF-8?q?[FEATURE]=202024=ED=95=99=EB=B2=88=20=EA=B7=A0?= =?UTF-8?q?=ED=98=95=EA=B5=90=EC=96=91=20=EC=98=81=EC=97=AD=20=EC=88=98?= =?UTF-8?q?=EC=A0=95=20(#190)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fix: 2024학번 균형교양 영역 수정 (#189) --- .../server/domain/auth/dto/AuthCourseResponseDto.java | 4 ++-- .../domain/course/service/CourseCommandService.java | 2 +- .../com/smunity/server/global/common/entity/Member.java | 8 ++++++-- .../server/global/common/entity/enums/SubDomain.java | 9 +++++++-- 4 files changed, 16 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/smunity/server/domain/auth/dto/AuthCourseResponseDto.java b/src/main/java/com/smunity/server/domain/auth/dto/AuthCourseResponseDto.java index 82e1595..1c0d35c 100644 --- a/src/main/java/com/smunity/server/domain/auth/dto/AuthCourseResponseDto.java +++ b/src/main/java/com/smunity/server/domain/auth/dto/AuthCourseResponseDto.java @@ -46,7 +46,7 @@ private static String getDomain(String domain) { return !Objects.equals(domain, "*") ? domain : null; } - public Course toEntity() { + public Course toEntity(boolean isNewCurriculum) { return Course.builder() .name(name) .number(number) @@ -55,7 +55,7 @@ public Course toEntity() { .type(type) .domain(domain) .category(Category.of(type)) - .subDomain(domain != null ? SubDomain.of(domain) : null) + .subDomain(domain != null ? SubDomain.of(domain, isNewCurriculum) : null) .credit(credit) .build(); } diff --git a/src/main/java/com/smunity/server/domain/course/service/CourseCommandService.java b/src/main/java/com/smunity/server/domain/course/service/CourseCommandService.java index 35863c0..4a09bc3 100644 --- a/src/main/java/com/smunity/server/domain/course/service/CourseCommandService.java +++ b/src/main/java/com/smunity/server/domain/course/service/CourseCommandService.java @@ -46,7 +46,7 @@ private boolean isValidCourse(Long memberId, AuthCourseResponseDto dto) { } private Course toCourse(AuthCourseResponseDto dto, Member member) { - Course course = dto.toEntity(); + Course course = dto.toEntity(member.isNewCurriculum()); course.setMember(member); return course; } diff --git a/src/main/java/com/smunity/server/global/common/entity/Member.java b/src/main/java/com/smunity/server/global/common/entity/Member.java index fd615e1..75862b5 100644 --- a/src/main/java/com/smunity/server/global/common/entity/Member.java +++ b/src/main/java/com/smunity/server/global/common/entity/Member.java @@ -14,7 +14,7 @@ import java.util.ArrayList; import java.util.List; -import static com.smunity.server.global.common.entity.enums.SubDomain.*; +import static com.smunity.server.global.common.entity.enums.SubDomain.BALANCE_NATURAL_ENGINEER; @Entity @Getter @@ -126,7 +126,7 @@ public List getCompletedNumbers() { public SubDomain getSubDomain() { SubDomain subDomain = department.getSubDomain(); - return year.getValue() >= 2024 && (subDomain.equals(BALANCE_NATURAL) || subDomain.equals(BALANCE_ENGINEER)) ? BALANCE_NATURAL_ENGINEER : subDomain; + return isNewCurriculum() && subDomain.isNaturalOrEngineer() ? BALANCE_NATURAL_ENGINEER : subDomain; } public boolean checkCompleted(SubDomain subDomain) { @@ -134,4 +134,8 @@ public boolean checkCompleted(SubDomain subDomain) { .map(Course::getSubDomain) .anyMatch(subDomain::equals); } + + public boolean isNewCurriculum() { + return year.getValue() >= 2024; + } } diff --git a/src/main/java/com/smunity/server/global/common/entity/enums/SubDomain.java b/src/main/java/com/smunity/server/global/common/entity/enums/SubDomain.java index 5df80f6..65a031f 100644 --- a/src/main/java/com/smunity/server/global/common/entity/enums/SubDomain.java +++ b/src/main/java/com/smunity/server/global/common/entity/enums/SubDomain.java @@ -30,8 +30,13 @@ public enum SubDomain { private final String name; - public static SubDomain of(String name) { - return hasEngMath(name) ? BASIC_ENG_MATH : findByName(name); + public boolean isNaturalOrEngineer() { + return equals(BALANCE_NATURAL) || equals(BALANCE_ENGINEER); + } + + public static SubDomain of(String name, boolean isNewCurriculum) { + SubDomain subDomain = hasEngMath(name) ? BASIC_ENG_MATH : findByName(name); + return isNewCurriculum && subDomain.isNaturalOrEngineer() ? BALANCE_NATURAL_ENGINEER : subDomain; } private static SubDomain findByName(String name) {