From 64fe243e5a223a09bb07c90958ecfd436ed018ea Mon Sep 17 00:00:00 2001
From: shenyijian <1178253012@qq.com>
Date: Thu, 09 Nov 2023 16:50:07 +0800
Subject: [PATCH] 无人机 - 新增统计飞行记录、收藏媒体任务接口
---
src/main/java/com/dji/sample/wayline/service/impl/WaylineJobServiceImpl.java | 28 ++++++++++++++++++++++++++++
1 files changed, 28 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/dji/sample/wayline/service/impl/WaylineJobServiceImpl.java b/src/main/java/com/dji/sample/wayline/service/impl/WaylineJobServiceImpl.java
index c149023..e86e4c6 100644
--- a/src/main/java/com/dji/sample/wayline/service/impl/WaylineJobServiceImpl.java
+++ b/src/main/java/com/dji/sample/wayline/service/impl/WaylineJobServiceImpl.java
@@ -2,6 +2,8 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
+import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.dji.sample.common.error.CommonErrorEnum;
import com.dji.sample.common.model.CustomClaim;
@@ -689,6 +691,32 @@
return waylineJobEntity;
}
+ @Override
+ public WaylineJobCountDTO patrolStatistics(String workspaceId) {
+ WaylineJobCountDTO waylineJobCountDTO = new WaylineJobCountDTO();
+ List<WaylineJobEntity> list = new LambdaQueryChainWrapper<>(mapper).eq(WaylineJobEntity::getStatus, 3).list();
+ if (!CollectionUtils.isEmpty(list)){
+ waylineJobCountDTO.setTotalNumber(list.size());
+ long totalTime = list.stream().mapToLong(s -> s.getEndTime() - s.getBeginTime()).sum() / 1000;
+ StringBuffer buffer = new StringBuffer();
+ long h = totalTime / 3600;
+ long m = (totalTime % 3600) / 60;
+ buffer.append(h).append(" h ");
+ buffer.append(m).append(" min");
+ waylineJobCountDTO.setTotalDuration(buffer.toString());
+ }
+ return waylineJobCountDTO;
+ }
+
+ @Override
+ public void updateJobCollect(WaylineJobEntity waylineJob) {
+ new LambdaUpdateChainWrapper<>(mapper)
+ .eq(WaylineJobEntity::getJobId,waylineJob.getJobId())
+ .set(WaylineJobEntity::getCollectStatus,waylineJob.getCollectStatus())
+ .set(WaylineJobEntity::getUserId,waylineJob.getUserId())
+ .update();
+ }
+
private void pauseJob(String workspaceId, String dockSn, String jobId, WaylineJobStatusEnum statusEnum) {
if (WaylineJobStatusEnum.PAUSED == statusEnum && jobId.equals(waylineRedisService.getPausedWaylineJobId(dockSn))) {
waylineRedisService.setPausedWaylineJob(dockSn, jobId);
--
Gitblit v1.9.3