From 3f18e47464ce7508dacd16c99c993520605c3f27 Mon Sep 17 00:00:00 2001 From: joowojr Date: Sat, 15 Feb 2025 19:00:09 +0900 Subject: [PATCH] =?UTF-8?q?CLAP-437=20Fix:=20=EC=98=A4=EB=A5=98=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../adapter/inbound/web/task/CancelTaskController.java | 2 +- .../server/application/service/task/UpdateTaskService.java | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/main/java/clap/server/adapter/inbound/web/task/CancelTaskController.java b/src/main/java/clap/server/adapter/inbound/web/task/CancelTaskController.java index 72b12727..07557dc8 100644 --- a/src/main/java/clap/server/adapter/inbound/web/task/CancelTaskController.java +++ b/src/main/java/clap/server/adapter/inbound/web/task/CancelTaskController.java @@ -20,7 +20,7 @@ public class CancelTaskController { private final CancelTaskUsecase cancelTaskUsecase; @Operation(summary = "작업 취소") - @Secured("ROLE_USER") + @Secured({"ROLE_USER","ROLE_MANAGER"}) @PatchMapping("/{taskId}/cancel") public void cancelTask(@PathVariable Long taskId, @AuthenticationPrincipal SecurityUserDetails userDetails) { cancelTaskUsecase.cancleTask(taskId, userDetails.getUserId()); diff --git a/src/main/java/clap/server/application/service/task/UpdateTaskService.java b/src/main/java/clap/server/application/service/task/UpdateTaskService.java index 15db332f..894a30f8 100644 --- a/src/main/java/clap/server/application/service/task/UpdateTaskService.java +++ b/src/main/java/clap/server/application/service/task/UpdateTaskService.java @@ -48,7 +48,10 @@ public void updateTaskStatus(Long memberId, Long taskId, TaskStatus targetTaskSt } if (!task.getTaskStatus().equals(targetTaskStatus)) { - updateProcessorTaskCountService.handleTaskStatusChange(task.getProcessor(), task.getTaskStatus(), targetTaskStatus); + // 작업 종료에서의 상태 전환은 count를 업데이트를 하지 않음 + if(task.getProcessor()!=null) { + updateProcessorTaskCountService.handleTaskStatusChange(task.getProcessor(), task.getTaskStatus(), TaskStatus.TERMINATED); + } task.updateTaskStatus(targetTaskStatus); Task updatedTask = taskService.upsert(task);