diff --git a/src/main/java/com/guo/learningprogresstracker/controller/TaskController.java b/src/main/java/com/guo/learningprogresstracker/controller/TaskController.java index caf510e..1f3bb4e 100644 --- a/src/main/java/com/guo/learningprogresstracker/controller/TaskController.java +++ b/src/main/java/com/guo/learningprogresstracker/controller/TaskController.java @@ -41,8 +41,7 @@ public class TaskController { @PostMapping @Operation(summary = "添加新任务") - public CommonResult addTask(@RequestBody @Validated({Ops.CreateG.class}) TaskRequest taskRequest) { - System.out.println("Token: " + StpUtil.getTokenValue()); + public CommonResult addTask(@RequestBody @Validated({Ops.CreateG.class}) TaskRequest taskRequest) throws ErrorParameterException { return CommonResult.success(tasksService.addTask(taskRequest)); } diff --git a/src/main/java/com/guo/learningprogresstracker/service/TasksService.java b/src/main/java/com/guo/learningprogresstracker/service/TasksService.java index 680cd53..c047621 100644 --- a/src/main/java/com/guo/learningprogresstracker/service/TasksService.java +++ b/src/main/java/com/guo/learningprogresstracker/service/TasksService.java @@ -6,6 +6,7 @@ import com.guo.learningprogresstracker.dto.TaskInfo; import com.guo.learningprogresstracker.dto.request.TaskRequest; import com.guo.learningprogresstracker.dto.response.TaskInfoResponse; import com.guo.learningprogresstracker.entity.TaskEntity; +import com.guo.learningprogresstracker.exception.ErrorParameterException; import java.rmi.ServerException; @@ -18,7 +19,7 @@ public interface TasksService extends IService { Page taskList(Integer pageNum, Integer pageSize); - String addTask(TaskRequest taskRequest); + String addTask(TaskRequest taskRequest) throws ErrorParameterException; TaskInfoResponse getTask(String taskId); diff --git a/src/main/java/com/guo/learningprogresstracker/service/impl/TasksServiceImpl.java b/src/main/java/com/guo/learningprogresstracker/service/impl/TasksServiceImpl.java index c721fc4..b99d03f 100644 --- a/src/main/java/com/guo/learningprogresstracker/service/impl/TasksServiceImpl.java +++ b/src/main/java/com/guo/learningprogresstracker/service/impl/TasksServiceImpl.java @@ -10,6 +10,7 @@ import com.guo.learningprogresstracker.dto.request.TaskRequest; import com.guo.learningprogresstracker.dto.response.TaskInfoResponse; import com.guo.learningprogresstracker.dto.response.TasksListInfoResponse; import com.guo.learningprogresstracker.entity.TaskEntity; +import com.guo.learningprogresstracker.exception.ErrorParameterException; import com.guo.learningprogresstracker.mapStruct.RequestConvert; import com.guo.learningprogresstracker.mapStruct.TaskConvert; import com.guo.learningprogresstracker.mapStruct.TaskConvertImpl; @@ -19,6 +20,7 @@ import com.guo.learningprogresstracker.utils.CalculatedPriorityTool; import com.guo.learningprogresstracker.utils.GenerateNumTool; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.apache.ibatis.exceptions.TooManyResultsException; import org.springframework.stereotype.Service; import java.rmi.ServerException; @@ -48,8 +50,14 @@ public class TasksServiceImpl extends ServiceImpl } @Override - public String addTask(TaskRequest taskRequest) { + public String addTask(TaskRequest taskRequest) throws ErrorParameterException { TaskEntity task= TaskConvert.MAPPER.taskRequestToTaskEntity(taskRequest); + + if (this.exists(Wrappers.lambdaQuery(TaskEntity.class) + .eq(TaskEntity::getTaskName, task.getTaskName()))) { + throw new ErrorParameterException(String.format("任务名[%s]重复", task.getTaskName())); + } + task.setTaskNum(GenerateNumTool.generateNum("TASK")); PriorityDto priorityDto = RequestConvert.MAPPER.taskRequestToPriorityDto(taskRequest); task.setCalculatedPriority(CalculatedPriorityTool.calculatedPriority(priorityDto));