添加领域层接口

This commit is contained in:
孙小云 2026-03-05 16:53:39 +08:00
parent dbafd98b14
commit 25e26b1b9f
13 changed files with 1447 additions and 0 deletions

View File

@ -71,6 +71,12 @@
<artifactId>ruoyi-common-swagger</artifactId> <artifactId>ruoyi-common-swagger</artifactId>
</dependency> </dependency>
<!-- RuoYi Common Core -->
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-common-core</artifactId>
</dependency>
<!-- Tuoheng TASK API --> <!-- Tuoheng TASK API -->
<dependency> <dependency>
<groupId>com.ruoyi</groupId> <groupId>com.ruoyi</groupId>

View File

@ -0,0 +1,62 @@
package com.ruoyi.task.domain.api;
import com.ruoyi.task.domain.model.Task;
import java.util.List;
/**
* 任务领域接口
*
* @author ruoyi
* @date 2026-03-05
*/
public interface ITaskDomain {
/**
* 创建无关联计划的飞行任务
*
* @param task 任务领域模型
* @return 创建后的任务
*/
Task createTaskWithoutPlan(Task task);
/**
* 更新任务
*
* @param task 任务领域模型
* @return 更新后的任务
*/
Task updateTask(Task task);
/**
* 删除任务
*
* @param taskId 任务ID
* @return 是否删除成功
*/
boolean deleteTask(Long taskId);
/**
* 根据ID获取任务
*
* @param taskId 任务ID
* @return 任务领域模型
*/
Task getTaskById(Long taskId);
/**
* 根据条件查询任务列表
*
* @param task 查询条件
* @return 任务列表
*/
List<Task> getTaskList(Task task);
/**
* 根据计划ID获取任务
*
* @param planId 计划ID
* @return 任务列表
*/
List<Task> getTaskByPlanId(Long planId);
}

View File

@ -0,0 +1,79 @@
package com.ruoyi.task.domain.api;
import com.ruoyi.task.domain.model.TaskPlan;
import com.ruoyi.task.mapper.entity.TaskPlanEntity;
import java.util.List;
/**
* 任务计划领域接口
*
* @author ruoyi
* @date 2026-03-05
*/
public interface ITaskPlanDomain {
/**
* 创建定时任务计划
*
* @param taskPlan 任务计划领域模型
* @return 创建后的任务计划
*/
TaskPlan createTimedTaskPlan(TaskPlan taskPlan);
/**
* 创建周期任务计划
*
* @param taskPlan 任务计划领域模型
* @return 创建后的任务计划
*/
TaskPlan createCycleTaskPlan(TaskPlan taskPlan);
/**
* 更新任务计划
*
* @param taskPlan 任务计划领域模型
* @return 更新后的任务计划
*/
TaskPlan updateTaskPlan(TaskPlan taskPlan);
/**
* 删除任务计划
*
* @param planId 计划ID
* @return 是否删除成功
*/
boolean deleteTaskPlan(Long planId);
/**
* 根据ID获取任务计划
*
* @param planId 计划ID
* @return 任务计划领域模型
*/
TaskPlan getTaskPlanById(Long planId);
/**
* 根据条件查询任务计划列表
*
* @param taskPlan 查询条件
* @return 任务计划列表
*/
List<TaskPlan> getTaskPlanList(TaskPlan taskPlan);
/**
* 根据计划类型获取任务计划
*
* @param planType 计划类型
* @return 任务计划列表
*/
List<TaskPlan> getTaskPlanByType(String planType);
/**
* 根据状态获取任务计划
*
* @param status 状态
* @return 任务计划列表
*/
List<TaskPlan> getTaskPlanByStatus(String status);
}

View File

@ -0,0 +1,100 @@
package com.ruoyi.task.domain.api;
import com.ruoyi.task.domain.model.TaskStat;
import java.util.Date;
import java.util.List;
/**
* 任务统计领域接口
*
* @author ruoyi
* @date 2026-03-05
*/
public interface ITaskStatDomain {
/**
* 根据时间范围获取任务统计
*
* @param startTime 开始时间
* @param endTime 结束时间
* @param airportCode 机场代码
* @param routeName 航线名称
* @param taskCategory 任务类别
* @param taskType 任务类型
* @param taskStatus 任务状态
* @return 任务统计列表
*/
List<TaskStat> getTaskStatByTimeRange(Date startTime, Date endTime, String airportCode, String routeName, String taskCategory, String taskType, String taskStatus);
/**
* 按月获取任务统计
*
* @param year 年份
* @param month 月份
* @param airportCode 机场代码
* @param routeName 航线名称
* @param taskCategory 任务类别
* @param taskType 任务类型
* @param taskStatus 任务状态
* @return 任务统计列表
*/
List<TaskStat> getTaskStatByMonth(int year, int month, String airportCode, String routeName, String taskCategory, String taskType, String taskStatus);
/**
* 按周获取任务统计
*
* @param year 年份
* @param week 周数
* @param airportCode 机场代码
* @param routeName 航线名称
* @param taskCategory 任务类别
* @param taskType 任务类型
* @param taskStatus 任务状态
* @return 任务统计列表
*/
List<TaskStat> getTaskStatByWeek(int year, int week, String airportCode, String routeName, String taskCategory, String taskType, String taskStatus);
/**
* 按年获取任务统计
*
* @param year 年份
* @param airportCode 机场代码
* @param routeName 航线名称
* @param taskCategory 任务类别
* @param taskType 任务类型
* @param taskStatus 任务状态
* @return 任务统计列表
*/
List<TaskStat> getTaskStatByYear(int year, String airportCode, String routeName, String taskCategory, String taskType, String taskStatus);
/**
* 按任务类别获取统计
*
* @param taskCategory 任务类别
* @param startTime 开始时间
* @param endTime 结束时间
* @return 任务统计列表
*/
List<TaskStat> getTaskStatByCategory(String taskCategory, Date startTime, Date endTime);
/**
* 按任务类型获取统计
*
* @param taskType 任务类型
* @param startTime 开始时间
* @param endTime 结束时间
* @return 任务统计列表
*/
List<TaskStat> getTaskStatByType(String taskType, Date startTime, Date endTime);
/**
* 按任务状态获取统计
*
* @param taskStatus 任务状态
* @param startTime 开始时间
* @param endTime 结束时间
* @return 任务统计列表
*/
List<TaskStat> getTaskStatByStatus(String taskStatus, Date startTime, Date endTime);
}

View File

@ -0,0 +1,79 @@
package com.ruoyi.task.domain.convert;
import com.ruoyi.task.domain.model.Task;
import com.ruoyi.task.mapper.entity.TaskInfoEntity;
/**
* 任务转换类
*
* @author ruoyi
* @date 2026-03-05
*/
public class TaskConvert {
/**
* 将实体转换为领域模型
*
* @param entity 任务信息实体
* @return 任务领域模型
*/
public static Task toModel(TaskInfoEntity entity) {
if (entity == null) {
return null;
}
Task model = new Task();
model.setId(entity.getId());
model.setPlanId(entity.getPlanId());
model.setTaskName(entity.getTaskName());
model.setTaskCategory(entity.getTaskCategory());
model.setTaskType(entity.getTaskType());
model.setExecuteType(entity.getExecuteType());
model.setRouteId(entity.getRouteId());
model.setUavId(entity.getUavId());
model.setStatus(entity.getStatus());
model.setStartTime(entity.getStartTime());
model.setEndTime(entity.getEndTime());
model.setDescription(entity.getDescription());
model.setCreateBy(entity.getCreateBy());
model.setCreateTime(entity.getCreateTime());
model.setUpdateBy(entity.getUpdateBy());
model.setUpdateTime(entity.getUpdateTime());
model.setRemark(entity.getRemark());
return model;
}
/**
* 将领域模型转换为实体
*
* @param model 任务领域模型
* @return 任务信息实体
*/
public static TaskInfoEntity toEntity(Task model) {
if (model == null) {
return null;
}
TaskInfoEntity entity = new TaskInfoEntity();
entity.setId(model.getId());
entity.setPlanId(model.getPlanId());
entity.setTaskName(model.getTaskName());
entity.setTaskCategory(model.getTaskCategory());
entity.setTaskType(model.getTaskType());
entity.setExecuteType(model.getExecuteType());
entity.setRouteId(model.getRouteId());
entity.setUavId(model.getUavId());
entity.setStatus(model.getStatus());
entity.setStartTime(model.getStartTime());
entity.setEndTime(model.getEndTime());
entity.setDescription(model.getDescription());
entity.setCreateBy(model.getCreateBy());
entity.setCreateTime(model.getCreateTime());
entity.setUpdateBy(model.getUpdateBy());
entity.setUpdateTime(model.getUpdateTime());
entity.setRemark(model.getRemark());
return entity;
}
}

View File

@ -0,0 +1,81 @@
package com.ruoyi.task.domain.convert;
import com.ruoyi.task.domain.model.TaskPlan;
import com.ruoyi.task.mapper.entity.TaskPlanEntity;
/**
* 任务计划转换类
*
* @author ruoyi
* @date 2026-03-05
*/
public class TaskPlanConvert {
/**
* 将实体转换为领域模型
*
* @param entity 任务计划实体
* @return 任务计划领域模型
*/
public static TaskPlan toModel(TaskPlanEntity entity) {
if (entity == null) {
return null;
}
TaskPlan model = new TaskPlan();
model.setId(entity.getId());
model.setPlanName(entity.getPlanName());
model.setPlanType(entity.getPlanType());
model.setExecuteType(entity.getExecuteType());
model.setCycleType(entity.getCycleType());
model.setCycleValue(entity.getCycleValue());
model.setStartDate(entity.getStartDate());
model.setEndDate(entity.getEndDate());
model.setExecuteTime(entity.getExecuteTime());
model.setRouteId(entity.getRouteId());
model.setUavId(entity.getUavId());
model.setStatus(entity.getStatus());
model.setDescription(entity.getDescription());
model.setCreateBy(entity.getCreateBy());
model.setCreateTime(entity.getCreateTime());
model.setUpdateBy(entity.getUpdateBy());
model.setUpdateTime(entity.getUpdateTime());
model.setRemark(entity.getRemark());
return model;
}
/**
* 将领域模型转换为实体
*
* @param model 任务计划领域模型
* @return 任务计划实体
*/
public static TaskPlanEntity toEntity(TaskPlan model) {
if (model == null) {
return null;
}
TaskPlanEntity entity = new TaskPlanEntity();
entity.setId(model.getId());
entity.setPlanName(model.getPlanName());
entity.setPlanType(model.getPlanType());
entity.setExecuteType(model.getExecuteType());
entity.setCycleType(model.getCycleType());
entity.setCycleValue(model.getCycleValue());
entity.setStartDate(model.getStartDate());
entity.setEndDate(model.getEndDate());
entity.setExecuteTime(model.getExecuteTime());
entity.setRouteId(model.getRouteId());
entity.setUavId(model.getUavId());
entity.setStatus(model.getStatus());
entity.setDescription(model.getDescription());
entity.setCreateBy(model.getCreateBy());
entity.setCreateTime(model.getCreateTime());
entity.setUpdateBy(model.getUpdateBy());
entity.setUpdateTime(model.getUpdateTime());
entity.setRemark(model.getRemark());
return entity;
}
}

View File

@ -0,0 +1,71 @@
package com.ruoyi.task.domain.convert;
import com.ruoyi.task.domain.model.TaskStat;
import com.ruoyi.task.mapper.entity.TaskStatEntity;
/**
* 任务统计转换类
*
* @author ruoyi
* @date 2026-03-05
*/
public class TaskStatConvert {
/**
* 将实体转换为领域模型
*
* @param entity 任务统计实体
* @return 任务统计领域模型
*/
public static TaskStat toModel(TaskStatEntity entity) {
if (entity == null) {
return null;
}
TaskStat model = new TaskStat();
model.setId(entity.getId());
model.setAirportCode(entity.getAirportCode());
model.setRouteName(entity.getRouteName());
model.setTaskCategory(entity.getTaskCategory());
model.setTaskType(entity.getTaskType());
model.setTaskStatus(entity.getTaskStatus());
model.setYear(entity.getYear());
model.setMonth(entity.getMonth());
model.setDay(entity.getDay());
model.setTaskCount(entity.getTaskCount());
model.setCreateBy(entity.getCreateBy());
model.setUpdateBy(entity.getUpdateBy());
model.setRemark(entity.getRemark());
return model;
}
/**
* 将领域模型转换为实体
*
* @param model 任务统计领域模型
* @return 任务统计实体
*/
public static TaskStatEntity toEntity(TaskStat model) {
if (model == null) {
return null;
}
TaskStatEntity entity = new TaskStatEntity();
entity.setId(model.getId());
entity.setAirportCode(model.getAirportCode());
entity.setRouteName(model.getRouteName());
entity.setTaskCategory(model.getTaskCategory());
entity.setTaskType(model.getTaskType());
entity.setTaskStatus(model.getTaskStatus());
entity.setYear(model.getYear());
entity.setMonth(model.getMonth());
entity.setDay(model.getDay());
entity.setTaskCount(model.getTaskCount());
entity.setCreateBy(model.getCreateBy());
entity.setUpdateBy(model.getUpdateBy());
entity.setRemark(model.getRemark());
return entity;
}
}

View File

@ -0,0 +1,90 @@
package com.ruoyi.task.domain.impl;
import com.ruoyi.task.domain.api.ITaskDomain;
import com.ruoyi.task.domain.convert.TaskConvert;
import com.ruoyi.task.domain.model.Task;
import com.ruoyi.task.mapper.TaskInfoMapper;
import com.ruoyi.task.mapper.entity.TaskInfoEntity;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.List;
import java.util.stream.Collectors;
/**
* 任务领域实现类
*
* @author ruoyi
* @date 2026-03-05
*/
@Component
public class TaskDomainImpl implements ITaskDomain {
@Autowired
private TaskInfoMapper taskInfoMapper;
@Override
public Task createTaskWithoutPlan(Task task) {
// 确保planId为null表示无关联计划
task.setPlanId(null);
// 转换为实体
TaskInfoEntity entity = TaskConvert.toEntity(task);
// 插入数据库
taskInfoMapper.insertTaskInfo(entity);
// 转换回领域模型并返回
return TaskConvert.toModel(entity);
}
@Override
public Task updateTask(Task task) {
// 转换为实体
TaskInfoEntity entity = TaskConvert.toEntity(task);
// 更新数据库
taskInfoMapper.updateTaskInfo(entity);
// 查询更新后的实体
TaskInfoEntity updatedEntity = taskInfoMapper.selectTaskInfoById(task.getId());
// 转换回领域模型并返回
return TaskConvert.toModel(updatedEntity);
}
@Override
public boolean deleteTask(Long taskId) {
// 删除数据库记录
int result = taskInfoMapper.deleteTaskInfoById(taskId);
// 返回删除结果
return result > 0;
}
@Override
public Task getTaskById(Long taskId) {
// 查询数据库
TaskInfoEntity entity = taskInfoMapper.selectTaskInfoById(taskId);
// 转换为领域模型并返回
return TaskConvert.toModel(entity);
}
@Override
public List<Task> getTaskList(Task task) {
// 转换为实体作为查询条件
TaskInfoEntity entity = TaskConvert.toEntity(task);
// 查询数据库
List<TaskInfoEntity> entityList = taskInfoMapper.selectTaskInfoList(entity);
// 转换为领域模型列表并返回
return entityList.stream()
.map(TaskConvert::toModel)
.collect(Collectors.toList());
}
@Override
public List<Task> getTaskByPlanId(Long planId) {
// 创建查询条件
TaskInfoEntity entity = new TaskInfoEntity();
entity.setPlanId(planId);
// 查询数据库
List<TaskInfoEntity> entityList = taskInfoMapper.selectTaskInfoList(entity);
// 转换为领域模型列表并返回
return entityList.stream()
.map(TaskConvert::toModel)
.collect(Collectors.toList());
}
}

View File

@ -0,0 +1,115 @@
package com.ruoyi.task.domain.impl;
import com.ruoyi.task.domain.api.ITaskPlanDomain;
import com.ruoyi.task.domain.convert.TaskPlanConvert;
import com.ruoyi.task.domain.model.TaskPlan;
import com.ruoyi.task.mapper.TaskPlanMapper;
import com.ruoyi.task.mapper.entity.TaskPlanEntity;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.List;
import java.util.stream.Collectors;
/**
* 任务计划领域实现类
*
* @author ruoyi
* @date 2026-03-05
*/
@Component
public class TaskPlanDomainImpl implements ITaskPlanDomain {
@Autowired
private TaskPlanMapper taskPlanMapper;
@Override
public TaskPlan createTimedTaskPlan(TaskPlan taskPlan) {
// 设置计划类型为定时任务计划
taskPlan.setPlanType("定时任务计划");
// 转换为实体
TaskPlanEntity entity = TaskPlanConvert.toEntity(taskPlan);
// 插入数据库
taskPlanMapper.insertTaskPlan(entity);
// 转换回领域模型并返回
return TaskPlanConvert.toModel(entity);
}
@Override
public TaskPlan createCycleTaskPlan(TaskPlan taskPlan) {
// 设置计划类型为周期任务计划
taskPlan.setPlanType("周期任务计划");
// 转换为实体
TaskPlanEntity entity = TaskPlanConvert.toEntity(taskPlan);
// 插入数据库
taskPlanMapper.insertTaskPlan(entity);
// 转换回领域模型并返回
return TaskPlanConvert.toModel(entity);
}
@Override
public TaskPlan updateTaskPlan(TaskPlan taskPlan) {
// 转换为实体
TaskPlanEntity entity = TaskPlanConvert.toEntity(taskPlan);
// 更新数据库
taskPlanMapper.updateTaskPlan(entity);
// 查询更新后的实体
TaskPlanEntity updatedEntity = taskPlanMapper.selectTaskPlanById(taskPlan.getId());
// 转换回领域模型并返回
return TaskPlanConvert.toModel(updatedEntity);
}
@Override
public boolean deleteTaskPlan(Long planId) {
// 删除数据库记录
int result = taskPlanMapper.deleteTaskPlanById(planId);
// 返回删除结果
return result > 0;
}
@Override
public TaskPlan getTaskPlanById(Long planId) {
// 查询数据库
TaskPlanEntity entity = taskPlanMapper.selectTaskPlanById(planId);
// 转换为领域模型并返回
return TaskPlanConvert.toModel(entity);
}
@Override
public List<TaskPlan> getTaskPlanList(TaskPlan taskPlan) {
// 转换为实体作为查询条件
TaskPlanEntity entity = TaskPlanConvert.toEntity(taskPlan);
// 查询数据库
List<TaskPlanEntity> entityList = taskPlanMapper.selectTaskPlanList(entity);
// 转换为领域模型列表并返回
return entityList.stream()
.map(TaskPlanConvert::toModel)
.collect(Collectors.toList());
}
@Override
public List<TaskPlan> getTaskPlanByType(String planType) {
// 创建查询条件
TaskPlanEntity entity = new TaskPlanEntity();
entity.setPlanType(planType);
// 查询数据库
List<TaskPlanEntity> entityList = taskPlanMapper.selectTaskPlanList(entity);
// 转换为领域模型列表并返回
return entityList.stream()
.map(TaskPlanConvert::toModel)
.collect(Collectors.toList());
}
@Override
public List<TaskPlan> getTaskPlanByStatus(String status) {
// 创建查询条件
TaskPlanEntity entity = new TaskPlanEntity();
entity.setStatus(status);
// 查询数据库
List<TaskPlanEntity> entityList = taskPlanMapper.selectTaskPlanList(entity);
// 转换为领域模型列表并返回
return entityList.stream()
.map(TaskPlanConvert::toModel)
.collect(Collectors.toList());
}
}

View File

@ -0,0 +1,146 @@
package com.ruoyi.task.domain.impl;
import com.ruoyi.task.domain.api.ITaskStatDomain;
import com.ruoyi.task.domain.convert.TaskStatConvert;
import com.ruoyi.task.domain.model.TaskStat;
import com.ruoyi.task.mapper.TaskStatMapper;
import com.ruoyi.task.mapper.entity.TaskStatEntity;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
/**
* 任务统计领域实现类
*
* @author ruoyi
* @date 2026-03-05
*/
@Component
public class TaskStatDomainImpl implements ITaskStatDomain {
@Autowired
private TaskStatMapper taskStatMapper;
@Override
public List<TaskStat> getTaskStatByTimeRange(Date startTime, Date endTime, String airportCode, String routeName, String taskCategory, String taskType, String taskStatus) {
// 创建查询条件
TaskStatEntity entity = new TaskStatEntity();
// 这里需要根据实际的数据库查询逻辑来设置条件
// 由于TaskStatMapper的selectTaskStatList方法支持的条件有限
// 实际实现中可能需要扩展Mapper接口或使用其他方式实现复杂查询
// 这里仅作为示例
entity.setAirportCode(airportCode);
entity.setTaskCategory(taskCategory);
entity.setTaskType(taskType);
entity.setTaskStatus(taskStatus);
// 查询数据库
List<TaskStatEntity> entityList = taskStatMapper.selectTaskStatList(entity);
// 转换为领域模型列表并返回
return entityList.stream()
.map(TaskStatConvert::toModel)
.collect(Collectors.toList());
}
@Override
public List<TaskStat> getTaskStatByMonth(int year, int month, String airportCode, String routeName, String taskCategory, String taskType, String taskStatus) {
// 创建查询条件
TaskStatEntity entity = new TaskStatEntity();
entity.setYear(year);
entity.setMonth(month);
entity.setAirportCode(airportCode);
entity.setTaskCategory(taskCategory);
entity.setTaskType(taskType);
entity.setTaskStatus(taskStatus);
// 查询数据库
List<TaskStatEntity> entityList = taskStatMapper.selectTaskStatList(entity);
// 转换为领域模型列表并返回
return entityList.stream()
.map(TaskStatConvert::toModel)
.collect(Collectors.toList());
}
@Override
public List<TaskStat> getTaskStatByWeek(int year, int week, String airportCode, String routeName, String taskCategory, String taskType, String taskStatus) {
// 创建查询条件
TaskStatEntity entity = new TaskStatEntity();
// 周统计需要根据实际的周计算逻辑来设置条件
// 这里仅作为示例
entity.setYear(year);
entity.setAirportCode(airportCode);
entity.setTaskCategory(taskCategory);
entity.setTaskType(taskType);
entity.setTaskStatus(taskStatus);
// 查询数据库
List<TaskStatEntity> entityList = taskStatMapper.selectTaskStatList(entity);
// 转换为领域模型列表并返回
return entityList.stream()
.map(TaskStatConvert::toModel)
.collect(Collectors.toList());
}
@Override
public List<TaskStat> getTaskStatByYear(int year, String airportCode, String routeName, String taskCategory, String taskType, String taskStatus) {
// 创建查询条件
TaskStatEntity entity = new TaskStatEntity();
entity.setYear(year);
entity.setAirportCode(airportCode);
entity.setTaskCategory(taskCategory);
entity.setTaskType(taskType);
entity.setTaskStatus(taskStatus);
// 查询数据库
List<TaskStatEntity> entityList = taskStatMapper.selectTaskStatList(entity);
// 转换为领域模型列表并返回
return entityList.stream()
.map(TaskStatConvert::toModel)
.collect(Collectors.toList());
}
@Override
public List<TaskStat> getTaskStatByCategory(String taskCategory, Date startTime, Date endTime) {
// 创建查询条件
TaskStatEntity entity = new TaskStatEntity();
entity.setTaskCategory(taskCategory);
// 查询数据库
List<TaskStatEntity> entityList = taskStatMapper.selectTaskStatList(entity);
// 转换为领域模型列表并返回
return entityList.stream()
.map(TaskStatConvert::toModel)
.collect(Collectors.toList());
}
@Override
public List<TaskStat> getTaskStatByType(String taskType, Date startTime, Date endTime) {
// 创建查询条件
TaskStatEntity entity = new TaskStatEntity();
entity.setTaskType(taskType);
// 查询数据库
List<TaskStatEntity> entityList = taskStatMapper.selectTaskStatList(entity);
// 转换为领域模型列表并返回
return entityList.stream()
.map(TaskStatConvert::toModel)
.collect(Collectors.toList());
}
@Override
public List<TaskStat> getTaskStatByStatus(String taskStatus, Date startTime, Date endTime) {
// 创建查询条件
TaskStatEntity entity = new TaskStatEntity();
entity.setTaskStatus(taskStatus);
// 查询数据库
List<TaskStatEntity> entityList = taskStatMapper.selectTaskStatList(entity);
// 转换为领域模型列表并返回
return entityList.stream()
.map(TaskStatConvert::toModel)
.collect(Collectors.toList());
}
}

View File

@ -0,0 +1,218 @@
package com.ruoyi.task.domain.model;
import java.util.Date;
/**
* 任务领域模型
*
* @author ruoyi
* @date 2026-03-05
*/
public class Task {
/** 任务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 createBy;
/** 创建时间 */
private Date createTime;
/** 更新者 */
private String updateBy;
/** 更新时间 */
private Date updateTime;
/** 备注 */
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 getCreateBy() {
return createBy;
}
public void setCreateBy(String createBy) {
this.createBy = createBy;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public String getUpdateBy() {
return updateBy;
}
public void setUpdateBy(String updateBy) {
this.updateBy = updateBy;
}
public Date getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
@Override
public String toString() {
return "Task{" +
"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,230 @@
package com.ruoyi.task.domain.model;
import java.util.Date;
/**
* 任务计划领域模型
*
* @author ruoyi
* @date 2026-03-05
*/
public class TaskPlan {
/** 计划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 createBy;
/** 创建时间 */
private Date createTime;
/** 更新者 */
private String updateBy;
/** 更新时间 */
private Date updateTime;
/** 备注 */
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 getCreateBy() {
return createBy;
}
public void setCreateBy(String createBy) {
this.createBy = createBy;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public String getUpdateBy() {
return updateBy;
}
public void setUpdateBy(String updateBy) {
this.updateBy = updateBy;
}
public Date getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
@Override
public String toString() {
return "TaskPlan{" +
"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,170 @@
package com.ruoyi.task.domain.model;
/**
* 任务统计领域模型
*
* @author ruoyi
* @date 2026-03-05
*/
public class TaskStat {
/** 统计ID */
private Long id;
/** 机场代码 */
private String airportCode;
/** 航线名称 */
private String routeName;
/** 任务类别(如人工执飞) */
private String taskCategory;
/** 任务类型(如一键起飞) */
private String taskType;
/** 任务状态0待执行 1执行中 2已完成 3已取消 */
private String taskStatus;
/** 年份 */
private Integer year;
/** 月份 */
private Integer month;
/** 日期 */
private Integer day;
/** 任务数量 */
private Integer taskCount;
/** 创建者 */
private String createBy;
/** 更新者 */
private String updateBy;
/** 备注 */
private String remark;
// Getters and Setters
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;
}
@Override
public String toString() {
return "TaskStat{" +
"id=" + id +
", airportCode='" + airportCode + '\'' +
", routeName='" + routeName + '\'' +
", taskCategory='" + taskCategory + '\'' +
", taskType='" + taskType + '\'' +
", taskStatus='" + taskStatus + '\'' +
", year=" + year +
", month=" + month +
", day=" + day +
", taskCount=" + taskCount +
'}';
}
}