Skip to content

Commit 7c47328

Browse files
authored
Merge pull request #579 from TaskFlow-CLAP/CLAP-441
CLAP-441 담당자 회원의 수정 및 삭제 정책을 담당하는 정책 클래스 로직 수정
2 parents c83a08b + be78051 commit 7c47328

File tree

9 files changed

+22
-16
lines changed

9 files changed

+22
-16
lines changed

src/main/java/clap/server/adapter/inbound/security/service/SecurityUserDetails.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ public static UserDetails from(MemberEntity member) {
5252
.userId(member.getMemberId())
5353
.username(member.getName())
5454
.authorities(List.of(new CustomGrantedAuthority(member.getRole().name())))
55-
.accountNonLocked(member.getStatus().equals(MemberStatus.ACTIVE))
55+
.accountNonLocked(member.getStatus()==MemberStatus.ACTIVE)
5656
.build();
5757
}
5858

src/main/java/clap/server/application/mapper/response/MemberResponseMapper.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,7 @@ public static MemberDetailsResponse toMemberDetailsResponse(Member member) {
6464
member.getMemberInfo().getDepartment().getDepartmentId(),
6565
member.getMemberInfo().getDepartment().getName(),
6666
member.getMemberInfo().getDepartmentRole(),
67-
member.getStatus().equals(MemberStatus.PENDING) || member.getStatus().equals(MemberStatus.APPROVAL_REQUEST) ? null:
68-
member.getInProgressTaskCount() + member.getInReviewingTaskCount()
67+
member.getRemainingTasks()
6968
);
7069
}
7170

src/main/java/clap/server/application/mapper/response/TaskResponseMapper.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -179,12 +179,12 @@ public static FindApprovalFormResponse toFindApprovalFormResponse(Task task) {
179179
);
180180
}
181181

182-
public static FindManagersResponse toFindManagersResponse(Member manager, int remainingTasks) {
182+
public static FindManagersResponse toFindManagersResponse(Member manager) {
183183
return new FindManagersResponse(
184184
manager.getMemberId(),
185185
manager.getNickname(),
186186
manager.getImageUrl(),
187-
remainingTasks
187+
manager.getRemainingTasks()
188188
);
189189
}
190190

src/main/java/clap/server/application/service/admin/DeleteMemberService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ public void deleteMember(Long memberId) {
2626
Member member = loadMemberPort.findById(memberId)
2727
.orElseThrow(() -> new ApplicationException(MemberErrorCode.MEMBER_NOT_FOUND));
2828

29-
if(member.getMemberInfo().getRole().equals(MemberRole.ROLE_MANAGER)){
29+
if (member.getMemberInfo().getRole() == MemberRole.ROLE_MANAGER) {
3030
managerInfoUpdatePolicy.validateNoRemainingTasks(member);
3131
}
3232
Hibernate.initialize(member.getDepartment());

src/main/java/clap/server/application/service/admin/ManageMemberService.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,8 @@ public void updateMemberInfo(Long adminId, Long memberId, UpdateMemberRequest re
3232
Member member = memberService.findById(memberId);
3333
Department department = loadDepartmentPort.findById(request.departmentId()).orElseThrow(() ->
3434
new ApplicationException(DepartmentErrorCode.DEPARTMENT_NOT_FOUND));
35-
3635
managerInfoUpdatePolicy.validateDepartment(department, request.role());
37-
if(member.getMemberInfo().getRole().equals(MemberRole.ROLE_MANAGER) &&
38-
!request.role().equals(MemberRole.ROLE_MANAGER)){
36+
if(member.getMemberInfo().getRole() == MemberRole.ROLE_MANAGER && !(request.role()==MemberRole.ROLE_MANAGER)){
3937
managerInfoUpdatePolicy.validateNoRemainingTasks(member);
4038
}
4139

src/main/java/clap/server/application/service/auth/AuthService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ public LoginResponse login(String nickname, String password, String clientIp) {
3838
Member member = getMember(nickname,clientIp);
3939
validatePassword(password, member.getPassword(), nickname, clientIp);
4040

41-
if (member.getStatus().equals(MemberStatus.APPROVAL_REQUEST)) {
41+
if (member.getStatus()==MemberStatus.APPROVAL_REQUEST) {
4242
String temporaryToken = manageTokenService.issueTemporaryToken(member.getMemberId());
4343
return AuthResponseMapper.toLoginResponse(temporaryToken, null);
4444
}
Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package clap.server.application.service.task;
22

33
import clap.server.adapter.inbound.web.dto.task.response.FindManagersResponse;
4+
import clap.server.application.mapper.response.TaskResponseMapper;
45
import clap.server.application.port.inbound.domain.MemberService;
56
import clap.server.application.port.inbound.task.FindManagersUsecase;
67
import clap.server.common.annotation.architecture.ApplicationService;
@@ -10,8 +11,6 @@
1011

1112
import java.util.List;
1213

13-
import static clap.server.application.mapper.response.TaskResponseMapper.toFindManagersResponse;
14-
1514
@ApplicationService
1615
@RequiredArgsConstructor
1716
public class FindManagersService implements FindManagersUsecase {
@@ -23,10 +22,7 @@ public class FindManagersService implements FindManagersUsecase {
2322
public List<FindManagersResponse> findManagers() {
2423
List<Member> managers = memberService.findActiveManagers();
2524
return managers.stream()
26-
.map(manager -> {
27-
int remainingTasks = manager.getInProgressTaskCount() + manager.getInReviewingTaskCount();
28-
return toFindManagersResponse(manager, remainingTasks);
29-
}).toList();
25+
.map(TaskResponseMapper::toFindManagersResponse).toList();
3026
}
3127
}
3228
;

src/main/java/clap/server/domain/model/member/Member.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,4 +123,12 @@ public void decrementInProgressTaskCount() {
123123
public void decrementInReviewingTaskCount() {
124124
this.inReviewingTaskCount--;
125125
}
126+
127+
public Integer getRemainingTasks(){
128+
// 최종 회원 등록 전의 경우
129+
if(this.getStatus().equals(MemberStatus.PENDING) || this.getStatus().equals(MemberStatus.APPROVAL_REQUEST)){
130+
return null;
131+
}
132+
else return this.getInProgressTaskCount() + this.getInReviewingTaskCount();
133+
}
126134
}

src/main/java/clap/server/domain/policy/member/ManagerInfoUpdatePolicy.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package clap.server.domain.policy.member;
22

33
import clap.server.adapter.outbound.persistense.entity.member.constant.MemberRole;
4+
import clap.server.adapter.outbound.persistense.entity.member.constant.MemberStatus;
45
import clap.server.common.annotation.architecture.Policy;
56
import clap.server.domain.model.member.Department;
67
import clap.server.domain.model.member.Member;
@@ -21,6 +22,10 @@ public void validateDepartment(final Department department, final MemberRole mem
2122

2223
// 담당자의 잔여 작업이 남아있는 경우 해당 회원의 데이터 수정이 허용되지 않음
2324
public void validateNoRemainingTasks(final Member member){
25+
// 최종 회원 등록 전의 경우는 검증하지 않는다.
26+
if(member.getStatus()==MemberStatus.PENDING || member.getStatus()==MemberStatus.APPROVAL_REQUEST){
27+
return;
28+
}
2429
if(member.getInReviewingTaskCount()>0 || member.getInProgressTaskCount()> 0){
2530
throw new DomainException(MemberErrorCode.MANAGER_MEMBER_UPDATE_NOT_ALLOWED_WITH_TASKS);
2631
}

0 commit comments

Comments
 (0)