Skip to content

Conversation

@gmltn9233
Copy link
Contributor

@gmltn9233 gmltn9233 commented Nov 17, 2024

🔧연결된 이슈

🛠️작업 내용

  • status/dto 전반적인 리팩토링
  • GonghakCalculateService 리팩토링
  • Controller에서 ViewAbeekType기이수 과목 리스트 전달

🤷‍♂️PR이 필요한 이유

기존의 코드에서 기이수 학점을 계산하는 과정에서 GonghakCoursesByMajorDto로 기이수 과목 데이터를 가져오는데, 여기서 semseter 필드만 추가한다면 이슈 #83 의 기능을 추가하는 것이 가능하여 이를 리팩토링하여 사용했습니다.

DTO 구조 변경

image

최종적으로 ControllerService로 부터 GonghakResultDto를 전달받고 그 안의 요소들을 활용하여 View이수 정도이수 과목 리스트를 각각 넘겨줍니다.

GonghakCalculateService

미약하게나마 가독성 향상을 위해 기능분리를 실시하였고, 이전에 비율을 직접 넘겨줄때 사용하였던 비율 계산 관련 메서드들을 삭제하였습니다.

반환값 관련

image

semseterint형으로 반환되도록 설계되어있는데, 현재 "1학기" ,"2학기" 와 같이 String 형식으로 저장되어있어서 그대로 내보내면 될것 같아 String 으로 전달하도록 하였습니다. 이 점 확인 부탁드립니다.

관련 이슈

진행하면서 발견한 새로운 이슈 #88 추가하였으니 확인 바랍니다.

✔️PR 체크리스트

  • 필요한 테스트를 작성했는가?
  • 다른 코드를 깨뜨리지 않았는가?
  • 연결된 이슈 외에 다른 이슈를 해결한 코드가 담겨있는가?

GonghakCoursesByMajorDto 를 CourseDetailsDto로 변경하고 이번 modal 기능에 필요한 semester 필드만 추가하였습니다.
GonghakCoursesByMajorDto 를 리팩토링함에 따라 semester도 함께 반환하도록 리팩토링하였습니다.
최종적으로 controller로 반환되는 GongakResultDto는 AbeekTypeConst 별 AbeekDetailsDto를 가지고 있고 AbeekDetailsDto는 이수 학점 정보인 ResultPoint와 기이수 과목 정보 리스트 coursesDetails 을 가지고 있습니다.
dto 네이밍 변경에 따른 테스트 코드 리팩토링
메서드 분리, CourseDetails 로직 추가
AbeekTypeConst 별로 CourseDetailsDto가 올바르게 저장되는지 확인하는 테스트 코드
Service로부터 userResultRatioDto를 받아온 후 분리하여 각각 resultPoint, coursesDetail로 모델에 전달
@gmltn9233 gmltn9233 added 🔧 기능 추가 새로운 기능 추가 🔨 리팩토링 리팩토링 서비스 서비스 로직 관련 이슈 labels Nov 17, 2024
@gmltn9233 gmltn9233 requested a review from whxogus215 November 17, 2024 21:29
@gmltn9233 gmltn9233 self-assigned this Nov 17, 2024
Copy link
Contributor

@whxogus215 whxogus215 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

코드 확인했습니다. 해당 코드 머지 후, 연동작업하겠습니다!

@whxogus215 whxogus215 merged commit 5d35e6a into develop Nov 18, 2024
@gmltn9233 gmltn9233 deleted the feat/status-modal-back branch November 18, 2024 07:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🔨 리팩토링 리팩토링 🔧 기능 추가 새로운 기능 추가 서비스 서비스 로직 관련 이슈

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants