66import clap .server .application .mapper .response .MemberResponseMapper ;
77import clap .server .application .port .inbound .admin .MemberDetailUsecase ;
88import clap .server .application .port .inbound .admin .UpdateMemberUsecase ;
9- import clap .server .application .port .inbound .domain .MemberService ;
109import clap .server .application .port .outbound .member .CommandMemberPort ;
1110import clap .server .application .port .outbound .member .LoadDepartmentPort ;
11+ import clap .server .application .port .outbound .member .LoadMemberPort ;
1212import clap .server .common .annotation .architecture .ApplicationService ;
1313import clap .server .domain .model .member .Department ;
1414import clap .server .domain .model .member .Member ;
1515import clap .server .domain .policy .member .ManagerInfoUpdatePolicy ;
1616import clap .server .exception .ApplicationException ;
1717import clap .server .exception .code .DepartmentErrorCode ;
18+ import clap .server .exception .code .MemberErrorCode ;
1819import lombok .RequiredArgsConstructor ;
1920import org .springframework .transaction .annotation .Transactional ;
2021
2122@ ApplicationService
2223@ RequiredArgsConstructor
2324class ManageMemberService implements UpdateMemberUsecase , MemberDetailUsecase {
24- private final MemberService memberService ;
25+ private final LoadMemberPort loadMemberPort ;
2526 private final CommandMemberPort commandMemberPort ;
2627 private final LoadDepartmentPort loadDepartmentPort ;
2728 private final ManagerInfoUpdatePolicy managerInfoUpdatePolicy ;
2829
2930 @ Override
3031 @ Transactional
3132 public void updateMemberInfo (Long adminId , Long memberId , UpdateMemberRequest request ) {
32- Member member = memberService .findById (memberId );
33+ Member member = loadMemberPort .findByIdWithFetchDepartment (memberId ).orElseThrow (
34+ () -> new ApplicationException (MemberErrorCode .MEMBER_NOT_FOUND ));
3335 Department department = loadDepartmentPort .findById (request .departmentId ()).orElseThrow (() ->
3436 new ApplicationException (DepartmentErrorCode .DEPARTMENT_NOT_FOUND ));
3537 managerInfoUpdatePolicy .validateDepartment (department , request .role ());
@@ -46,7 +48,8 @@ public void updateMemberInfo(Long adminId, Long memberId, UpdateMemberRequest re
4648 @ Override
4749 @ Transactional (readOnly = true )
4850 public MemberDetailsResponse getMemberDetail (Long memberId ) {
49- Member member = memberService .findById (memberId );
51+ Member member = loadMemberPort .findByIdWithFetchDepartment (memberId ).orElseThrow (
52+ () -> new ApplicationException (MemberErrorCode .MEMBER_NOT_FOUND ));;
5053 return MemberResponseMapper .toMemberDetailsResponse (member );
5154 }
5255}
0 commit comments