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

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,33 +1,24 @@
package clap.server.adapter.outbound.persistense;

import clap.server.adapter.outbound.persistense.entity.member.MemberEntity;
import clap.server.adapter.outbound.persistense.entity.member.constant.MemberRole;
import clap.server.adapter.outbound.persistense.entity.member.constant.MemberStatus;
import clap.server.adapter.outbound.persistense.mapper.MemberPersistenceMapper;
import clap.server.adapter.outbound.persistense.repository.member.MemberRepository;
import clap.server.application.port.outbound.member.CommandMemberPort;
import clap.server.application.port.outbound.member.LoadMemberPort;
import clap.server.common.annotation.architecture.PersistenceAdapter;
import clap.server.domain.model.task.Task;
import clap.server.adapter.outbound.persistense.entity.task.constant.TaskStatus ;
import clap.server.adapter.outbound.persistense.entity.task.TaskEntity;
import clap.server.adapter.outbound.persistense.repository.task.TaskRepository;
import clap.server.adapter.outbound.persistense.mapper.TaskPersistenceMapper;
import java.util.stream.Collectors;
import java.util.List;

import clap.server.domain.model.member.Member;
import lombok.RequiredArgsConstructor;

import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;

@PersistenceAdapter
@RequiredArgsConstructor
public class MemberPersistenceAdapter implements LoadMemberPort, CommandMemberPort {
private final MemberRepository memberRepository;
private final MemberPersistenceMapper memberPersistenceMapper;
private final TaskRepository taskRepository;
private final TaskPersistenceMapper taskPersistenceMapper;


@Override
Expand Down Expand Up @@ -63,27 +54,5 @@ public void save(final Member member) {
memberRepository.save(memberEntity);
}

@Override
public List<Member> findActiveManagers() {
List<MemberEntity> memberEntities = memberRepository.findByRoleAndStatus(MemberRole.valueOf("ROLE_MANAGER"), MemberStatus.ACTIVE);
return memberEntities.stream()
.map(memberPersistenceMapper::toDomain)
.collect(Collectors.toList());
}

@Override
public int getRemainingTasks(Long memberId) {
List<TaskStatus> targetStatuses = List.of(TaskStatus.IN_PROGRESS, TaskStatus.PENDING_COMPLETED);
return findTasksByMemberIdAndStatus(memberId, targetStatuses).size();
}


@Override
public List<Task> findTasksByMemberIdAndStatus(Long memberId, List<TaskStatus> taskStatuses) {
List<TaskEntity> taskEntities = taskRepository.findByProcessor_MemberIdAndTaskStatusIn(memberId, taskStatuses);
return taskEntities.stream()
.map(taskPersistenceMapper::toDomain)
.collect(Collectors.toList());
}
}

Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package clap.server.adapter.outbound.persistense;

import clap.server.adapter.inbound.web.dto.task.FilterPendingApprovalResponse;
import clap.server.adapter.inbound.web.dto.task.FilterTaskListRequest;
import clap.server.adapter.inbound.web.dto.task.FilterTaskListResponse;
import clap.server.adapter.inbound.web.dto.task.FilterPendingApprovalResponse;
import clap.server.adapter.outbound.persistense.entity.task.TaskEntity;
import clap.server.adapter.outbound.persistense.mapper.TaskPersistenceMapper;
import clap.server.adapter.outbound.persistense.repository.task.TaskRepository;
Expand Down Expand Up @@ -58,5 +58,4 @@ public List<Task> findYesterdayTaskByDate(LocalDateTime now) {
.stream().map(taskPersistenceMapper::toDomain).toList();
}


}
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,12 @@


import clap.server.adapter.outbound.persistense.entity.task.TaskEntity;
import clap.server.adapter.outbound.persistense.entity.task.constant.TaskStatus;
import io.lettuce.core.dynamic.annotation.Param;

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;

import org.springframework.stereotype.Repository;


import java.time.LocalDateTime;
import java.util.Collection;


import java.util.List;

@Repository
Expand All @@ -27,10 +20,6 @@ List<TaskEntity> findYesterdayTaskByUpdatedAtIsBetween(
@Param("updatedAtAfter") LocalDateTime updatedAtAfter,
@Param("updatedAtBefore") LocalDateTime updatedAtBefore
);


// 'processor'의 'id'로 검색하기
List<TaskEntity> findByProcessor_MemberIdAndTaskStatusIn(Long memberId, Collection<TaskStatus> taskStatuses);
}


Expand Down
Original file line number Diff line number Diff line change
@@ -1,23 +1,14 @@
package clap.server.application.mapper;


import clap.server.adapter.outbound.persistense.entity.member.constant.MemberRole;
import clap.server.domain.model.member.Department;
import clap.server.adapter.inbound.web.dto.member.MemberProfileResponse;
import clap.server.domain.model.member.Member;
import clap.server.domain.model.member.MemberInfo;

public class MemberMapper {
private MemberMapper() {
throw new IllegalArgumentException();
}

public static Member toMember(MemberInfo memberInfo) {
return Member.builder()
.memberInfo(memberInfo)
.build();
}

public static MemberProfileResponse toMemberProfileResponse(Member member) {
return new MemberProfileResponse(
member.getMemberId(),
Expand Down

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,6 @@

import clap.server.application.port.outbound.member.LoadMemberPort;
import clap.server.domain.model.member.Member;
import clap.server.domain.model.task.Task;
import clap.server.adapter.outbound.persistense.entity.task.constant.TaskStatus;
import clap.server.exception.ApplicationException;
import clap.server.exception.code.MemberErrorCode;
import lombok.RequiredArgsConstructor;
Expand All @@ -26,33 +24,6 @@ public Member findActiveMember(Long memberId) {
() -> new ApplicationException(MemberErrorCode.ACTIVE_MEMBER_NOT_FOUND));
}

public int getRemainingTasks(Long memberId) {
List<TaskStatus> targetStatuses = List.of(TaskStatus.IN_PROGRESS, TaskStatus.PENDING_COMPLETED);
return loadMemberPort.findTasksByMemberIdAndStatus(memberId, targetStatuses).size();
}

public String getMemberNickname(Long memberId) {
Member member = findById(memberId);
if (member.getMemberInfo() == null) {
throw new ApplicationException(MemberErrorCode.MEMBER_NOT_FOUND);
}
return member.getMemberInfo().getNickname();
}

public String getMemberImageUrl(Long memberId) {
Member member = findById(memberId);
return member.getImageUrl() != null ? member.getImageUrl() : "default-image-url";
}

public List<Member> findActiveManagers() {
List<Member> activeManagers = loadMemberPort.findActiveManagers();

if (activeManagers.isEmpty()) {
return List.of();
}
return activeManagers;
}

public List<Member> findReviewers() {
return loadMemberPort.findReviewers();
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
package clap.server.application.port.outbound.member;

import clap.server.domain.model.member.Member;
import clap.server.domain.model.task.Task; // Task 클래스 임포트 확인
import clap.server.adapter.outbound.persistense.entity.task.constant.TaskStatus; // TaskStatus 임포트

import java.util.List;
import java.util.Optional;

Expand All @@ -11,12 +10,6 @@ public interface LoadMemberPort {

Optional<Member> findActiveMemberById(Long id);

List<Member> findActiveManagers();

List<Task> findTasksByMemberIdAndStatus(Long memberId, List<TaskStatus> taskStatuses);

int getRemainingTasks(Long memberId);

Optional<Member> findByNickname(String nickname);

List<Member> findReviewers();
Expand Down
Loading
Loading