Skip to content

Conversation

@joowojr
Copy link
Contributor

@joowojr joowojr commented Feb 2, 2025

📄 요약(Summary)

✍🏼 상세(More)

PR Desciption

변경 사항 설명

작업(Task) 도메인 레이어의 비즈니스 규칙과 정책을 분리: Policy

  • 작업 도메인 모델 클래스가 너무 많고 복잡한 비즈니스 로직을 담당하고 있어 정책을 담은 class로 분리하였습니다. (특히 작업 보드 순서를 변경하는 서비스)
  • Policy는 도메인 모델 클래스에 너무 많은 책임을 주는 복잡한 도메인 규칙, 재사용 될 수 있는 로직, 요구사항에 따라 변경될 수 있는 로직 등 정책적인 부분을 캡슐화합니다.
  • 핵심 비즈니스 로직과 정책을 분리하였기 때문에 각각 독립적으로 단위 테스트가 가능하며, 비즈니스 로직에 수정이 필요해도 변경사항이 크지 않습니다.
  • CLAP-213 작업 도메인 비즈니스 규칙과 정책 분리 #223 커밋이 꼬여서 이 PR을 봐주시면 더 편할것 같습니다!

작업 보드 조회 post -> get mapping으로 수정

댓글 첨부파일 업로드 기능
- 단일 파일 업로드로 수정: 단일 파일인데 파일 배열 업로드 메서드를 통해 업로드 되고 있었음

#105 리팩토링

  • member adapter 클래스에 선언되어 있던 query dsl 메서드 분리 -> custom repository로 구현
  • 잘못된 패키지 위치 수정 management -> admin

Requirements for Reviewer

리뷰어가 특별히 봐주었으면 하는 부분이 있다면 작성해주세요
ex) 메서드 XXX의 이름을 더 잘 짓고 싶은데 혹시 좋은 명칭이 있을까요?

PR Log

PR 작업하면서 고민했던 내용, 해결한 내용, 고민 중인 내용 등

새롭게 배운 것

  • request body를 보낼 때에는 조회 메서드라도 post 매핑만 사용가능하다고 알고 있었는데, @RequestBody 대신 @ModelAttribute를 사용하면 get mapping으로 request body dto를 보낼 수 있음을 알게 되었습니다.

고민 중인 사항

알림 전송 시 메세지 생성 로직 부분 캡슐화

  • notification type에 따라 policy또는 util로 message 템플릿을 생성하는 클래스가 필요해보입니다.

첨부 자료

Requirements for Reviewer

리뷰어가 특별히 봐주었으면 하는 부분이 있다면 작성해주세요

✅ 체크리스트(Checklist)

  • PR 양식에 맞게 작성했습니다
  • 모든 테스트가 통과했습니다
  • 프로그램이 정상적으로 작동합니다
  • 적절한 PR 라벨을 설정했습니다
  • 불필요한 코드를 제거했습니다

🚪 이슈 번호(Issue numbers)

Closes #215

joowojr and others added 30 commits February 2, 2025 22:25
* CLAP-110 Feature : 담당자별 작업 처리량 조회 API 구현

<footer>
- 관련: #73

* CLAP-111 Refactor : 통계 조회 API 리팩토링 및 기능 수정

<footer>
- 관련: #74

* 내 작업한 내용에 대한 설명

* 담당자 조회 API 구현

* CLAP-111 Refactor : 통계 조회 API 주소 통합, 리팩토링, 예외처리

<footer>
- 관련: #74

* Bug : 프로퍼티파일 수정

* CLAP-104 CI/CD : CI에서 s3.yml 파일 생성하도록 수정

* CLAP-146 Feature : 카테고리 목록 조회 API 구현

<footer>
- 관련: #118

* CLAP-147 Feature : 카테고리 수정 API 구현

<footer>
- 관련: #119

* CLAP-147 Feature : 카테고리 추가, 수정 API 리뷰반영 수정

<footer>
- 관련: #119

* CLAP-148 Feature : 카테고리 삭제 API 구현

<footer>
- 관련: #120

* CLAP-148 Feature : 카테고리 삭제 API 수정

<footer>
- 관련: #120

* CLAP-148 Docs : 카테고리 API 스웨거 수정

<footer>
- 관련: #120

* CLAP-107 Bug : CI test yml파일 key 중복 수정

<footer>
- 관련: #60

* CLAP-148 Feature : 카테고리 CUD 리뷰 반영 수정, 조회 반환 양식 수정

<footer>
- 관련: #120

* CLAP-214 Cleanup : 통계, 카테고리 미흡한부분 리팩토링

<footer>
- 관련: #216

* CLAP-214 Fix : 통계조회 API 파라미터 바인딩 오류 수정

<footer>
- 관련: #216

---------

Co-authored-by: nano-mm <nano123@gachon.ac.kr>
* CLAP-110 Feature : 담당자별 작업 처리량 조회 API 구현

<footer>
- 관련: #73

* CLAP-111 Refactor : 통계 조회 API 리팩토링 및 기능 수정

<footer>
- 관련: #74

* 내 작업한 내용에 대한 설명

* 담당자 조회 API 구현

* CLAP-111 Refactor : 통계 조회 API 주소 통합, 리팩토링, 예외처리

<footer>
- 관련: #74

* Bug : 프로퍼티파일 수정

* CLAP-104 CI/CD : CI에서 s3.yml 파일 생성하도록 수정

* CLAP-146 Feature : 카테고리 목록 조회 API 구현

<footer>
- 관련: #118

* CLAP-147 Feature : 카테고리 수정 API 구현

<footer>
- 관련: #119

* CLAP-147 Feature : 카테고리 추가, 수정 API 리뷰반영 수정

<footer>
- 관련: #119

* CLAP-148 Feature : 카테고리 삭제 API 구현

<footer>
- 관련: #120

* CLAP-148 Feature : 카테고리 삭제 API 수정

<footer>
- 관련: #120

* CLAP-148 Docs : 카테고리 API 스웨거 수정

<footer>
- 관련: #120

* CLAP-107 Bug : CI test yml파일 key 중복 수정

<footer>
- 관련: #60

* CLAP-148 Feature : 카테고리 CUD 리뷰 반영 수정, 조회 반환 양식 수정

<footer>
- 관련: #120

* CLAP-214 Cleanup : 통계, 카테고리 미흡한부분 리팩토링

<footer>
- 관련: #216

* CLAP-214 Fix : 통계조회 API 파라미터 바인딩 오류 수정

<footer>
- 관련: #216

* CLAP-214 Fix : addConverter 수정

<footer>
- 관련: #216

---------

Co-authored-by: nano-mm <nano123@gachon.ac.kr>
hyoseong-Choi and others added 19 commits February 2, 2025 22:25
* CLAP-110 Feature : 담당자별 작업 처리량 조회 API 구현

<footer>
- 관련: #73

* CLAP-111 Refactor : 통계 조회 API 리팩토링 및 기능 수정

<footer>
- 관련: #74

* 내 작업한 내용에 대한 설명

* 담당자 조회 API 구현

* CLAP-111 Refactor : 통계 조회 API 주소 통합, 리팩토링, 예외처리

<footer>
- 관련: #74

* Bug : 프로퍼티파일 수정

* CLAP-104 CI/CD : CI에서 s3.yml 파일 생성하도록 수정

* CLAP-146 Feature : 카테고리 목록 조회 API 구현

<footer>
- 관련: #118

* CLAP-147 Feature : 카테고리 수정 API 구현

<footer>
- 관련: #119

* CLAP-147 Feature : 카테고리 추가, 수정 API 리뷰반영 수정

<footer>
- 관련: #119

* CLAP-148 Feature : 카테고리 삭제 API 구현

<footer>
- 관련: #120

* CLAP-148 Feature : 카테고리 삭제 API 수정

<footer>
- 관련: #120

* CLAP-148 Docs : 카테고리 API 스웨거 수정

<footer>
- 관련: #120

* CLAP-107 Bug : CI test yml파일 key 중복 수정

<footer>
- 관련: #60

* CLAP-148 Feature : 카테고리 CUD 리뷰 반영 수정, 조회 반환 양식 수정

<footer>
- 관련: #120

* CLAP-214 Cleanup : 통계, 카테고리 미흡한부분 리팩토링

<footer>
- 관련: #216

* CLAP-214 Fix : 통계조회 API 파라미터 바인딩 오류 수정

<footer>
- 관련: #216

* CLAP-214 Fix : addConverter 수정

<footer>
- 관련: #216

* CLAP-214 Hotfix : 추가한 파일들 제거

<footer>
- 관련: #216

* CLAP-214 Hotfix : FindStatisticsController 스위치문 수정

<footer>
- 관련: #216

* CLAP-214 Hotfix : AddCategoryService 지연로딩 오류 수정

<footer>
- 관련: #216
# Conflicts:
#	src/main/java/clap/server/adapter/inbound/web/admin/FindMemberController.java
#	src/main/java/clap/server/adapter/outbound/persistense/MemberPersistenceAdapter.java
#	src/main/java/clap/server/adapter/outbound/persistense/repository/member/MemberRepository.java
#	src/main/java/clap/server/application/port/outbound/member/LoadMemberPort.java
#	src/main/java/clap/server/application/service/comment/PostCommentService.java
#	src/main/java/clap/server/application/service/task/ApprovalTaskService.java
#	src/main/java/clap/server/application/service/task/CreateTaskService.java
#	src/main/java/clap/server/application/service/task/UpdateTaskService.java
@joowojr joowojr changed the title Clap 213 CLAP-213 Feb 2, 2025
@joowojr joowojr changed the title CLAP-213 CLAP-213 작업 도메인 레이어의 비즈니스 규칙과 정책을 분리 Feb 2, 2025
@joowojr joowojr self-assigned this Feb 2, 2025
@joowojr joowojr added the ♻️ refactor 코드가 내부적으로 작동하는 방식을 변경합니다. cleanup과는 다릅니다. label Feb 2, 2025
@joowojr joowojr merged commit 57e07e7 into develop Feb 3, 2025
1 check passed
@joowojr joowojr deleted the CLAP-213 branch February 4, 2025 09:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

♻️ refactor 코드가 내부적으로 작동하는 방식을 변경합니다. cleanup과는 다릅니다.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

CLAP-213 작업 도메인 비즈니스 규칙을 Policy로 캡슐화

5 participants