修改枚举
This commit is contained in:
parent
8f7712ecb0
commit
840ed110c0
|
|
@ -2,15 +2,11 @@ package com.ruoyi.task.controller;
|
||||||
|
|
||||||
import com.ruoyi.common.core.domain.R;
|
import com.ruoyi.common.core.domain.R;
|
||||||
import com.ruoyi.common.core.web.controller.BaseController;
|
import com.ruoyi.common.core.web.controller.BaseController;
|
||||||
import com.ruoyi.common.core.web.domain.AjaxResult;
|
|
||||||
import com.ruoyi.common.core.web.page.TableDataInfo;
|
|
||||||
import com.ruoyi.common.security.annotation.InnerAuth;
|
|
||||||
import com.ruoyi.task.api.domain.TaskPlanDTO;
|
import com.ruoyi.task.api.domain.TaskPlanDTO;
|
||||||
import com.ruoyi.task.api.domain.TaskPlanQueryDTO;
|
import com.ruoyi.task.api.domain.TaskPlanQueryDTO;
|
||||||
import com.ruoyi.task.api.enums.ExecuteTypeEnum;
|
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.api.enums.StatusEnum;
|
import com.ruoyi.task.api.enums.StatusEnum;
|
||||||
import com.ruoyi.task.domain.model.TaskPlan;
|
|
||||||
import com.ruoyi.task.service.api.ITaskPlanService;
|
import com.ruoyi.task.service.api.ITaskPlanService;
|
||||||
import com.ruoyi.task.controller.convert.TaskPlanControllerConvert;
|
import com.ruoyi.task.controller.convert.TaskPlanControllerConvert;
|
||||||
import com.ruoyi.task.controller.convert.TaskPlanQueryControllerConvert;
|
import com.ruoyi.task.controller.convert.TaskPlanQueryControllerConvert;
|
||||||
|
|
@ -49,11 +45,11 @@ public class TaskPlanController extends BaseController
|
||||||
* 创建定时任务计划
|
* 创建定时任务计划
|
||||||
*/
|
*/
|
||||||
@PostMapping("/timed")
|
@PostMapping("/timed")
|
||||||
public R<Long> createTimedTaskPlan(@RequestBody TaskPlanDTO taskPlanDTO)
|
public R<Long> createNormalTimedTaskPlan(@RequestBody TaskPlanDTO taskPlanDTO)
|
||||||
{
|
{
|
||||||
taskPlanDTO.setPlanType(PlanTypeEnum.TIMED);
|
taskPlanDTO.setPlanType(PlanTypeEnum.TIMED);
|
||||||
setDefaultPlan(taskPlanDTO);
|
setDefaultPlan(taskPlanDTO);
|
||||||
Long planId = taskPlanService.createTimedTaskPlan(TaskPlanControllerConvert.to(taskPlanDTO),true);
|
Long planId = taskPlanService.createNormalTimedTaskPlan(TaskPlanControllerConvert.to(taskPlanDTO),true);
|
||||||
return R.ok(planId);
|
return R.ok(planId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ public interface ITaskPlanService {
|
||||||
* @param taskPlanDTO 任务计划DTO
|
* @param taskPlanDTO 任务计划DTO
|
||||||
* @return 任务计划ID
|
* @return 任务计划ID
|
||||||
*/
|
*/
|
||||||
Long createTimedTaskPlan(TaskPlanDTO taskPlanDTO,boolean create);
|
Long createNormalTimedTaskPlan(TaskPlanDTO taskPlanDTO, boolean create);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 创建周期任务计划
|
* 创建周期任务计划
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,7 @@ public class TaskPlanServiceImpl implements ITaskPlanService {
|
||||||
private ITaskDomain taskDomain;
|
private ITaskDomain taskDomain;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Long createTimedTaskPlan(TaskPlanDTO taskPlanDTO,boolean create) {
|
public Long createNormalTimedTaskPlan(TaskPlanDTO taskPlanDTO, boolean create) {
|
||||||
TaskPlan taskPlan = TaskPlanDTOConvert.toDomain(taskPlanDTO);
|
TaskPlan taskPlan = TaskPlanDTOConvert.toDomain(taskPlanDTO);
|
||||||
|
|
||||||
// 校验PlanTypeEnum
|
// 校验PlanTypeEnum
|
||||||
|
|
@ -33,11 +33,6 @@ public class TaskPlanServiceImpl implements ITaskPlanService {
|
||||||
throw new IllegalArgumentException("定时任务计划不能设置为周期类型");
|
throw new IllegalArgumentException("定时任务计划不能设置为周期类型");
|
||||||
}
|
}
|
||||||
|
|
||||||
// 如果PlanTypeEnum为空,设置为定时类型
|
|
||||||
if (taskPlan.getPlanType() == null) {
|
|
||||||
taskPlan.setPlanType(PlanTypeEnum.TIMED);
|
|
||||||
}
|
|
||||||
|
|
||||||
// 设置结束时间:开始时间 + 执行时长
|
// 设置结束时间:开始时间 + 执行时长
|
||||||
if (taskPlan.getExecuteTime() != null && taskPlan.getDuration() != null) {
|
if (taskPlan.getExecuteTime() != null && taskPlan.getDuration() != null) {
|
||||||
taskPlan.setStartDate(taskPlan.getExecuteTime());
|
taskPlan.setStartDate(taskPlan.getExecuteTime());
|
||||||
|
|
@ -47,11 +42,11 @@ public class TaskPlanServiceImpl implements ITaskPlanService {
|
||||||
if(create){
|
if(create){
|
||||||
TaskPlan result = taskPlanDomain.createTimedTaskPlan(taskPlan);
|
TaskPlan result = taskPlanDomain.createTimedTaskPlan(taskPlan);
|
||||||
// 创建对应的任务记录
|
// 创建对应的任务记录
|
||||||
createTaskFromPlan(result);
|
createNormalTaskFromPlan(result);
|
||||||
return result.getId();
|
return result.getId();
|
||||||
}else {
|
}else {
|
||||||
taskPlanDomain.updateTaskPlan(taskPlan);
|
taskPlanDomain.updateTaskPlan(taskPlan);
|
||||||
createTaskFromPlan(taskPlan);
|
createNormalTaskFromPlan(taskPlan);
|
||||||
return taskPlan.getId();
|
return taskPlan.getId();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -76,11 +71,11 @@ public class TaskPlanServiceImpl implements ITaskPlanService {
|
||||||
if(create){
|
if(create){
|
||||||
TaskPlan result = taskPlanDomain.createCycleTaskPlan(taskPlan);
|
TaskPlan result = taskPlanDomain.createCycleTaskPlan(taskPlan);
|
||||||
// 创建对应的任务记录
|
// 创建对应的任务记录
|
||||||
createTaskFromPlan(result);
|
createNormalTaskFromPlan(result);
|
||||||
return result.getId();
|
return result.getId();
|
||||||
}else {
|
}else {
|
||||||
taskPlanDomain.updateTaskPlan(taskPlan);
|
taskPlanDomain.updateTaskPlan(taskPlan);
|
||||||
createTaskFromPlan(taskPlan);
|
createNormalTaskFromPlan(taskPlan);
|
||||||
return taskPlan.getId();
|
return taskPlan.getId();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -89,26 +84,35 @@ public class TaskPlanServiceImpl implements ITaskPlanService {
|
||||||
/**
|
/**
|
||||||
* 根据任务计划创建任务记录
|
* 根据任务计划创建任务记录
|
||||||
*/
|
*/
|
||||||
private void createTaskFromPlan(TaskPlan taskPlan) {
|
private void createNormalTaskFromPlan(TaskPlan taskPlan) {
|
||||||
// 检查是否为周期任务计划
|
// 检查是否为周期任务计划
|
||||||
if (taskPlan.getPlanType() == PlanTypeEnum.CYCLE) {
|
if (taskPlan.getPlanType() == PlanTypeEnum.CYCLE) {
|
||||||
// 生成周期任务记录
|
// 生成周期任务记录
|
||||||
generateCycleTasks(taskPlan);
|
generateNormalCycleTasks(taskPlan);
|
||||||
} else {
|
} else {
|
||||||
// 生成单次任务记录
|
// 生成单次任务记录
|
||||||
generateSingleTask(taskPlan);
|
generateNormalPlanTask(taskPlan);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 生成单次任务记录
|
* 生成单次任务记录
|
||||||
*/
|
*/
|
||||||
private void generateSingleTask(TaskPlan taskPlan) {
|
private void generateNormalPlanTask(TaskPlan taskPlan) {
|
||||||
Task task = new Task();
|
Task task = new Task();
|
||||||
task.setTaskName(taskPlan.getPlanName() + "_任务");
|
task.setTaskName(taskPlan.getPlanName() + "_任务");
|
||||||
task.setPlanId(taskPlan.getId());
|
task.setPlanId(taskPlan.getId());
|
||||||
task.setTaskCategory(TaskCategoryEnum.PLAN_TASK);
|
task.setTaskCategory(TaskCategoryEnum.NORMAL);
|
||||||
task.setTaskType(TaskTypeEnum.PLAN_TASK);
|
if(Objects.equals(taskPlan.getPlanType(), PlanTypeEnum.TIMED)){
|
||||||
|
task.setTaskType(TaskTypeEnum.TIMED);
|
||||||
|
}
|
||||||
|
if (Objects.equals(taskPlan.getPlanType(), PlanTypeEnum.CYCLE)) {
|
||||||
|
task.setTaskType(TaskTypeEnum.CYCLE);
|
||||||
|
}
|
||||||
|
if (Objects.equals(taskPlan.getPlanType(), PlanTypeEnum.IMMEDIATELY)) {
|
||||||
|
task.setTaskType(TaskTypeEnum.IMMEDIATELY);
|
||||||
|
}
|
||||||
|
|
||||||
task.setExecuteType(taskPlan.getExecuteType());
|
task.setExecuteType(taskPlan.getExecuteType());
|
||||||
task.setRouteId(taskPlan.getRouteId());
|
task.setRouteId(taskPlan.getRouteId());
|
||||||
task.setUavId(taskPlan.getUavId());
|
task.setUavId(taskPlan.getUavId());
|
||||||
|
|
@ -132,7 +136,7 @@ public class TaskPlanServiceImpl implements ITaskPlanService {
|
||||||
/**
|
/**
|
||||||
* 生成周期任务记录
|
* 生成周期任务记录
|
||||||
*/
|
*/
|
||||||
private void generateCycleTasks(TaskPlan taskPlan) {
|
private void generateNormalCycleTasks(TaskPlan taskPlan) {
|
||||||
java.util.Calendar calendar = java.util.Calendar.getInstance();
|
java.util.Calendar calendar = java.util.Calendar.getInstance();
|
||||||
calendar.setTime(taskPlan.getStartDate());
|
calendar.setTime(taskPlan.getStartDate());
|
||||||
|
|
||||||
|
|
@ -152,7 +156,7 @@ public class TaskPlanServiceImpl implements ITaskPlanService {
|
||||||
}
|
}
|
||||||
|
|
||||||
while (!calendar.after(endCalendar)) {
|
while (!calendar.after(endCalendar)) {
|
||||||
createTaskForDate(taskPlan, calendar);
|
createNormalTaskForDate(taskPlan, calendar);
|
||||||
calendar.add(java.util.Calendar.DAY_OF_YEAR, dayInterval);
|
calendar.add(java.util.Calendar.DAY_OF_YEAR, dayInterval);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -181,7 +185,7 @@ public class TaskPlanServiceImpl implements ITaskPlanService {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (shouldCreateTask) {
|
if (shouldCreateTask) {
|
||||||
createTaskForDate(taskPlan, calendar);
|
createNormalTaskForDate(taskPlan, calendar);
|
||||||
}
|
}
|
||||||
|
|
||||||
calendar.add(java.util.Calendar.DAY_OF_YEAR, 1);
|
calendar.add(java.util.Calendar.DAY_OF_YEAR, 1);
|
||||||
|
|
@ -189,12 +193,20 @@ public class TaskPlanServiceImpl implements ITaskPlanService {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void createTaskForDate(TaskPlan taskPlan, java.util.Calendar calendar) {
|
private void createNormalTaskForDate(TaskPlan taskPlan, java.util.Calendar calendar) {
|
||||||
Task task = new Task();
|
Task task = new Task();
|
||||||
task.setTaskName(taskPlan.getPlanName() + "_任务_" + formatDate(calendar.getTime()));
|
task.setTaskName(taskPlan.getPlanName() + "_任务_" + formatDate(calendar.getTime()));
|
||||||
task.setPlanId(taskPlan.getId());
|
task.setPlanId(taskPlan.getId());
|
||||||
task.setTaskCategory(TaskCategoryEnum.PLAN_TASK);
|
task.setTaskCategory(TaskCategoryEnum.NORMAL);
|
||||||
task.setTaskType(TaskTypeEnum.PLAN_TASK);
|
if(Objects.equals(taskPlan.getPlanType(), PlanTypeEnum.TIMED)){
|
||||||
|
task.setTaskType(TaskTypeEnum.TIMED);
|
||||||
|
}
|
||||||
|
if(Objects.equals(taskPlan.getPlanType(), PlanTypeEnum.CYCLE)){
|
||||||
|
task.setTaskType(TaskTypeEnum.CYCLE);
|
||||||
|
}
|
||||||
|
if(Objects.equals(taskPlan.getPlanType(), PlanTypeEnum.IMMEDIATELY)){
|
||||||
|
task.setTaskType(TaskTypeEnum.IMMEDIATELY);
|
||||||
|
}
|
||||||
task.setExecuteType(taskPlan.getExecuteType());
|
task.setExecuteType(taskPlan.getExecuteType());
|
||||||
task.setRouteId(taskPlan.getRouteId());
|
task.setRouteId(taskPlan.getRouteId());
|
||||||
task.setUavId(taskPlan.getUavId());
|
task.setUavId(taskPlan.getUavId());
|
||||||
|
|
@ -320,7 +332,7 @@ public class TaskPlanServiceImpl implements ITaskPlanService {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
createTaskFromPlan(existingTaskPlan);
|
createNormalTaskFromPlan(existingTaskPlan);
|
||||||
|
|
||||||
return result != null;
|
return result != null;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue