diff --git a/src/main/java/com/project/task/application/TaskApplicationService.java b/src/main/java/com/project/task/application/TaskApplicationService.java index 0078fb7..a523507 100644 --- a/src/main/java/com/project/task/application/TaskApplicationService.java +++ b/src/main/java/com/project/task/application/TaskApplicationService.java @@ -10,7 +10,7 @@ import java.util.List; public interface TaskApplicationService { Result saveOrUpdate(TaskDTO dto) throws Exception; - Result batchDelete(String ids) throws Exception; + Result batchDelete(List ids) throws Exception; Result> search(TaskParam param) throws Exception; diff --git a/src/main/java/com/project/task/application/impl/TaskApplicationServiceImpl.java b/src/main/java/com/project/task/application/impl/TaskApplicationServiceImpl.java index 178b526..d617dde 100644 --- a/src/main/java/com/project/task/application/impl/TaskApplicationServiceImpl.java +++ b/src/main/java/com/project/task/application/impl/TaskApplicationServiceImpl.java @@ -40,7 +40,7 @@ public class TaskApplicationServiceImpl implements TaskApplicationService { } @Override - public Result batchDelete(String ids) throws Exception { + public Result batchDelete(List ids) throws Exception { return deleteTaskDomainService.batchDelete(ids); } diff --git a/src/main/java/com/project/task/controller/TaskController.java b/src/main/java/com/project/task/controller/TaskController.java index 1c4f3ef..5ca39dd 100644 --- a/src/main/java/com/project/task/controller/TaskController.java +++ b/src/main/java/com/project/task/controller/TaskController.java @@ -41,7 +41,7 @@ public class TaskController { @PostMapping("/batchDelete") @OperationLog(module = "考试任务") - public Result batchDelete(String ids) throws Exception { - return taskApplicationService.batchDelete(ids); + public Result batchDelete(@RequestParam("idList") List idList) throws Exception { + return taskApplicationService.batchDelete(idList); } } diff --git a/src/main/java/com/project/task/domain/dto/TaskDTO.java b/src/main/java/com/project/task/domain/dto/TaskDTO.java index 4bbb98b..fd0aac1 100644 --- a/src/main/java/com/project/task/domain/dto/TaskDTO.java +++ b/src/main/java/com/project/task/domain/dto/TaskDTO.java @@ -1,7 +1,9 @@ package com.project.task.domain.dto; +import com.fasterxml.jackson.annotation.JsonFormat; import com.project.base.domain.dto.BaseDTO; import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; import java.util.Date; import java.util.List; @@ -11,7 +13,11 @@ public class TaskDTO extends BaseDTO { private Long id; private String name; + @DateTimeFormat(pattern = "yyyy-MM-dd") // 专门用于表单数据绑定 + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") private Date startTime; + @DateTimeFormat(pattern = "yyyy-MM-dd") // 专门用于表单数据绑定 + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") private Date endTime; private Long lineId; private String lineName; diff --git a/src/main/java/com/project/task/domain/service/DeleteTaskDomainService.java b/src/main/java/com/project/task/domain/service/DeleteTaskDomainService.java index 0a1a6e2..47c6974 100644 --- a/src/main/java/com/project/task/domain/service/DeleteTaskDomainService.java +++ b/src/main/java/com/project/task/domain/service/DeleteTaskDomainService.java @@ -6,6 +6,6 @@ import java.util.List; public interface DeleteTaskDomainService { - Result batchDelete(String ids) throws Exception; + Result batchDelete(List ids) throws Exception; } diff --git a/src/main/java/com/project/task/domain/service/impl/DeleteTaskDomainServiceImpl.java b/src/main/java/com/project/task/domain/service/impl/DeleteTaskDomainServiceImpl.java index c14ca4c..aceefcd 100644 --- a/src/main/java/com/project/task/domain/service/impl/DeleteTaskDomainServiceImpl.java +++ b/src/main/java/com/project/task/domain/service/impl/DeleteTaskDomainServiceImpl.java @@ -1,17 +1,16 @@ package com.project.task.domain.service.impl; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.DateUtil; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.project.base.domain.enums.StatusEnum; import com.project.base.domain.exception.BusinessErrorException; import com.project.base.domain.result.Result; import com.project.task.domain.entity.TaskEntity; import com.project.task.domain.service.DeleteTaskDomainService; import com.project.task.domain.service.TaskBaseService; -import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.Arrays; import java.util.Date; import java.util.List; @@ -20,19 +19,25 @@ public class DeleteTaskDomainServiceImpl implements DeleteTaskDomainService { @Autowired private TaskBaseService taskBaseService; @Override - public Result batchDelete(String ids) throws Exception { - if (StringUtils.isBlank(ids)) { + public Result batchDelete(List ids) throws Exception { + if (CollUtil.isEmpty(ids)) { throw new BusinessErrorException("id不能为空"); } - List idList = Arrays.asList(ids.split(",")); long count = taskBaseService.lambdaQuery() - .in(TaskEntity::getId, idList) + .in(TaskEntity::getId, ids) .ge(TaskEntity::getStartTime, DateUtil.beginOfDay(new Date())) .count(); if (count > 0) { throw new BusinessErrorException("已开考 、 已截止的考试任务不允许删除"); } - taskBaseService.removeBatchByIds(idList); + count = taskBaseService.lambdaQuery() + .in(TaskEntity::getId, ids) + .eq(TaskEntity::getDeleted , StatusEnum.Delete.getValue()) + .count(); + if (count > 0) { + throw new BusinessErrorException("任务不存在或已被删除"); + } + taskBaseService.removeBatchByIds(ids); return Result.success("删除成功"); } }