Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -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();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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()
);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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()
);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}
Expand Down
Original file line number Diff line number Diff line change
@@ -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;
Expand All @@ -10,8 +11,6 @@

import java.util.List;

import static clap.server.application.mapper.response.TaskResponseMapper.toFindManagersResponse;

@ApplicationService
@RequiredArgsConstructor
public class FindManagersService implements FindManagersUsecase {
Expand All @@ -23,10 +22,7 @@ public class FindManagersService implements FindManagersUsecase {
public List<FindManagersResponse> findManagers() {
List<Member> managers = memberService.findActiveManagers();
return managers.stream()
.map(manager -> {
int remainingTasks = manager.getInProgressTaskCount() + manager.getInReviewingTaskCount();
return toFindManagersResponse(manager, remainingTasks);
}).toList();
.map(TaskResponseMapper::toFindManagersResponse).toList();
}
}
;
8 changes: 8 additions & 0 deletions src/main/java/clap/server/domain/model/member/Member.java
Original file line number Diff line number Diff line change
Expand Up @@ -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();
}
}
Original file line number Diff line number Diff line change
@@ -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;
Expand All @@ -21,6 +22,10 @@ public void validateDepartment(final Department department, final MemberRole mem

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