From 840ed110c02771a582f77ef3dd2c6baa4c294e03 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=99=E5=B0=8F=E4=BA=91?= Date: Thu, 12 Mar 2026 18:46:24 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=9E=9A=E4=B8=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../task/controller/TaskPlanController.java | 8 +-- .../task/service/api/ITaskPlanService.java | 2 +- .../service/impl/TaskPlanServiceImpl.java | 58 +++++++++++-------- 3 files changed, 38 insertions(+), 30 deletions(-) diff --git a/src/main/java/com/ruoyi/task/controller/TaskPlanController.java b/src/main/java/com/ruoyi/task/controller/TaskPlanController.java index 512d954..cd4390f 100644 --- a/src/main/java/com/ruoyi/task/controller/TaskPlanController.java +++ b/src/main/java/com/ruoyi/task/controller/TaskPlanController.java @@ -2,15 +2,11 @@ package com.ruoyi.task.controller; import com.ruoyi.common.core.domain.R; 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.TaskPlanQueryDTO; import com.ruoyi.task.api.enums.ExecuteTypeEnum; import com.ruoyi.task.api.enums.PlanTypeEnum; 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.controller.convert.TaskPlanControllerConvert; import com.ruoyi.task.controller.convert.TaskPlanQueryControllerConvert; @@ -49,11 +45,11 @@ public class TaskPlanController extends BaseController * 创建定时任务计划 */ @PostMapping("/timed") - public R createTimedTaskPlan(@RequestBody TaskPlanDTO taskPlanDTO) + public R createNormalTimedTaskPlan(@RequestBody TaskPlanDTO taskPlanDTO) { taskPlanDTO.setPlanType(PlanTypeEnum.TIMED); setDefaultPlan(taskPlanDTO); - Long planId = taskPlanService.createTimedTaskPlan(TaskPlanControllerConvert.to(taskPlanDTO),true); + Long planId = taskPlanService.createNormalTimedTaskPlan(TaskPlanControllerConvert.to(taskPlanDTO),true); return R.ok(planId); } diff --git a/src/main/java/com/ruoyi/task/service/api/ITaskPlanService.java b/src/main/java/com/ruoyi/task/service/api/ITaskPlanService.java index fbbcea4..b8a21d6 100644 --- a/src/main/java/com/ruoyi/task/service/api/ITaskPlanService.java +++ b/src/main/java/com/ruoyi/task/service/api/ITaskPlanService.java @@ -12,7 +12,7 @@ public interface ITaskPlanService { * @param taskPlanDTO 任务计划DTO * @return 任务计划ID */ - Long createTimedTaskPlan(TaskPlanDTO taskPlanDTO,boolean create); + Long createNormalTimedTaskPlan(TaskPlanDTO taskPlanDTO, boolean create); /** * 创建周期任务计划 diff --git a/src/main/java/com/ruoyi/task/service/impl/TaskPlanServiceImpl.java b/src/main/java/com/ruoyi/task/service/impl/TaskPlanServiceImpl.java index 85eab8c..9a9966e 100644 --- a/src/main/java/com/ruoyi/task/service/impl/TaskPlanServiceImpl.java +++ b/src/main/java/com/ruoyi/task/service/impl/TaskPlanServiceImpl.java @@ -25,18 +25,13 @@ public class TaskPlanServiceImpl implements ITaskPlanService { private ITaskDomain taskDomain; @Override - public Long createTimedTaskPlan(TaskPlanDTO taskPlanDTO,boolean create) { + public Long createNormalTimedTaskPlan(TaskPlanDTO taskPlanDTO, boolean create) { TaskPlan taskPlan = TaskPlanDTOConvert.toDomain(taskPlanDTO); // 校验PlanTypeEnum if (taskPlan.getPlanType() != null && taskPlan.getPlanType() == PlanTypeEnum.CYCLE) { throw new IllegalArgumentException("定时任务计划不能设置为周期类型"); } - - // 如果PlanTypeEnum为空,设置为定时类型 - if (taskPlan.getPlanType() == null) { - taskPlan.setPlanType(PlanTypeEnum.TIMED); - } // 设置结束时间:开始时间 + 执行时长 if (taskPlan.getExecuteTime() != null && taskPlan.getDuration() != null) { @@ -47,11 +42,11 @@ public class TaskPlanServiceImpl implements ITaskPlanService { if(create){ TaskPlan result = taskPlanDomain.createTimedTaskPlan(taskPlan); // 创建对应的任务记录 - createTaskFromPlan(result); + createNormalTaskFromPlan(result); return result.getId(); }else { taskPlanDomain.updateTaskPlan(taskPlan); - createTaskFromPlan(taskPlan); + createNormalTaskFromPlan(taskPlan); return taskPlan.getId(); } @@ -76,11 +71,11 @@ public class TaskPlanServiceImpl implements ITaskPlanService { if(create){ TaskPlan result = taskPlanDomain.createCycleTaskPlan(taskPlan); // 创建对应的任务记录 - createTaskFromPlan(result); + createNormalTaskFromPlan(result); return result.getId(); }else { taskPlanDomain.updateTaskPlan(taskPlan); - createTaskFromPlan(taskPlan); + createNormalTaskFromPlan(taskPlan); 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) { // 生成周期任务记录 - generateCycleTasks(taskPlan); + generateNormalCycleTasks(taskPlan); } else { // 生成单次任务记录 - generateSingleTask(taskPlan); + generateNormalPlanTask(taskPlan); } } /** * 生成单次任务记录 */ - private void generateSingleTask(TaskPlan taskPlan) { + private void generateNormalPlanTask(TaskPlan taskPlan) { Task task = new Task(); task.setTaskName(taskPlan.getPlanName() + "_任务"); task.setPlanId(taskPlan.getId()); - task.setTaskCategory(TaskCategoryEnum.PLAN_TASK); - task.setTaskType(TaskTypeEnum.PLAN_TASK); + task.setTaskCategory(TaskCategoryEnum.NORMAL); + 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.setRouteId(taskPlan.getRouteId()); 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(); calendar.setTime(taskPlan.getStartDate()); @@ -152,7 +156,7 @@ public class TaskPlanServiceImpl implements ITaskPlanService { } while (!calendar.after(endCalendar)) { - createTaskForDate(taskPlan, calendar); + createNormalTaskForDate(taskPlan, calendar); calendar.add(java.util.Calendar.DAY_OF_YEAR, dayInterval); } } else { @@ -181,7 +185,7 @@ public class TaskPlanServiceImpl implements ITaskPlanService { } if (shouldCreateTask) { - createTaskForDate(taskPlan, calendar); + createNormalTaskForDate(taskPlan, calendar); } 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.setTaskName(taskPlan.getPlanName() + "_任务_" + formatDate(calendar.getTime())); task.setPlanId(taskPlan.getId()); - task.setTaskCategory(TaskCategoryEnum.PLAN_TASK); - task.setTaskType(TaskTypeEnum.PLAN_TASK); + task.setTaskCategory(TaskCategoryEnum.NORMAL); + 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.setRouteId(taskPlan.getRouteId()); task.setUavId(taskPlan.getUavId()); @@ -320,7 +332,7 @@ public class TaskPlanServiceImpl implements ITaskPlanService { } } - createTaskFromPlan(existingTaskPlan); + createNormalTaskFromPlan(existingTaskPlan); return result != null; }