Browse Source

考试任务批量删除

master
luoweijian 1 month ago
parent
commit
910c5bea57
  1. 2
      src/main/java/com/project/task/application/TaskApplicationService.java
  2. 2
      src/main/java/com/project/task/application/impl/TaskApplicationServiceImpl.java
  3. 4
      src/main/java/com/project/task/controller/TaskController.java
  4. 6
      src/main/java/com/project/task/domain/dto/TaskDTO.java
  5. 2
      src/main/java/com/project/task/domain/service/DeleteTaskDomainService.java
  6. 21
      src/main/java/com/project/task/domain/service/impl/DeleteTaskDomainServiceImpl.java

2
src/main/java/com/project/task/application/TaskApplicationService.java

@ -10,7 +10,7 @@ import java.util.List;
public interface TaskApplicationService { public interface TaskApplicationService {
Result<TaskDTO> saveOrUpdate(TaskDTO dto) throws Exception; Result<TaskDTO> saveOrUpdate(TaskDTO dto) throws Exception;
Result<String> batchDelete(String ids) throws Exception; Result<String> batchDelete(List<Long> ids) throws Exception;
Result<PageResult<TaskDTO>> search(TaskParam param) throws Exception; Result<PageResult<TaskDTO>> search(TaskParam param) throws Exception;

2
src/main/java/com/project/task/application/impl/TaskApplicationServiceImpl.java

@ -40,7 +40,7 @@ public class TaskApplicationServiceImpl implements TaskApplicationService {
} }
@Override @Override
public Result<String> batchDelete(String ids) throws Exception { public Result<String> batchDelete(List<Long> ids) throws Exception {
return deleteTaskDomainService.batchDelete(ids); return deleteTaskDomainService.batchDelete(ids);
} }

4
src/main/java/com/project/task/controller/TaskController.java

@ -41,7 +41,7 @@ public class TaskController {
@PostMapping("/batchDelete") @PostMapping("/batchDelete")
@OperationLog(module = "考试任务") @OperationLog(module = "考试任务")
public Result<String> batchDelete(String ids) throws Exception { public Result<String> batchDelete(@RequestParam("idList") List<Long> idList) throws Exception {
return taskApplicationService.batchDelete(ids); return taskApplicationService.batchDelete(idList);
} }
} }

6
src/main/java/com/project/task/domain/dto/TaskDTO.java

@ -1,7 +1,9 @@
package com.project.task.domain.dto; package com.project.task.domain.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.project.base.domain.dto.BaseDTO; import com.project.base.domain.dto.BaseDTO;
import lombok.Data; import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
@ -11,7 +13,11 @@ public class TaskDTO extends BaseDTO {
private Long id; private Long id;
private String name; private String name;
@DateTimeFormat(pattern = "yyyy-MM-dd") // 专门用于表单数据绑定
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date startTime; private Date startTime;
@DateTimeFormat(pattern = "yyyy-MM-dd") // 专门用于表单数据绑定
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date endTime; private Date endTime;
private Long lineId; private Long lineId;
private String lineName; private String lineName;

2
src/main/java/com/project/task/domain/service/DeleteTaskDomainService.java

@ -6,6 +6,6 @@ import java.util.List;
public interface DeleteTaskDomainService { public interface DeleteTaskDomainService {
Result<String> batchDelete(String ids) throws Exception; Result<String> batchDelete(List<Long> ids) throws Exception;
} }

21
src/main/java/com/project/task/domain/service/impl/DeleteTaskDomainServiceImpl.java

@ -1,17 +1,16 @@
package com.project.task.domain.service.impl; package com.project.task.domain.service.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateUtil; 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.exception.BusinessErrorException;
import com.project.base.domain.result.Result; import com.project.base.domain.result.Result;
import com.project.task.domain.entity.TaskEntity; import com.project.task.domain.entity.TaskEntity;
import com.project.task.domain.service.DeleteTaskDomainService; import com.project.task.domain.service.DeleteTaskDomainService;
import com.project.task.domain.service.TaskBaseService; import com.project.task.domain.service.TaskBaseService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.Arrays;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
@ -20,19 +19,25 @@ public class DeleteTaskDomainServiceImpl implements DeleteTaskDomainService {
@Autowired @Autowired
private TaskBaseService taskBaseService; private TaskBaseService taskBaseService;
@Override @Override
public Result<String> batchDelete(String ids) throws Exception { public Result<String> batchDelete(List<Long> ids) throws Exception {
if (StringUtils.isBlank(ids)) { if (CollUtil.isEmpty(ids)) {
throw new BusinessErrorException("id不能为空"); throw new BusinessErrorException("id不能为空");
} }
List<String> idList = Arrays.asList(ids.split(","));
long count = taskBaseService.lambdaQuery() long count = taskBaseService.lambdaQuery()
.in(TaskEntity::getId, idList) .in(TaskEntity::getId, ids)
.ge(TaskEntity::getStartTime, DateUtil.beginOfDay(new Date())) .ge(TaskEntity::getStartTime, DateUtil.beginOfDay(new Date()))
.count(); .count();
if (count > 0) { if (count > 0) {
throw new BusinessErrorException("已开考 、 已截止的考试任务不允许删除"); 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("删除成功"); return Result.success("删除成功");
} }
} }

Loading…
Cancel
Save