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 @@ -17,6 +17,7 @@ public static FindNotificationListResponse toFindNoticeListResponse(Notification
notification.getReceiver().getMemberId(),
notification.getTask().getTitle(),
notification.getMessage() != null ? notification.getMessage() : null,
notification.isRead(),
notification.getCreatedAt()
);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@
import clap.server.application.port.inbound.task.UpdateTaskBoardUsecase;
import clap.server.application.port.inbound.task.UpdateTaskOrderAndStatusUsecase;
import clap.server.application.port.outbound.task.LoadTaskPort;
import clap.server.domain.policy.task.TaskOrderCalculationPolicy;
import clap.server.domain.policy.task.ProcessorValidationPolicy;
import clap.server.common.annotation.architecture.ApplicationService;
import clap.server.domain.model.member.Member;
import clap.server.domain.model.task.Task;
import clap.server.domain.policy.task.ProcessorValidationPolicy;
import clap.server.domain.policy.task.TaskOrderCalculationPolicy;
import clap.server.domain.policy.task.TaskPolicyConstants;
import clap.server.exception.ApplicationException;
import clap.server.exception.code.TaskErrorCode;
Expand Down Expand Up @@ -51,15 +51,15 @@ public void updateTaskOrder(Long processorId, UpdateTaskOrderRequest request) {

// 가장 상위로 이동
if (request.prevTaskId() == 0) {
Task nextTask = findByIdAndStatus(request.targetTaskId(), targetTask.getTaskStatus());
Task nextTask = findByIdAndStatus(request.nextTaskId(), targetTask.getTaskStatus());
// 해당 상태에서 바로 앞에 있는 작업 찾기
Task prevTask = loadTaskPort.findPrevOrderTaskByProcessorIdAndStatus(processorId, targetTask.getTaskStatus(), nextTask.getProcessorOrder()).orElse(null);
long newOrder = taskOrderCalculationPolicy.calculateOrderForTop(targetTask, nextTask);
updateNewTaskOrder(targetTask, newOrder);
}
// 가장 하위로 이동
else if (request.nextTaskId() == 0) {
Task prevTask = findByIdAndStatus(request.targetTaskId(), targetTask.getTaskStatus());
Task prevTask = findByIdAndStatus(request.prevTaskId(), targetTask.getTaskStatus());
// 해당 상태에서 바로 뒤에 있는 작업 찾기
Task nextTask = loadTaskPort.findNextOrderTaskByProcessorIdAndStatus(processorId, targetTask.getTaskStatus(), prevTask.getProcessorOrder()).orElse(null);
long newOrder = taskOrderCalculationPolicy.calculateOrderForBottom(prevTask, nextTask);
Expand Down Expand Up @@ -99,13 +99,13 @@ public void updateTaskOrderAndStatus(Long processorId, UpdateTaskOrderRequest re
processorValidationPolicy.validateProcessor(processorId, targetTask);

if (request.prevTaskId() == 0) {
Task nextTask = findByIdAndStatus(request.targetTaskId(), targetStatus);
Task nextTask = findByIdAndStatus(request.nextTaskId(), targetStatus);
// 해당 상태에서 바로 앞 있는 작업 찾기
Task prevTask = loadTaskPort.findPrevOrderTaskByProcessorIdAndStatus(processorId, targetStatus, nextTask.getProcessorOrder()).orElse(null);
long newOrder = taskOrderCalculationPolicy.calculateOrderForTop(prevTask,nextTask);
updateNewTaskOrderAndStatus(targetStatus, targetTask, newOrder);
} else if (request.nextTaskId() == 0) {
Task prevTask = findByIdAndStatus(request.targetTaskId(), targetStatus);
Task prevTask = findByIdAndStatus(request.prevTaskId(), targetStatus);
// 해당 상태에서 바로 뒤에 있는 작업 찾기
Task nextTask = loadTaskPort.findNextOrderTaskByProcessorIdAndStatus(processorId, targetStatus, prevTask.getProcessorOrder()).orElse(null);
long newOrder = taskOrderCalculationPolicy.calculateOrderForBottom(prevTask, nextTask);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,18 +12,16 @@ public class TaskOrderCalculationPolicy {

public long calculateOrderForTop(Task prevTask, Task nextTask) {
Long prevTaskOrder = prevTask == null ? null : prevTask.getProcessorOrder();
if (prevTaskOrder == null){
if (prevTaskOrder == null) {
return nextTask.getProcessorOrder() - DEFAULT_PROCESSOR_ORDER_GAP;
}
return calculateNewProcessorOrder(prevTaskOrder, nextTask.getProcessorOrder());
} else return calculateNewProcessorOrder(prevTaskOrder, nextTask.getProcessorOrder());
}

public long calculateOrderForBottom(Task prevTask, Task nextTask) {
Long nextTaskOrder = nextTask == null ? null : nextTask.getProcessorOrder();
if (nextTaskOrder == null){
if (nextTaskOrder == null) {
return prevTask.getProcessorOrder() + DEFAULT_PROCESSOR_ORDER_GAP;
}
return calculateNewProcessorOrder(prevTask.getProcessorOrder(), nextTaskOrder);
} else return calculateNewProcessorOrder(prevTask.getProcessorOrder(), nextTaskOrder);
}

public long calculateNewProcessorOrder(Long prevTaskOrder, Long nextTaskOrder) {
Expand Down