添加service层代码结构

This commit is contained in:
孙小云 2026-03-05 17:14:10 +08:00
parent 25e26b1b9f
commit 09a529b3c2
15 changed files with 1599 additions and 0 deletions

View File

@ -0,0 +1,51 @@
package com.ruoyi.task.service;
import com.ruoyi.task.service.dto.TaskPlanDTO;
import com.ruoyi.task.service.dto.TaskPlanQueryDTO;
import java.util.List;
public interface ITaskPlanService {
/**
* 创建定时任务计划
* @param taskPlanDTO 任务计划DTO
* @return 任务计划ID
*/
Long createTimedTaskPlan(TaskPlanDTO taskPlanDTO);
/**
* 创建周期任务计划
* @param taskPlanDTO 任务计划DTO
* @return 任务计划ID
*/
Long createCycleTaskPlan(TaskPlanDTO taskPlanDTO);
/**
* 根据ID获取任务计划
* @param planId 任务计划ID
* @return 任务计划DTO
*/
TaskPlanDTO getTaskPlanById(Long planId);
/**
* 复杂条件查询任务计划列表
* @param queryDTO 查询条件DTO
* @return 任务计划列表
*/
List<TaskPlanDTO> getTaskPlanList(TaskPlanQueryDTO queryDTO);
/**
* 更新任务计划
* @param taskPlanDTO 任务计划DTO
* @return 是否成功
*/
boolean updateTaskPlan(TaskPlanDTO taskPlanDTO);
/**
* 删除任务计划
* @param planId 任务计划ID
* @return 是否成功
*/
boolean deleteTaskPlan(Long planId);
}

View File

@ -0,0 +1,44 @@
package com.ruoyi.task.service;
import com.ruoyi.task.service.dto.TaskDTO;
import com.ruoyi.task.service.dto.TaskQueryDTO;
import java.util.List;
public interface ITaskService {
/**
* 创建无关联计划的任务
* @param taskDTO 任务DTO
* @return 任务ID
*/
Long createTaskWithoutPlan(TaskDTO taskDTO);
/**
* 根据ID获取任务
* @param taskId 任务ID
* @return 任务DTO
*/
TaskDTO getTaskById(Long taskId);
/**
* 复杂条件查询任务列表
* @param queryDTO 查询条件DTO
* @return 任务列表
*/
List<TaskDTO> getTaskList(TaskQueryDTO queryDTO);
/**
* 更新任务
* @param taskDTO 任务DTO
* @return 是否成功
*/
boolean updateTask(TaskDTO taskDTO);
/**
* 删除任务
* @param taskId 任务ID
* @return 是否成功
*/
boolean deleteTask(Long taskId);
}

View File

@ -0,0 +1,45 @@
package com.ruoyi.task.service;
import com.ruoyi.task.service.dto.TaskStatDTO;
import com.ruoyi.task.service.dto.TaskStatQueryDTO;
import java.util.Date;
import java.util.List;
public interface ITaskStatService {
/**
* 根据时间范围获取任务统计
* @param queryDTO 查询条件DTO
* @return 任务统计列表
*/
List<TaskStatDTO> getTaskStatByTimeRange(TaskStatQueryDTO queryDTO);
/**
* 按月获取任务统计
* @param queryDTO 查询条件DTO
* @return 任务统计列表
*/
List<TaskStatDTO> getTaskStatByMonth(TaskStatQueryDTO queryDTO);
/**
* 按周获取任务统计
* @param queryDTO 查询条件DTO
* @return 任务统计列表
*/
List<TaskStatDTO> getTaskStatByWeek(TaskStatQueryDTO queryDTO);
/**
* 按年获取任务统计
* @param queryDTO 查询条件DTO
* @return 任务统计列表
*/
List<TaskStatDTO> getTaskStatByYear(TaskStatQueryDTO queryDTO);
/**
* 复杂条件查询任务统计
* @param queryDTO 查询条件DTO
* @return 任务统计列表
*/
List<TaskStatDTO> getTaskStatList(TaskStatQueryDTO queryDTO);
}

View File

@ -0,0 +1,68 @@
package com.ruoyi.task.service.convert;
import com.ruoyi.task.domain.model.Task;
import com.ruoyi.task.service.dto.TaskDTO;
import java.util.List;
import java.util.stream.Collectors;
public class TaskDTOConvert {
public static TaskDTO toDTO(Task task) {
if (task == null) {
return null;
}
TaskDTO dto = new TaskDTO();
dto.setId(task.getId());
dto.setTaskName(task.getTaskName());
dto.setPlanId(task.getPlanId());
dto.setTaskCategory(task.getTaskCategory());
dto.setTaskType(task.getTaskType());
dto.setExecuteType(task.getExecuteType());
dto.setRouteId(task.getRouteId());
dto.setUavId(task.getUavId());
dto.setStartTime(task.getStartTime());
dto.setEndTime(task.getEndTime());
dto.setStatus(task.getStatus());
dto.setDescription(task.getDescription());
dto.setRemark(task.getRemark());
return dto;
}
public static Task toDomain(TaskDTO dto) {
if (dto == null) {
return null;
}
Task task = new Task();
task.setId(dto.getId());
task.setTaskName(dto.getTaskName());
task.setPlanId(dto.getPlanId());
task.setTaskCategory(dto.getTaskCategory());
task.setTaskType(dto.getTaskType());
task.setExecuteType(dto.getExecuteType());
task.setRouteId(dto.getRouteId());
task.setUavId(dto.getUavId());
task.setStartTime(dto.getStartTime());
task.setEndTime(dto.getEndTime());
task.setStatus(dto.getStatus());
task.setDescription(dto.getDescription());
task.setRemark(dto.getRemark());
return task;
}
public static List<TaskDTO> toDTOList(List<Task> tasks) {
return tasks.stream()
.map(TaskDTOConvert::toDTO)
.collect(Collectors.toList());
}
public static List<Task> toDomainList(List<TaskDTO> dtos) {
return dtos.stream()
.map(TaskDTOConvert::toDomain)
.collect(Collectors.toList());
}
}

View File

@ -0,0 +1,70 @@
package com.ruoyi.task.service.convert;
import com.ruoyi.task.domain.model.TaskPlan;
import com.ruoyi.task.service.dto.TaskPlanDTO;
import java.util.List;
import java.util.stream.Collectors;
public class TaskPlanDTOConvert {
public static TaskPlanDTO toDTO(TaskPlan taskPlan) {
if (taskPlan == null) {
return null;
}
TaskPlanDTO dto = new TaskPlanDTO();
dto.setId(taskPlan.getId());
dto.setPlanName(taskPlan.getPlanName());
dto.setPlanType(taskPlan.getPlanType());
dto.setExecuteType(taskPlan.getExecuteType());
dto.setCycleType(taskPlan.getCycleType());
dto.setCycleValue(taskPlan.getCycleValue());
dto.setStartDate(taskPlan.getStartDate());
dto.setEndDate(taskPlan.getEndDate());
dto.setExecuteTime(taskPlan.getExecuteTime());
dto.setRouteId(taskPlan.getRouteId());
dto.setUavId(taskPlan.getUavId());
dto.setStatus(taskPlan.getStatus());
dto.setDescription(taskPlan.getDescription());
dto.setRemark(taskPlan.getRemark());
return dto;
}
public static TaskPlan toDomain(TaskPlanDTO dto) {
if (dto == null) {
return null;
}
TaskPlan taskPlan = new TaskPlan();
taskPlan.setId(dto.getId());
taskPlan.setPlanName(dto.getPlanName());
taskPlan.setPlanType(dto.getPlanType());
taskPlan.setExecuteType(dto.getExecuteType());
taskPlan.setCycleType(dto.getCycleType());
taskPlan.setCycleValue(dto.getCycleValue());
taskPlan.setStartDate(dto.getStartDate());
taskPlan.setEndDate(dto.getEndDate());
taskPlan.setExecuteTime(dto.getExecuteTime());
taskPlan.setRouteId(dto.getRouteId());
taskPlan.setUavId(dto.getUavId());
taskPlan.setStatus(dto.getStatus());
taskPlan.setDescription(dto.getDescription());
taskPlan.setRemark(dto.getRemark());
return taskPlan;
}
public static List<TaskPlanDTO> toDTOList(List<TaskPlan> taskPlans) {
return taskPlans.stream()
.map(TaskPlanDTOConvert::toDTO)
.collect(Collectors.toList());
}
public static List<TaskPlan> toDomainList(List<TaskPlanDTO> dtos) {
return dtos.stream()
.map(TaskPlanDTOConvert::toDomain)
.collect(Collectors.toList());
}
}

View File

@ -0,0 +1,68 @@
package com.ruoyi.task.service.convert;
import com.ruoyi.task.domain.model.TaskStat;
import com.ruoyi.task.service.dto.TaskStatDTO;
import java.util.List;
import java.util.stream.Collectors;
public class TaskStatDTOConvert {
public static TaskStatDTO toDTO(TaskStat taskStat) {
if (taskStat == null) {
return null;
}
TaskStatDTO dto = new TaskStatDTO();
dto.setId(taskStat.getId());
dto.setAirportCode(taskStat.getAirportCode());
dto.setRouteName(taskStat.getRouteName());
dto.setTaskCategory(taskStat.getTaskCategory());
dto.setTaskType(taskStat.getTaskType());
dto.setTaskStatus(taskStat.getTaskStatus());
dto.setYear(taskStat.getYear());
dto.setMonth(taskStat.getMonth());
dto.setDay(taskStat.getDay());
dto.setTaskCount(taskStat.getTaskCount());
dto.setCreateBy(taskStat.getCreateBy());
dto.setUpdateBy(taskStat.getUpdateBy());
dto.setRemark(taskStat.getRemark());
return dto;
}
public static TaskStat toDomain(TaskStatDTO dto) {
if (dto == null) {
return null;
}
TaskStat taskStat = new TaskStat();
taskStat.setId(dto.getId());
taskStat.setAirportCode(dto.getAirportCode());
taskStat.setRouteName(dto.getRouteName());
taskStat.setTaskCategory(dto.getTaskCategory());
taskStat.setTaskType(dto.getTaskType());
taskStat.setTaskStatus(dto.getTaskStatus());
taskStat.setYear(dto.getYear());
taskStat.setMonth(dto.getMonth());
taskStat.setDay(dto.getDay());
taskStat.setTaskCount(dto.getTaskCount());
taskStat.setCreateBy(dto.getCreateBy());
taskStat.setUpdateBy(dto.getUpdateBy());
taskStat.setRemark(dto.getRemark());
return taskStat;
}
public static List<TaskStatDTO> toDTOList(List<TaskStat> taskStats) {
return taskStats.stream()
.map(TaskStatDTOConvert::toDTO)
.collect(Collectors.toList());
}
public static List<TaskStat> toDomainList(List<TaskStatDTO> dtos) {
return dtos.stream()
.map(TaskStatDTOConvert::toDomain)
.collect(Collectors.toList());
}
}

View File

@ -0,0 +1,174 @@
package com.ruoyi.task.service.dto;
import java.util.Date;
/**
* 任务数据传输对象
*
* @author ruoyi
* @date 2026-03-05
*/
public class TaskDTO {
/** 任务ID */
private Long id;
/** 计划ID可为空如一键起飞 */
private Long planId;
/** 任务名称 */
private String taskName;
/** 任务类别(如人工执飞) */
private String taskCategory;
/** 任务类型(如一键起飞) */
private String taskType;
/** 执行类型(单次执行、连续执行) */
private String executeType;
/** 航线ID */
private Long routeId;
/** 无人机ID */
private Long uavId;
/** 状态0待执行 1执行中 2已完成 3已取消 */
private String status;
/** 开始时间 */
private Date startTime;
/** 结束时间 */
private Date endTime;
/** 描述 */
private String description;
/** 备注 */
private String remark;
// Getters and Setters
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public Long getPlanId() {
return planId;
}
public void setPlanId(Long planId) {
this.planId = planId;
}
public String getTaskName() {
return taskName;
}
public void setTaskName(String taskName) {
this.taskName = taskName;
}
public String getTaskCategory() {
return taskCategory;
}
public void setTaskCategory(String taskCategory) {
this.taskCategory = taskCategory;
}
public String getTaskType() {
return taskType;
}
public void setTaskType(String taskType) {
this.taskType = taskType;
}
public String getExecuteType() {
return executeType;
}
public void setExecuteType(String executeType) {
this.executeType = executeType;
}
public Long getRouteId() {
return routeId;
}
public void setRouteId(Long routeId) {
this.routeId = routeId;
}
public Long getUavId() {
return uavId;
}
public void setUavId(Long uavId) {
this.uavId = uavId;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public Date getStartTime() {
return startTime;
}
public void setStartTime(Date startTime) {
this.startTime = startTime;
}
public Date getEndTime() {
return endTime;
}
public void setEndTime(Date endTime) {
this.endTime = endTime;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
@Override
public String toString() {
return "TaskDTO{" +
"id=" + id +
", planId=" + planId +
", taskName='" + taskName + '\'' +
", taskCategory='" + taskCategory + '\'' +
", taskType='" + taskType + '\'' +
", executeType='" + executeType + '\'' +
", routeId=" + routeId +
", uavId=" + uavId +
", status='" + status + '\'' +
", startTime=" + startTime +
", endTime=" + endTime +
", description='" + description + '\'' +
'}';
}
}

View File

@ -0,0 +1,186 @@
package com.ruoyi.task.service.dto;
import java.util.Date;
/**
* 任务计划数据传输对象
*
* @author ruoyi
* @date 2026-03-05
*/
public class TaskPlanDTO {
/** 计划ID */
private Long id;
/** 计划名称 */
private String planName;
/** 计划类型(定时任务计划、周期任务计划) */
private String planType;
/** 执行类型(单次执行、连续执行) */
private String executeType;
/** 周期类型(日周期、周周期、月周期) */
private String cycleType;
/** 周期值周周期1-7多选如"1,3,5"月周期1-31多选如"1,15,30" */
private String cycleValue;
/** 开始日期 */
private Date startDate;
/** 结束日期 */
private Date endDate;
/** 执行时间(仅在定义任务时有效) */
private Date executeTime;
/** 航线ID */
private Long routeId;
/** 无人机ID */
private Long uavId;
/** 状态0待执行 1执行中 2已完成 3已取消 */
private String status;
/** 描述 */
private String description;
/** 备注 */
private String remark;
// Getters and Setters
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getPlanName() {
return planName;
}
public void setPlanName(String planName) {
this.planName = planName;
}
public String getPlanType() {
return planType;
}
public void setPlanType(String planType) {
this.planType = planType;
}
public String getExecuteType() {
return executeType;
}
public void setExecuteType(String executeType) {
this.executeType = executeType;
}
public String getCycleType() {
return cycleType;
}
public void setCycleType(String cycleType) {
this.cycleType = cycleType;
}
public String getCycleValue() {
return cycleValue;
}
public void setCycleValue(String cycleValue) {
this.cycleValue = cycleValue;
}
public Date getStartDate() {
return startDate;
}
public void setStartDate(Date startDate) {
this.startDate = startDate;
}
public Date getEndDate() {
return endDate;
}
public void setEndDate(Date endDate) {
this.endDate = endDate;
}
public Date getExecuteTime() {
return executeTime;
}
public void setExecuteTime(Date executeTime) {
this.executeTime = executeTime;
}
public Long getRouteId() {
return routeId;
}
public void setRouteId(Long routeId) {
this.routeId = routeId;
}
public Long getUavId() {
return uavId;
}
public void setUavId(Long uavId) {
this.uavId = uavId;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
@Override
public String toString() {
return "TaskPlanDTO{" +
"id=" + id +
", planName='" + planName + '\'' +
", planType='" + planType + '\'' +
", executeType='" + executeType + '\'' +
", cycleType='" + cycleType + '\'' +
", cycleValue='" + cycleValue + '\'' +
", startDate=" + startDate +
", endDate=" + endDate +
", executeTime=" + executeTime +
", routeId=" + routeId +
", uavId=" + uavId +
", status='" + status + '\'' +
", description='" + description + '\'' +
'}';
}
}

View File

@ -0,0 +1,211 @@
package com.ruoyi.task.service.dto;
import java.util.Date;
/**
* 任务计划查询条件数据传输对象
*
* @author ruoyi
* @date 2026-03-05
*/
public class TaskPlanQueryDTO {
/** 计划ID */
private Long id;
/** 计划名称 */
private String planName;
/** 计划类型(定时任务计划、周期任务计划) */
private String planType;
/** 执行类型(单次执行、连续执行) */
private String executeType;
/** 周期类型(日周期、周周期、月周期) */
private String cycleType;
/** 开始日期(开始范围) */
private Date startDateStart;
/** 开始日期(结束范围) */
private Date startDateEnd;
/** 结束日期(开始范围) */
private Date endDateStart;
/** 结束日期(结束范围) */
private Date endDateEnd;
/** 航线ID */
private Long routeId;
/** 无人机ID */
private Long uavId;
/** 状态0待执行 1执行中 2已完成 3已取消 */
private String status;
/** 任务类别 */
private String taskCategory;
/** 任务类型 */
private String taskType;
/** 机场代码 */
private String airportCode;
/** 航线名称 */
private String routeName;
// Getters and Setters
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getPlanName() {
return planName;
}
public void setPlanName(String planName) {
this.planName = planName;
}
public String getPlanType() {
return planType;
}
public void setPlanType(String planType) {
this.planType = planType;
}
public String getExecuteType() {
return executeType;
}
public void setExecuteType(String executeType) {
this.executeType = executeType;
}
public String getCycleType() {
return cycleType;
}
public void setCycleType(String cycleType) {
this.cycleType = cycleType;
}
public Date getStartDateStart() {
return startDateStart;
}
public void setStartDateStart(Date startDateStart) {
this.startDateStart = startDateStart;
}
public Date getStartDateEnd() {
return startDateEnd;
}
public void setStartDateEnd(Date startDateEnd) {
this.startDateEnd = startDateEnd;
}
public Date getEndDateStart() {
return endDateStart;
}
public void setEndDateStart(Date endDateStart) {
this.endDateStart = endDateStart;
}
public Date getEndDateEnd() {
return endDateEnd;
}
public void setEndDateEnd(Date endDateEnd) {
this.endDateEnd = endDateEnd;
}
public Long getRouteId() {
return routeId;
}
public void setRouteId(Long routeId) {
this.routeId = routeId;
}
public Long getUavId() {
return uavId;
}
public void setUavId(Long uavId) {
this.uavId = uavId;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getTaskCategory() {
return taskCategory;
}
public void setTaskCategory(String taskCategory) {
this.taskCategory = taskCategory;
}
public String getTaskType() {
return taskType;
}
public void setTaskType(String taskType) {
this.taskType = taskType;
}
public String getAirportCode() {
return airportCode;
}
public void setAirportCode(String airportCode) {
this.airportCode = airportCode;
}
public String getRouteName() {
return routeName;
}
public void setRouteName(String routeName) {
this.routeName = routeName;
}
@Override
public String toString() {
return "TaskPlanQueryDTO{" +
"id=" + id +
", planName='" + planName + '\'' +
", planType='" + planType + '\'' +
", executeType='" + executeType + '\'' +
", cycleType='" + cycleType + '\'' +
", startDateStart=" + startDateStart +
", startDateEnd=" + startDateEnd +
", endDateStart=" + endDateStart +
", endDateEnd=" + endDateEnd +
", routeId=" + routeId +
", uavId=" + uavId +
", status='" + status + '\'' +
", taskCategory='" + taskCategory + '\'' +
", taskType='" + taskType + '\'' +
", airportCode='" + airportCode + '\'' +
", routeName='" + routeName + '\'' +
'}';
}
}

View File

@ -0,0 +1,199 @@
package com.ruoyi.task.service.dto;
import java.util.Date;
/**
* 任务查询条件数据传输对象
*
* @author ruoyi
* @date 2026-03-05
*/
public class TaskQueryDTO {
/** 任务ID */
private Long id;
/** 计划ID可为空如一键起飞 */
private Long planId;
/** 任务名称 */
private String taskName;
/** 任务类别(如人工执飞) */
private String taskCategory;
/** 任务类型(如一键起飞) */
private String taskType;
/** 执行类型(单次执行、连续执行) */
private String executeType;
/** 航线ID */
private Long routeId;
/** 无人机ID */
private Long uavId;
/** 状态0待执行 1执行中 2已完成 3已取消 */
private String status;
/** 开始时间(开始范围) */
private Date startTimeStart;
/** 开始时间(结束范围) */
private Date startTimeEnd;
/** 结束时间(开始范围) */
private Date endTimeStart;
/** 结束时间(结束范围) */
private Date endTimeEnd;
/** 机场代码 */
private String airportCode;
/** 航线名称 */
private String routeName;
// Getters and Setters
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public Long getPlanId() {
return planId;
}
public void setPlanId(Long planId) {
this.planId = planId;
}
public String getTaskName() {
return taskName;
}
public void setTaskName(String taskName) {
this.taskName = taskName;
}
public String getTaskCategory() {
return taskCategory;
}
public void setTaskCategory(String taskCategory) {
this.taskCategory = taskCategory;
}
public String getTaskType() {
return taskType;
}
public void setTaskType(String taskType) {
this.taskType = taskType;
}
public String getExecuteType() {
return executeType;
}
public void setExecuteType(String executeType) {
this.executeType = executeType;
}
public Long getRouteId() {
return routeId;
}
public void setRouteId(Long routeId) {
this.routeId = routeId;
}
public Long getUavId() {
return uavId;
}
public void setUavId(Long uavId) {
this.uavId = uavId;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public Date getStartTimeStart() {
return startTimeStart;
}
public void setStartTimeStart(Date startTimeStart) {
this.startTimeStart = startTimeStart;
}
public Date getStartTimeEnd() {
return startTimeEnd;
}
public void setStartTimeEnd(Date startTimeEnd) {
this.startTimeEnd = startTimeEnd;
}
public Date getEndTimeStart() {
return endTimeStart;
}
public void setEndTimeStart(Date endTimeStart) {
this.endTimeStart = endTimeStart;
}
public Date getEndTimeEnd() {
return endTimeEnd;
}
public void setEndTimeEnd(Date endTimeEnd) {
this.endTimeEnd = endTimeEnd;
}
public String getAirportCode() {
return airportCode;
}
public void setAirportCode(String airportCode) {
this.airportCode = airportCode;
}
public String getRouteName() {
return routeName;
}
public void setRouteName(String routeName) {
this.routeName = routeName;
}
@Override
public String toString() {
return "TaskQueryDTO{" +
"id=" + id +
", planId=" + planId +
", taskName='" + taskName + '\'' +
", taskCategory='" + taskCategory + '\'' +
", taskType='" + taskType + '\'' +
", executeType='" + executeType + '\'' +
", routeId=" + routeId +
", uavId=" + uavId +
", status='" + status + '\'' +
", startTimeStart=" + startTimeStart +
", startTimeEnd=" + startTimeEnd +
", endTimeStart=" + endTimeStart +
", endTimeEnd=" + endTimeEnd +
", airportCode='" + airportCode + '\'' +
", routeName='" + routeName + '\'' +
'}';
}
}

View File

@ -0,0 +1,122 @@
package com.ruoyi.task.service.dto;
public class TaskStatDTO {
private Long id;
private String airportCode;
private String routeName;
private String taskCategory;
private String taskType;
private String taskStatus;
private Integer year;
private Integer month;
private Integer day;
private Integer taskCount;
private String createBy;
private String updateBy;
private String remark;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getAirportCode() {
return airportCode;
}
public void setAirportCode(String airportCode) {
this.airportCode = airportCode;
}
public String getRouteName() {
return routeName;
}
public void setRouteName(String routeName) {
this.routeName = routeName;
}
public String getTaskCategory() {
return taskCategory;
}
public void setTaskCategory(String taskCategory) {
this.taskCategory = taskCategory;
}
public String getTaskType() {
return taskType;
}
public void setTaskType(String taskType) {
this.taskType = taskType;
}
public String getTaskStatus() {
return taskStatus;
}
public void setTaskStatus(String taskStatus) {
this.taskStatus = taskStatus;
}
public Integer getYear() {
return year;
}
public void setYear(Integer year) {
this.year = year;
}
public Integer getMonth() {
return month;
}
public void setMonth(Integer month) {
this.month = month;
}
public Integer getDay() {
return day;
}
public void setDay(Integer day) {
this.day = day;
}
public Integer getTaskCount() {
return taskCount;
}
public void setTaskCount(Integer taskCount) {
this.taskCount = taskCount;
}
public String getCreateBy() {
return createBy;
}
public void setCreateBy(String createBy) {
this.createBy = createBy;
}
public String getUpdateBy() {
return updateBy;
}
public void setUpdateBy(String updateBy) {
this.updateBy = updateBy;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
}

View File

@ -0,0 +1,151 @@
package com.ruoyi.task.service.dto;
import java.util.Date;
/**
* 任务统计查询条件数据传输对象
*
* @author ruoyi
* @date 2026-03-05
*/
public class TaskStatQueryDTO {
/** 年份 */
private Integer year;
/** 月份 */
private Integer month;
/** 周数 */
private Integer week;
/** 日期 */
private Integer day;
/** 开始时间 */
private Date startTime;
/** 结束时间 */
private Date endTime;
/** 机场代码 */
private String airportCode;
/** 航线名称 */
private String routeName;
/** 任务类别 */
private String taskCategory;
/** 任务类型 */
private String taskType;
/** 任务状态 */
private String taskStatus;
// Getters and Setters
public Integer getYear() {
return year;
}
public void setYear(Integer year) {
this.year = year;
}
public Integer getMonth() {
return month;
}
public void setMonth(Integer month) {
this.month = month;
}
public Integer getWeek() {
return week;
}
public void setWeek(Integer week) {
this.week = week;
}
public Integer getDay() {
return day;
}
public void setDay(Integer day) {
this.day = day;
}
public Date getStartTime() {
return startTime;
}
public void setStartTime(Date startTime) {
this.startTime = startTime;
}
public Date getEndTime() {
return endTime;
}
public void setEndTime(Date endTime) {
this.endTime = endTime;
}
public String getAirportCode() {
return airportCode;
}
public void setAirportCode(String airportCode) {
this.airportCode = airportCode;
}
public String getRouteName() {
return routeName;
}
public void setRouteName(String routeName) {
this.routeName = routeName;
}
public String getTaskCategory() {
return taskCategory;
}
public void setTaskCategory(String taskCategory) {
this.taskCategory = taskCategory;
}
public String getTaskType() {
return taskType;
}
public void setTaskType(String taskType) {
this.taskType = taskType;
}
public String getTaskStatus() {
return taskStatus;
}
public void setTaskStatus(String taskStatus) {
this.taskStatus = taskStatus;
}
@Override
public String toString() {
return "TaskStatQueryDTO{" +
"year=" + year +
", month=" + month +
", week=" + week +
", day=" + day +
", startTime=" + startTime +
", endTime=" + endTime +
", airportCode='" + airportCode + '\'' +
", routeName='" + routeName + '\'' +
", taskCategory='" + taskCategory + '\'' +
", taskType='" + taskType + '\'' +
", taskStatus='" + taskStatus + '\'' +
'}';
}
}

View File

@ -0,0 +1,63 @@
package com.ruoyi.task.service.impl;
import com.ruoyi.task.domain.api.ITaskPlanDomain;
import com.ruoyi.task.domain.model.TaskPlan;
import com.ruoyi.task.service.ITaskPlanService;
import com.ruoyi.task.service.convert.TaskPlanDTOConvert;
import com.ruoyi.task.service.dto.TaskPlanDTO;
import com.ruoyi.task.service.dto.TaskPlanQueryDTO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class TaskPlanServiceImpl implements ITaskPlanService {
@Autowired
private ITaskPlanDomain taskPlanDomain;
@Override
public Long createTimedTaskPlan(TaskPlanDTO taskPlanDTO) {
TaskPlan taskPlan = TaskPlanDTOConvert.toDomain(taskPlanDTO);
TaskPlan result = taskPlanDomain.createTimedTaskPlan(taskPlan);
return result != null ? result.getId() : null;
}
@Override
public Long createCycleTaskPlan(TaskPlanDTO taskPlanDTO) {
TaskPlan taskPlan = TaskPlanDTOConvert.toDomain(taskPlanDTO);
TaskPlan result = taskPlanDomain.createCycleTaskPlan(taskPlan);
return result != null ? result.getId() : null;
}
@Override
public TaskPlanDTO getTaskPlanById(Long planId) {
TaskPlan taskPlan = taskPlanDomain.getTaskPlanById(planId);
return TaskPlanDTOConvert.toDTO(taskPlan);
}
@Override
public List<TaskPlanDTO> getTaskPlanList(TaskPlanQueryDTO queryDTO) {
// 创建TaskPlan对象作为查询条件
TaskPlan taskPlan = new TaskPlan();
taskPlan.setRouteId(queryDTO.getRouteId());
taskPlan.setStatus(queryDTO.getStatus());
taskPlan.setPlanType(queryDTO.getPlanType());
List<TaskPlan> taskPlans = taskPlanDomain.getTaskPlanList(taskPlan);
return TaskPlanDTOConvert.toDTOList(taskPlans);
}
@Override
public boolean updateTaskPlan(TaskPlanDTO taskPlanDTO) {
TaskPlan taskPlan = TaskPlanDTOConvert.toDomain(taskPlanDTO);
TaskPlan result = taskPlanDomain.updateTaskPlan(taskPlan);
return result != null;
}
@Override
public boolean deleteTaskPlan(Long planId) {
return taskPlanDomain.deleteTaskPlan(planId);
}
}

View File

@ -0,0 +1,57 @@
package com.ruoyi.task.service.impl;
import com.ruoyi.task.domain.api.ITaskDomain;
import com.ruoyi.task.domain.model.Task;
import com.ruoyi.task.service.ITaskService;
import com.ruoyi.task.service.convert.TaskDTOConvert;
import com.ruoyi.task.service.dto.TaskDTO;
import com.ruoyi.task.service.dto.TaskQueryDTO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class TaskServiceImpl implements ITaskService {
@Autowired
private ITaskDomain taskDomain;
@Override
public Long createTaskWithoutPlan(TaskDTO taskDTO) {
Task task = TaskDTOConvert.toDomain(taskDTO);
Task result = taskDomain.createTaskWithoutPlan(task);
return result != null ? result.getId() : null;
}
@Override
public TaskDTO getTaskById(Long taskId) {
Task task = taskDomain.getTaskById(taskId);
return TaskDTOConvert.toDTO(task);
}
@Override
public List<TaskDTO> getTaskList(TaskQueryDTO queryDTO) {
// 创建Task对象作为查询条件
Task task = new Task();
task.setRouteId(queryDTO.getRouteId());
task.setStatus(queryDTO.getStatus());
task.setTaskCategory(queryDTO.getTaskCategory());
task.setTaskType(queryDTO.getTaskType());
List<Task> tasks = taskDomain.getTaskList(task);
return TaskDTOConvert.toDTOList(tasks);
}
@Override
public boolean updateTask(TaskDTO taskDTO) {
Task task = TaskDTOConvert.toDomain(taskDTO);
Task result = taskDomain.updateTask(task);
return result != null;
}
@Override
public boolean deleteTask(Long taskId) {
return taskDomain.deleteTask(taskId);
}
}

View File

@ -0,0 +1,90 @@
package com.ruoyi.task.service.impl;
import com.ruoyi.task.domain.api.ITaskStatDomain;
import com.ruoyi.task.domain.model.TaskStat;
import com.ruoyi.task.service.ITaskStatService;
import com.ruoyi.task.service.convert.TaskStatDTOConvert;
import com.ruoyi.task.service.dto.TaskStatDTO;
import com.ruoyi.task.service.dto.TaskStatQueryDTO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
@Service
public class TaskStatServiceImpl implements ITaskStatService {
@Autowired
private ITaskStatDomain taskStatDomain;
@Override
public List<TaskStatDTO> getTaskStatByTimeRange(TaskStatQueryDTO queryDTO) {
List<TaskStat> taskStats = taskStatDomain.getTaskStatByTimeRange(
queryDTO.getStartTime(),
queryDTO.getEndTime(),
queryDTO.getAirportCode(),
queryDTO.getRouteName(),
queryDTO.getTaskCategory(),
queryDTO.getTaskType(),
queryDTO.getTaskStatus()
);
return TaskStatDTOConvert.toDTOList(taskStats);
}
@Override
public List<TaskStatDTO> getTaskStatByMonth(TaskStatQueryDTO queryDTO) {
List<TaskStat> taskStats = taskStatDomain.getTaskStatByMonth(
queryDTO.getYear(),
queryDTO.getMonth(),
queryDTO.getAirportCode(),
queryDTO.getRouteName(),
queryDTO.getTaskCategory(),
queryDTO.getTaskType(),
queryDTO.getTaskStatus()
);
return TaskStatDTOConvert.toDTOList(taskStats);
}
@Override
public List<TaskStatDTO> getTaskStatByWeek(TaskStatQueryDTO queryDTO) {
List<TaskStat> taskStats = taskStatDomain.getTaskStatByWeek(
queryDTO.getYear(),
queryDTO.getWeek(),
queryDTO.getAirportCode(),
queryDTO.getRouteName(),
queryDTO.getTaskCategory(),
queryDTO.getTaskType(),
queryDTO.getTaskStatus()
);
return TaskStatDTOConvert.toDTOList(taskStats);
}
@Override
public List<TaskStatDTO> getTaskStatByYear(TaskStatQueryDTO queryDTO) {
List<TaskStat> taskStats = taskStatDomain.getTaskStatByYear(
queryDTO.getYear(),
queryDTO.getAirportCode(),
queryDTO.getRouteName(),
queryDTO.getTaskCategory(),
queryDTO.getTaskType(),
queryDTO.getTaskStatus()
);
return TaskStatDTOConvert.toDTOList(taskStats);
}
@Override
public List<TaskStatDTO> getTaskStatList(TaskStatQueryDTO queryDTO) {
// 使用时间范围查询作为默认实现
List<TaskStat> taskStats = taskStatDomain.getTaskStatByTimeRange(
queryDTO.getStartTime(),
queryDTO.getEndTime(),
queryDTO.getAirportCode(),
queryDTO.getRouteName(),
queryDTO.getTaskCategory(),
queryDTO.getTaskType(),
queryDTO.getTaskStatus()
);
return TaskStatDTOConvert.toDTOList(taskStats);
}
}