From 2d8ded3e77b22e44985265ca4063102662e452c1 Mon Sep 17 00:00:00 2001
From: sean.zhou <sean.zhou@dji.com>
Date: Mon, 12 Dec 2022 18:32:19 +0800
Subject: [PATCH] initial v1.3.1
---
src/main/java/com/dji/sample/wayline/service/impl/FlightTaskServiceImpl.java | 24 ++++++++++++++----------
1 files changed, 14 insertions(+), 10 deletions(-)
diff --git a/src/main/java/com/dji/sample/wayline/service/impl/FlightTaskServiceImpl.java b/src/main/java/com/dji/sample/wayline/service/impl/FlightTaskServiceImpl.java
index 83b3247..77ca1cf 100644
--- a/src/main/java/com/dji/sample/wayline/service/impl/FlightTaskServiceImpl.java
+++ b/src/main/java/com/dji/sample/wayline/service/impl/FlightTaskServiceImpl.java
@@ -11,6 +11,7 @@
import com.dji.sample.component.websocket.service.IWebSocketManageService;
import com.dji.sample.manage.model.dto.DeviceDTO;
import com.dji.sample.manage.model.enums.UserTypeEnum;
+import com.dji.sample.media.model.MediaFileCountDTO;
import com.dji.sample.wayline.model.dto.FlightTaskProgressReceiver;
import com.dji.sample.wayline.model.dto.WaylineJobDTO;
import com.dji.sample.wayline.model.enums.WaylineJobStatusEnum;
@@ -53,9 +54,6 @@
private IWebSocketManageService webSocketManageService;
@Autowired
- private RedisOpsUtils redisOps;
-
- @Autowired
private IWaylineJobService waylineJobService;
@Override
@@ -83,17 +81,23 @@
.mediaCount(output.getExt().getMediaCount())
.build();
+ // record the update of the media count.
+ if (Objects.nonNull(job.getMediaCount())) {
+ RedisOpsUtils.hashSet(RedisConst.MEDIA_FILE_PREFIX + receiver.getGateway(), job.getJobId(),
+ MediaFileCountDTO.builder().jobId(receiver.getBid()).mediaCount(job.getMediaCount()).uploadedCount(0).build());
+ }
+
if (EventsResultStatusEnum.OK != statusEnum) {
job.setCode(eventsReceiver.getResult());
job.setStatus(WaylineJobStatusEnum.FAILED.getVal());
}
waylineJobService.updateJob(job);
- redisOps.del(receiver.getBid());
+ RedisOpsUtils.del(receiver.getBid());
}
- redisOps.setWithExpire(receiver.getBid(), eventsReceiver, RedisConst.DEVICE_ALIVE_SECOND * RedisConst.DEVICE_ALIVE_SECOND);
+ RedisOpsUtils.setWithExpire(receiver.getBid(), eventsReceiver, RedisConst.DEVICE_ALIVE_SECOND * RedisConst.DEVICE_ALIVE_SECOND);
- DeviceDTO device = (DeviceDTO) redisOps.get(RedisConst.DEVICE_ONLINE_PREFIX + receiver.getGateway());
+ DeviceDTO device = (DeviceDTO) RedisOpsUtils.get(RedisConst.DEVICE_ONLINE_PREFIX + receiver.getGateway());
websocketMessageService.sendBatch(
webSocketManageService.getValueWithWorkspaceAndUserType(
device.getWorkspaceId(), UserTypeEnum.WEB.getVal()),
@@ -118,19 +122,19 @@
@Scheduled(initialDelay = 10, fixedRate = 5, timeUnit = TimeUnit.SECONDS)
private void checkScheduledJob() {
- Object jobIdValue = redisOps.zGetMin(RedisConst.WAYLINE_JOB);
+ Object jobIdValue = RedisOpsUtils.zGetMin(RedisConst.WAYLINE_JOB);
log.info("Check the timed jobs of the wayline. {}", jobIdValue);
if (Objects.isNull(jobIdValue)) {
return;
}
String jobId = String.valueOf(jobIdValue);
- double time = redisOps.zScore(RedisConst.WAYLINE_JOB, jobIdValue);
+ double time = RedisOpsUtils.zScore(RedisConst.WAYLINE_JOB, jobIdValue);
long now = System.currentTimeMillis();
int offset = 30_000;
// Expired tasks are deleted directly.
if (time < now - offset) {
- redisOps.zRemove(RedisConst.WAYLINE_JOB, jobId);
+ RedisOpsUtils.zRemove(RedisConst.WAYLINE_JOB, jobId);
waylineJobService.updateJob(WaylineJobDTO.builder()
.jobId(jobId)
.status(WaylineJobStatusEnum.FAILED.getVal())
@@ -150,7 +154,7 @@
.endTime(LocalDateTime.now())
.code(HttpStatus.SC_INTERNAL_SERVER_ERROR).build());
} finally {
- redisOps.zRemove(RedisConst.WAYLINE_JOB, jobId);
+ RedisOpsUtils.zRemove(RedisConst.WAYLINE_JOB, jobId);
}
}
}
--
Gitblit v1.9.3