From 9184b450fd1c3ac1ca5522339f4bce295e7987cd Mon Sep 17 00:00:00 2001 From: joowojr Date: Sun, 16 Feb 2025 14:02:37 +0900 Subject: [PATCH 1/4] =?UTF-8?q?CLAP-441=20Refactor:=20=EC=B5=9C=EC=A2=85?= =?UTF-8?q?=20=ED=9A=8C=EC=9B=90=20=EB=93=B1=EB=A1=9D=20=EC=A0=84=EC=9D=98?= =?UTF-8?q?=20=EA=B2=BD=EC=9A=B0=EB=8A=94=20=EA=B2=80=EC=A6=9D=ED=95=98?= =?UTF-8?q?=EC=A7=80=20=EC=95=8A=EB=8F=84=EB=A1=9D=20=EB=A1=9C=EC=A7=81=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #578 --- .../server/domain/policy/member/ManagerInfoUpdatePolicy.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/main/java/clap/server/domain/policy/member/ManagerInfoUpdatePolicy.java b/src/main/java/clap/server/domain/policy/member/ManagerInfoUpdatePolicy.java index 271bed85..d1aed05e 100644 --- a/src/main/java/clap/server/domain/policy/member/ManagerInfoUpdatePolicy.java +++ b/src/main/java/clap/server/domain/policy/member/ManagerInfoUpdatePolicy.java @@ -1,6 +1,7 @@ package clap.server.domain.policy.member; import clap.server.adapter.outbound.persistense.entity.member.constant.MemberRole; +import clap.server.adapter.outbound.persistense.entity.member.constant.MemberStatus; import clap.server.common.annotation.architecture.Policy; import clap.server.domain.model.member.Department; import clap.server.domain.model.member.Member; @@ -21,6 +22,10 @@ public void validateDepartment(final Department department, final MemberRole mem // 담당자의 잔여 작업이 남아있는 경우 해당 회원의 데이터 수정이 허용되지 않음 public void validateNoRemainingTasks(final Member member){ + // 최종 회원 등록 전의 경우는 검증하지 않는다. + if(member.getStatus().equals(MemberStatus.PENDING) || member.getStatus().equals(MemberStatus.APPROVAL_REQUEST)){ + return; + } if(member.getInReviewingTaskCount()>0 || member.getInProgressTaskCount()> 0){ throw new DomainException(MemberErrorCode.MANAGER_MEMBER_UPDATE_NOT_ALLOWED_WITH_TASKS); } From 17228732d87d01176e85595bce1bc6e398c36101 Mon Sep 17 00:00:00 2001 From: joowojr Date: Sun, 16 Feb 2025 14:03:23 +0900 Subject: [PATCH 2/4] =?UTF-8?q?CLAP-441=20Refactor:=20=ED=9A=8C=EC=9B=90?= =?UTF-8?q?=EC=9D=98=20=EC=9E=94=EC=97=AC=20=EC=9E=91=EC=97=85=EC=9D=84=20?= =?UTF-8?q?=EA=B3=84=EC=82=B0=ED=95=98=EB=8A=94=20=EB=A9=94=EC=84=9C?= =?UTF-8?q?=EB=93=9C=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #578 --- .../application/mapper/response/MemberResponseMapper.java | 3 +-- src/main/java/clap/server/domain/model/member/Member.java | 8 ++++++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/main/java/clap/server/application/mapper/response/MemberResponseMapper.java b/src/main/java/clap/server/application/mapper/response/MemberResponseMapper.java index 16153539..cea4541b 100644 --- a/src/main/java/clap/server/application/mapper/response/MemberResponseMapper.java +++ b/src/main/java/clap/server/application/mapper/response/MemberResponseMapper.java @@ -64,8 +64,7 @@ public static MemberDetailsResponse toMemberDetailsResponse(Member member) { member.getMemberInfo().getDepartment().getDepartmentId(), member.getMemberInfo().getDepartment().getName(), member.getMemberInfo().getDepartmentRole(), - member.getStatus().equals(MemberStatus.PENDING) || member.getStatus().equals(MemberStatus.APPROVAL_REQUEST) ? null: - member.getInProgressTaskCount() + member.getInReviewingTaskCount() + member.getRemainingTasks() ); } diff --git a/src/main/java/clap/server/domain/model/member/Member.java b/src/main/java/clap/server/domain/model/member/Member.java index 2cd08694..146f798c 100644 --- a/src/main/java/clap/server/domain/model/member/Member.java +++ b/src/main/java/clap/server/domain/model/member/Member.java @@ -123,4 +123,12 @@ public void decrementInProgressTaskCount() { public void decrementInReviewingTaskCount() { this.inReviewingTaskCount--; } + + public Integer getRemainingTasks(){ + // 최종 회원 등록 전의 경우 + if(this.getStatus().equals(MemberStatus.PENDING) || this.getStatus().equals(MemberStatus.APPROVAL_REQUEST)){ + return null; + } + else return this.getInProgressTaskCount() + this.getInReviewingTaskCount(); + } } From a652e549a21e56d75aabd0ed7ff08d6bd4ff76fc Mon Sep 17 00:00:00 2001 From: joowojr Date: Sun, 16 Feb 2025 14:07:21 +0900 Subject: [PATCH 3/4] =?UTF-8?q?CLAP-441=20Refactor:=20=ED=9A=8C=EC=9B=90?= =?UTF-8?q?=EC=9D=98=20=EC=9E=94=EC=97=AC=20=EC=9E=91=EC=97=85=EC=9D=84=20?= =?UTF-8?q?=EA=B3=84=EC=82=B0=ED=95=98=EB=8A=94=20=EB=A9=94=EC=84=9C?= =?UTF-8?q?=EB=93=9C=EB=A5=BC=20=EC=82=AC=EC=9A=A9=ED=95=98=EB=8F=84?= =?UTF-8?q?=EB=A1=9D=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #578 --- .../application/mapper/response/TaskResponseMapper.java | 4 ++-- .../application/service/task/FindManagersService.java | 8 ++------ 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/src/main/java/clap/server/application/mapper/response/TaskResponseMapper.java b/src/main/java/clap/server/application/mapper/response/TaskResponseMapper.java index 0b723f93..fc4bdca5 100644 --- a/src/main/java/clap/server/application/mapper/response/TaskResponseMapper.java +++ b/src/main/java/clap/server/application/mapper/response/TaskResponseMapper.java @@ -179,12 +179,12 @@ public static FindApprovalFormResponse toFindApprovalFormResponse(Task task) { ); } - public static FindManagersResponse toFindManagersResponse(Member manager, int remainingTasks) { + public static FindManagersResponse toFindManagersResponse(Member manager) { return new FindManagersResponse( manager.getMemberId(), manager.getNickname(), manager.getImageUrl(), - remainingTasks + manager.getRemainingTasks() ); } diff --git a/src/main/java/clap/server/application/service/task/FindManagersService.java b/src/main/java/clap/server/application/service/task/FindManagersService.java index f988f0fc..6244c376 100644 --- a/src/main/java/clap/server/application/service/task/FindManagersService.java +++ b/src/main/java/clap/server/application/service/task/FindManagersService.java @@ -1,6 +1,7 @@ package clap.server.application.service.task; import clap.server.adapter.inbound.web.dto.task.response.FindManagersResponse; +import clap.server.application.mapper.response.TaskResponseMapper; import clap.server.application.port.inbound.domain.MemberService; import clap.server.application.port.inbound.task.FindManagersUsecase; import clap.server.common.annotation.architecture.ApplicationService; @@ -10,8 +11,6 @@ import java.util.List; -import static clap.server.application.mapper.response.TaskResponseMapper.toFindManagersResponse; - @ApplicationService @RequiredArgsConstructor public class FindManagersService implements FindManagersUsecase { @@ -23,10 +22,7 @@ public class FindManagersService implements FindManagersUsecase { public List findManagers() { List managers = memberService.findActiveManagers(); return managers.stream() - .map(manager -> { - int remainingTasks = manager.getInProgressTaskCount() + manager.getInReviewingTaskCount(); - return toFindManagersResponse(manager, remainingTasks); - }).toList(); + .map(TaskResponseMapper::toFindManagersResponse).toList(); } } ; \ No newline at end of file From be780515735c36314052ccc251c8021a33f63ace Mon Sep 17 00:00:00 2001 From: joowojr Date: Sun, 16 Feb 2025 14:45:09 +0900 Subject: [PATCH 4/4] =?UTF-8?q?CLAP-441=20Refactor:=20enum=20=EA=B0=92=20?= =?UTF-8?q?=EB=B9=84=EA=B5=90=20=EC=8B=9C,=20equals=EA=B0=80=20=EC=95=84?= =?UTF-8?q?=EB=8B=8C=20=3D=3D=20=EC=97=B0=EC=82=B0=EC=9E=90=EB=A5=BC=20?= =?UTF-8?q?=EC=82=AC=EC=9A=A9=ED=95=98=EB=8F=84=EB=A1=9D=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #578 --- .../adapter/inbound/security/service/SecurityUserDetails.java | 2 +- .../server/application/service/admin/DeleteMemberService.java | 2 +- .../server/application/service/admin/ManageMemberService.java | 4 +--- .../clap/server/application/service/auth/AuthService.java | 2 +- .../server/domain/policy/member/ManagerInfoUpdatePolicy.java | 2 +- 5 files changed, 5 insertions(+), 7 deletions(-) diff --git a/src/main/java/clap/server/adapter/inbound/security/service/SecurityUserDetails.java b/src/main/java/clap/server/adapter/inbound/security/service/SecurityUserDetails.java index e58c2e2a..5de25fac 100644 --- a/src/main/java/clap/server/adapter/inbound/security/service/SecurityUserDetails.java +++ b/src/main/java/clap/server/adapter/inbound/security/service/SecurityUserDetails.java @@ -52,7 +52,7 @@ public static UserDetails from(MemberEntity member) { .userId(member.getMemberId()) .username(member.getName()) .authorities(List.of(new CustomGrantedAuthority(member.getRole().name()))) - .accountNonLocked(member.getStatus().equals(MemberStatus.ACTIVE)) + .accountNonLocked(member.getStatus()==MemberStatus.ACTIVE) .build(); } diff --git a/src/main/java/clap/server/application/service/admin/DeleteMemberService.java b/src/main/java/clap/server/application/service/admin/DeleteMemberService.java index 286b0412..8888b7a8 100644 --- a/src/main/java/clap/server/application/service/admin/DeleteMemberService.java +++ b/src/main/java/clap/server/application/service/admin/DeleteMemberService.java @@ -26,7 +26,7 @@ public void deleteMember(Long memberId) { Member member = loadMemberPort.findById(memberId) .orElseThrow(() -> new ApplicationException(MemberErrorCode.MEMBER_NOT_FOUND)); - if(member.getMemberInfo().getRole().equals(MemberRole.ROLE_MANAGER)){ + if (member.getMemberInfo().getRole() == MemberRole.ROLE_MANAGER) { managerInfoUpdatePolicy.validateNoRemainingTasks(member); } Hibernate.initialize(member.getDepartment()); diff --git a/src/main/java/clap/server/application/service/admin/ManageMemberService.java b/src/main/java/clap/server/application/service/admin/ManageMemberService.java index da49a104..af6e7307 100644 --- a/src/main/java/clap/server/application/service/admin/ManageMemberService.java +++ b/src/main/java/clap/server/application/service/admin/ManageMemberService.java @@ -32,10 +32,8 @@ public void updateMemberInfo(Long adminId, Long memberId, UpdateMemberRequest re Member member = memberService.findById(memberId); Department department = loadDepartmentPort.findById(request.departmentId()).orElseThrow(() -> new ApplicationException(DepartmentErrorCode.DEPARTMENT_NOT_FOUND)); - managerInfoUpdatePolicy.validateDepartment(department, request.role()); - if(member.getMemberInfo().getRole().equals(MemberRole.ROLE_MANAGER) && - !request.role().equals(MemberRole.ROLE_MANAGER)){ + if(member.getMemberInfo().getRole() == MemberRole.ROLE_MANAGER && !(request.role()==MemberRole.ROLE_MANAGER)){ managerInfoUpdatePolicy.validateNoRemainingTasks(member); } diff --git a/src/main/java/clap/server/application/service/auth/AuthService.java b/src/main/java/clap/server/application/service/auth/AuthService.java index d9b42a9f..543f0269 100644 --- a/src/main/java/clap/server/application/service/auth/AuthService.java +++ b/src/main/java/clap/server/application/service/auth/AuthService.java @@ -38,7 +38,7 @@ public LoginResponse login(String nickname, String password, String clientIp) { Member member = getMember(nickname,clientIp); validatePassword(password, member.getPassword(), nickname, clientIp); - if (member.getStatus().equals(MemberStatus.APPROVAL_REQUEST)) { + if (member.getStatus()==MemberStatus.APPROVAL_REQUEST) { String temporaryToken = manageTokenService.issueTemporaryToken(member.getMemberId()); return AuthResponseMapper.toLoginResponse(temporaryToken, null); } diff --git a/src/main/java/clap/server/domain/policy/member/ManagerInfoUpdatePolicy.java b/src/main/java/clap/server/domain/policy/member/ManagerInfoUpdatePolicy.java index d1aed05e..ffe43167 100644 --- a/src/main/java/clap/server/domain/policy/member/ManagerInfoUpdatePolicy.java +++ b/src/main/java/clap/server/domain/policy/member/ManagerInfoUpdatePolicy.java @@ -23,7 +23,7 @@ public void validateDepartment(final Department department, final MemberRole mem // 담당자의 잔여 작업이 남아있는 경우 해당 회원의 데이터 수정이 허용되지 않음 public void validateNoRemainingTasks(final Member member){ // 최종 회원 등록 전의 경우는 검증하지 않는다. - if(member.getStatus().equals(MemberStatus.PENDING) || member.getStatus().equals(MemberStatus.APPROVAL_REQUEST)){ + if(member.getStatus()==MemberStatus.PENDING || member.getStatus()==MemberStatus.APPROVAL_REQUEST){ return; } if(member.getInReviewingTaskCount()>0 || member.getInProgressTaskCount()> 0){