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 {
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;

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

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

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

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

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

@ -6,6 +6,6 @@ import java.util.List;
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;
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<String> batchDelete(String ids) throws Exception {
if (StringUtils.isBlank(ids)) {
public Result<String> batchDelete(List<Long> ids) throws Exception {
if (CollUtil.isEmpty(ids)) {
throw new BusinessErrorException("id不能为空");
}
List<String> 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("删除成功");
}
}

Loading…
Cancel
Save