-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* feat: 부전공 학생 졸업 요건 조정 자유선택 졸업 학점 -> 0 * refactor: FindMajorPort 메서드 시그니처 수정 * feat: SubMajor DetailGraduationResult 생성 구현 * feat: 부전공 졸업 검사 전체 결과 response & user MajorResponse 추가 * feat: jackson - null값 필드 생략 설정 추가 * refactor: 복수전공 파싱 추가 * refactor: 불필요 어노테이션 삭제 * refactor: warning 제거 * refactor: 불필요 주석 삭제 * chore: dn-rule 워크플로우 스크립트 작성 (#237) * chore: dn-rule 워크플로우 스크립트 작성 * chore: dn-rule 워크플로우 스크립트 수정 * chore: dn-rule 워크플로우 스크립트 수정 * chore: dn-rule 워크플로우 스크립트 수정 * chore: dn-rule 워크플로우 pull_request 적용 타입 수정 * chore: dn-rule 워크플로우 수정 * refactor: 리뷰내용 반영 * chore: 깃헙 워크플로우 action 버전 수정 * build: 불필요 의존성 제거 * chore: 깃헙 워크플로우 삭제 * chore: pr-test 워크플로우 수정 * chore: pr-test 워크플로우 수정 * chore: 워크플로우 스크립트 버전 수정 * chore: application-test.yml database dialect 명시 * chore: application-test.yml database dialect 수정 * chore: testContainer를 위한 docker 설치 step 추가 * chore: testContainer를 위한 docker 설치 step 추가 * chore: 워크플로우 수정 * chore: 워크플로우 수정 * chore: 워크플로우 수정 * chore: 워크플로우 수정 * chore: 워크플로우 수정 * chore: 워크플로우 수정 * chore: 워크플로우 테스트 * refactor: 복수전공 상세 졸업결과 카테고리 미 존재 시 exception 제거 * test: 과목 검색 오류 수정 테스트 수정 폐지 여부가 반대로 나오는 오류 수정 * test: 과목 검색 오류 수정 테스트 수정 폐지 여부가 반대로 나오는 오류 수정 * chore: dn-rule 수정 * chore: 워크플로우 스크립트 버전 수정
- Loading branch information
Showing
24 changed files
with
418 additions
and
97 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -36,7 +36,7 @@ jobs: | |
# Gradle test를 실행 후 report 추출 | ||
- name: Test with Gradle | ||
run: ./gradlew build jacocoTestReport | ||
|
||
# report 업로드하기 | ||
- name: Upload coverage to Codecov | ||
uses: codecov/[email protected] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -10,6 +10,7 @@ TYPE_LIST=( | |
style | ||
chore | ||
test | ||
build | ||
docs | ||
) | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
36 changes: 36 additions & 0 deletions
36
...graduate/myongjigraduatebe/graduation/application/port/in/response/MajorInfoResponse.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
package com.plzgraduate.myongjigraduatebe.graduation.application.port.in.response; | ||
|
||
|
||
import com.plzgraduate.myongjigraduatebe.user.domain.model.User; | ||
|
||
import io.swagger.v3.oas.annotations.media.Schema; | ||
import lombok.Builder; | ||
import lombok.Getter; | ||
|
||
|
||
@Getter | ||
public class MajorInfoResponse { | ||
|
||
@Schema(name = "primaryMajor", example = "데이터테크놀로지전공") | ||
private final String primaryMajor; | ||
@Schema(name = "doubleMajor", example = "융합소프트웨어전공", nullable = true) | ||
private final String doubleMajor; | ||
@Schema(name = "subMajor", example = "융합소프트웨어전공", nullable = true) | ||
private final String subMajor; | ||
|
||
@Builder | ||
private MajorInfoResponse(String primaryMajor, String doubleMajor, String subMajor) { | ||
this.primaryMajor = primaryMajor; | ||
this.doubleMajor = doubleMajor; | ||
this.subMajor = subMajor; | ||
} | ||
|
||
public static MajorInfoResponse from(User user) { | ||
return MajorInfoResponse.builder() | ||
.primaryMajor(user.getMajor()) | ||
.subMajor(user.getSubMajor()) | ||
.doubleMajor(null) //TODO: 복수전공 추가 | ||
.build(); | ||
} | ||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
53 changes: 53 additions & 0 deletions
53
...com/plzgraduate/myongjigraduatebe/graduation/domain/service/submajor/SubMajorManager.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
package com.plzgraduate.myongjigraduatebe.graduation.domain.service.submajor; | ||
|
||
import java.util.HashSet; | ||
import java.util.List; | ||
import java.util.Set; | ||
import java.util.stream.Collectors; | ||
|
||
import com.plzgraduate.myongjigraduatebe.graduation.domain.model.DetailCategoryResult; | ||
import com.plzgraduate.myongjigraduatebe.graduation.domain.model.DetailGraduationResult; | ||
import com.plzgraduate.myongjigraduatebe.graduation.domain.model.GraduationCategory; | ||
import com.plzgraduate.myongjigraduatebe.graduation.domain.service.GraduationManager; | ||
import com.plzgraduate.myongjigraduatebe.lecture.domain.model.Lecture; | ||
import com.plzgraduate.myongjigraduatebe.lecture.domain.model.MajorLecture; | ||
import com.plzgraduate.myongjigraduatebe.takenlecture.domain.model.TakenLecture; | ||
import com.plzgraduate.myongjigraduatebe.takenlecture.domain.model.TakenLectureInventory; | ||
import com.plzgraduate.myongjigraduatebe.user.domain.model.User; | ||
|
||
public class SubMajorManager implements GraduationManager<MajorLecture> { | ||
|
||
@Override | ||
public DetailGraduationResult createDetailGraduationResult(User user, TakenLectureInventory takenLectureInventory, | ||
Set<MajorLecture> graduationLectures, int graduationResultTotalCredit) { | ||
Set<TakenLecture> removedTakenLecture = new HashSet<>(); | ||
DetailCategoryResult detailCategoryResult = generateDetailCategoryResult(takenLectureInventory, | ||
graduationLectures, removedTakenLecture, graduationResultTotalCredit); | ||
|
||
takenLectureInventory.handleFinishedTakenLectures(removedTakenLecture); | ||
|
||
return DetailGraduationResult.create(GraduationCategory.SUB_MAJOR, graduationResultTotalCredit, | ||
List.of(detailCategoryResult)); | ||
} | ||
|
||
private DetailCategoryResult generateDetailCategoryResult(TakenLectureInventory takenLectureInventory, | ||
Set<MajorLecture> graduationLectures, Set<TakenLecture> removedTakenLecture, int graduationResultTotalCredit) { | ||
boolean isSatisfiedMandatory = true; | ||
Set<Lecture> subMajorGraduationLectures = graduationLectures.stream() | ||
.map(MajorLecture::getLecture) | ||
.collect(Collectors.toSet()); | ||
Set<Lecture> taken = new HashSet<>(); | ||
|
||
takenLectureInventory.getTakenLectures().stream() | ||
.filter(takenLecture -> subMajorGraduationLectures.contains(takenLecture.getLecture())) | ||
.forEach(takenLecture -> { | ||
removedTakenLecture.add(takenLecture); | ||
taken.add(takenLecture.getLecture()); | ||
}); | ||
|
||
DetailCategoryResult detailCategoryResult = DetailCategoryResult.create("전공선택", isSatisfiedMandatory, | ||
graduationResultTotalCredit); | ||
detailCategoryResult.calculate(taken, subMajorGraduationLectures); | ||
return detailCategoryResult; | ||
} | ||
} |
Oops, something went wrong.