修改代码实现
This commit is contained in:
parent
7e4994f058
commit
177e096b8e
|
|
@ -53,7 +53,7 @@ public class TaskPlanController extends BaseController
|
||||||
{
|
{
|
||||||
taskPlanDTO.setPlanType(PlanTypeEnum.TIMED);
|
taskPlanDTO.setPlanType(PlanTypeEnum.TIMED);
|
||||||
setDefaultPlan(taskPlanDTO);
|
setDefaultPlan(taskPlanDTO);
|
||||||
Long planId = taskPlanService.createTimedTaskPlan(TaskPlanControllerConvert.to(taskPlanDTO));
|
Long planId = taskPlanService.createTimedTaskPlan(TaskPlanControllerConvert.to(taskPlanDTO),true);
|
||||||
return R.ok(planId);
|
return R.ok(planId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -65,7 +65,7 @@ public class TaskPlanController extends BaseController
|
||||||
{
|
{
|
||||||
taskPlanDTO.setPlanType(PlanTypeEnum.CYCLE);
|
taskPlanDTO.setPlanType(PlanTypeEnum.CYCLE);
|
||||||
setDefaultPlan(taskPlanDTO);
|
setDefaultPlan(taskPlanDTO);
|
||||||
Long planId = taskPlanService.createCycleTaskPlan(TaskPlanControllerConvert.to(taskPlanDTO));
|
Long planId = taskPlanService.createCycleTaskPlan(TaskPlanControllerConvert.to(taskPlanDTO),true);
|
||||||
return R.ok(planId);
|
return R.ok(planId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
package com.ruoyi.task.domain.impl;
|
package com.ruoyi.task.domain.impl;
|
||||||
|
|
||||||
|
import com.ruoyi.task.api.enums.ExecuteTypeEnum;
|
||||||
import com.ruoyi.task.api.enums.PlanTypeEnum;
|
import com.ruoyi.task.api.enums.PlanTypeEnum;
|
||||||
import com.ruoyi.task.domain.api.ITaskPlanDomain;
|
import com.ruoyi.task.domain.api.ITaskPlanDomain;
|
||||||
import com.ruoyi.task.domain.convert.TaskPlanConvert;
|
import com.ruoyi.task.domain.convert.TaskPlanConvert;
|
||||||
|
|
@ -10,6 +11,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -50,6 +52,9 @@ public class TaskPlanDomainImpl implements ITaskPlanDomain {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public TaskPlan updateTaskPlan(TaskPlan taskPlan) {
|
public TaskPlan updateTaskPlan(TaskPlan taskPlan) {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// 转换为实体
|
// 转换为实体
|
||||||
TaskPlanEntity entity = TaskPlanConvert.toEntity(taskPlan);
|
TaskPlanEntity entity = TaskPlanConvert.toEntity(taskPlan);
|
||||||
// 更新数据库
|
// 更新数据库
|
||||||
|
|
|
||||||
|
|
@ -12,14 +12,14 @@ public interface ITaskPlanService {
|
||||||
* @param taskPlanDTO 任务计划DTO
|
* @param taskPlanDTO 任务计划DTO
|
||||||
* @return 任务计划ID
|
* @return 任务计划ID
|
||||||
*/
|
*/
|
||||||
Long createTimedTaskPlan(TaskPlanDTO taskPlanDTO);
|
Long createTimedTaskPlan(TaskPlanDTO taskPlanDTO,boolean create);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 创建周期任务计划
|
* 创建周期任务计划
|
||||||
* @param taskPlanDTO 任务计划DTO
|
* @param taskPlanDTO 任务计划DTO
|
||||||
* @return 任务计划ID
|
* @return 任务计划ID
|
||||||
*/
|
*/
|
||||||
Long createCycleTaskPlan(TaskPlanDTO taskPlanDTO);
|
Long createCycleTaskPlan(TaskPlanDTO taskPlanDTO,boolean create);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据ID获取任务计划
|
* 根据ID获取任务计划
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,7 @@ public class TaskPlanServiceImpl implements ITaskPlanService {
|
||||||
private ITaskDomain taskDomain;
|
private ITaskDomain taskDomain;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Long createTimedTaskPlan(TaskPlanDTO taskPlanDTO) {
|
public Long createTimedTaskPlan(TaskPlanDTO taskPlanDTO,boolean create) {
|
||||||
TaskPlan taskPlan = TaskPlanDTOConvert.toDomain(taskPlanDTO);
|
TaskPlan taskPlan = TaskPlanDTOConvert.toDomain(taskPlanDTO);
|
||||||
|
|
||||||
// 校验PlanTypeEnum
|
// 校验PlanTypeEnum
|
||||||
|
|
@ -44,16 +44,22 @@ public class TaskPlanServiceImpl implements ITaskPlanService {
|
||||||
taskPlan.setEndDate(taskPlan.getExecuteTime());
|
taskPlan.setEndDate(taskPlan.getExecuteTime());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(create){
|
||||||
|
TaskPlan result = taskPlanDomain.createTimedTaskPlan(taskPlan);
|
||||||
|
// 创建对应的任务记录
|
||||||
|
createTaskFromPlan(result);
|
||||||
|
return result.getId();
|
||||||
|
}else {
|
||||||
|
taskPlanDomain.updateTaskPlan(taskPlan);
|
||||||
|
createTaskFromPlan(taskPlan);
|
||||||
|
return taskPlan.getId();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
TaskPlan result = taskPlanDomain.createTimedTaskPlan(taskPlan);
|
|
||||||
|
|
||||||
// 创建对应的任务记录
|
|
||||||
createTaskFromPlan(result);
|
|
||||||
return result.getId();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Long createCycleTaskPlan(TaskPlanDTO taskPlanDTO) {
|
public Long createCycleTaskPlan(TaskPlanDTO taskPlanDTO,boolean create) {
|
||||||
TaskPlan taskPlan = TaskPlanDTOConvert.toDomain(taskPlanDTO);
|
TaskPlan taskPlan = TaskPlanDTOConvert.toDomain(taskPlanDTO);
|
||||||
|
|
||||||
// 校验PlanTypeEnum
|
// 校验PlanTypeEnum
|
||||||
|
|
@ -65,13 +71,19 @@ public class TaskPlanServiceImpl implements ITaskPlanService {
|
||||||
if (taskPlan.getPlanType() == null) {
|
if (taskPlan.getPlanType() == null) {
|
||||||
taskPlan.setPlanType(PlanTypeEnum.CYCLE);
|
taskPlan.setPlanType(PlanTypeEnum.CYCLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
TaskPlan result = taskPlanDomain.createCycleTaskPlan(taskPlan);
|
|
||||||
|
if(create){
|
||||||
// 创建对应的任务记录
|
TaskPlan result = taskPlanDomain.createCycleTaskPlan(taskPlan);
|
||||||
createTaskFromPlan(result);
|
// 创建对应的任务记录
|
||||||
|
createTaskFromPlan(result);
|
||||||
return result.getId();
|
return result.getId();
|
||||||
|
}else {
|
||||||
|
taskPlanDomain.updateTaskPlan(taskPlan);
|
||||||
|
createTaskFromPlan(taskPlan);
|
||||||
|
return taskPlan.getId();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -264,8 +276,31 @@ public class TaskPlanServiceImpl implements ITaskPlanService {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean updateTaskPlan(TaskPlanDTO taskPlanDTO) {
|
public boolean updateTaskPlan(TaskPlanDTO taskPlanDTO) {
|
||||||
TaskPlan taskPlan = TaskPlanDTOConvert.toDomain(taskPlanDTO);
|
// 先查询原始数据
|
||||||
TaskPlan result = taskPlanDomain.updateTaskPlan(taskPlan);
|
TaskPlan existingTaskPlan = taskPlanDomain.getTaskPlanById(taskPlanDTO.getId());
|
||||||
|
if (existingTaskPlan == null) {
|
||||||
|
throw new IllegalArgumentException("任务计划不存在");
|
||||||
|
}
|
||||||
|
|
||||||
|
// 将传入的非空字段覆盖到原始数据
|
||||||
|
TaskPlan updateTaskPlan = TaskPlanDTOConvert.toDomain(taskPlanDTO);
|
||||||
|
if (updateTaskPlan.getPlanName() != null) existingTaskPlan.setPlanName(updateTaskPlan.getPlanName());
|
||||||
|
if (updateTaskPlan.getPlanType() != null) existingTaskPlan.setPlanType(updateTaskPlan.getPlanType());
|
||||||
|
if (updateTaskPlan.getCycleType() != null) existingTaskPlan.setCycleType(updateTaskPlan.getCycleType());
|
||||||
|
if (updateTaskPlan.getCycleValue() != null) existingTaskPlan.setCycleValue(updateTaskPlan.getCycleValue());
|
||||||
|
if (updateTaskPlan.getExecuteType() != null) existingTaskPlan.setExecuteType(updateTaskPlan.getExecuteType());
|
||||||
|
if (updateTaskPlan.getExecuteTime() != null) existingTaskPlan.setExecuteTime(updateTaskPlan.getExecuteTime());
|
||||||
|
if (updateTaskPlan.getDuration() != null) existingTaskPlan.setDuration(updateTaskPlan.getDuration());
|
||||||
|
if (updateTaskPlan.getStartDate() != null) existingTaskPlan.setStartDate(updateTaskPlan.getStartDate());
|
||||||
|
if (updateTaskPlan.getEndDate() != null) existingTaskPlan.setEndDate(updateTaskPlan.getEndDate());
|
||||||
|
if (updateTaskPlan.getRouteId() != null) existingTaskPlan.setRouteId(updateTaskPlan.getRouteId());
|
||||||
|
if (updateTaskPlan.getUavId() != null) existingTaskPlan.setUavId(updateTaskPlan.getUavId());
|
||||||
|
if (updateTaskPlan.getStatus() != null) existingTaskPlan.setStatus(updateTaskPlan.getStatus());
|
||||||
|
if (updateTaskPlan.getDescription() != null) existingTaskPlan.setDescription(updateTaskPlan.getDescription());
|
||||||
|
if (updateTaskPlan.getRouteUrl() != null) existingTaskPlan.setRouteUrl(updateTaskPlan.getRouteUrl());
|
||||||
|
if (updateTaskPlan.getRemark() != null) existingTaskPlan.setRemark(updateTaskPlan.getRemark());
|
||||||
|
|
||||||
|
TaskPlan result = taskPlanDomain.updateTaskPlan(existingTaskPlan);
|
||||||
|
|
||||||
if (result != null) {
|
if (result != null) {
|
||||||
// 先删除该计划下的所有未执行任务
|
// 先删除该计划下的所有未执行任务
|
||||||
|
|
@ -275,16 +310,10 @@ public class TaskPlanServiceImpl implements ITaskPlanService {
|
||||||
taskDomain.deleteTask(task.getId());
|
taskDomain.deleteTask(task.getId());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(Objects.equals(taskPlan.getPlanType(),PlanTypeEnum.TIMED)){
|
|
||||||
createTimedTaskPlan(taskPlanDTO);
|
|
||||||
}else {
|
|
||||||
createCycleTaskPlan(taskPlanDTO);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
createTaskFromPlan(existingTaskPlan);
|
||||||
|
|
||||||
return result != null;
|
return result != null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue