From eeb87b005aad8b75ffadb41c5276d5761a4d50ac Mon Sep 17 00:00:00 2001 From: wuyuan <15505152113@163.com> Date: Wed, 9 Apr 2025 10:06:17 +0800 Subject: [PATCH] 11 --- .../manage/service/impl/DeviceQrtzServiceImpl.java | 2 +- .../sample/media/service/impl/MediaServiceImpl.java | 10 ++++++++-- .../wayline/service/impl/WaylineFileServiceImpl.java | 3 +++ 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/DeviceQrtzServiceImpl.java b/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/DeviceQrtzServiceImpl.java index 458c008..ff7bd93 100644 --- a/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/DeviceQrtzServiceImpl.java +++ b/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/DeviceQrtzServiceImpl.java @@ -326,7 +326,7 @@ public class DeviceQrtzServiceImpl implements IDeviceQrtzService { if(httpResultResponse.getCode() == 0){ deviceQrtzFileEntity.setStatus(DeviceQrtzConstants.QRTZ_FILE_STATUS_2); deviceQrtzFileMapper.updateById(deviceQrtzFileEntity); - return; + continue; } deviceQrtzFileEntity.setStatus(DeviceQrtzConstants.QRTZ_FILE_STATUS_0); deviceQrtzFileMapper.updateById(deviceQrtzFileEntity); diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/media/service/impl/MediaServiceImpl.java b/dk-modules/sample/src/main/java/org/dromara/sample/media/service/impl/MediaServiceImpl.java index d2f3bc2..60f5144 100644 --- a/dk-modules/sample/src/main/java/org/dromara/sample/media/service/impl/MediaServiceImpl.java +++ b/dk-modules/sample/src/main/java/org/dromara/sample/media/service/impl/MediaServiceImpl.java @@ -1,5 +1,6 @@ package org.dromara.sample.media.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import org.dromara.common.sdk.cloudapi.media.*; import org.dromara.common.sdk.cloudapi.media.api.AbstractMediaService; import org.dromara.common.sdk.mqtt.MqttReply; @@ -15,6 +16,7 @@ import org.dromara.sample.media.model.MediaFileDTO; import org.dromara.sample.media.service.IFileService; import org.dromara.sample.media.service.IMediaRedisService; import org.dromara.sample.media.service.IMediaService; +import org.dromara.sample.wayline.model.entity.WaylineFileEntity; import org.dromara.sample.wayline.service.IAiCompareQueueService; import org.dromara.sample.wayline.service.IWaylineJobService; import com.fasterxml.jackson.databind.ObjectMapper; @@ -107,6 +109,7 @@ public class MediaServiceImpl extends AbstractMediaService implements IMediaServ if (deviceOpt.isEmpty() || (Objects.nonNull(mediaFileCount) && request.getBid().equals(mediaFileCount.getBid()) && request.getTid().equals(mediaFileCount.getTid()))) { + WaylineFileEntity waylineFileEntity = waylineFileMapper.selectOne(new LambdaQueryWrapper().eq(WaylineFileEntity::getWaylineId, deviceQrtzFileEntity.getWaylineId())); return new TopicEventsResponse().setData(MqttReply.success()); } @@ -168,6 +171,7 @@ public class MediaServiceImpl extends AbstractMediaService implements IMediaServ private void notifyUploadedCount(MediaFileCountDTO mediaFileCount, TopicEventsRequest request, String jobId, DeviceDTO dock) { // Do not notify when files that do not belong to the route are uploaded. + //不通知不属于路由的文件被上传。 if (Objects.isNull(mediaFileCount)) { return; } @@ -176,19 +180,21 @@ public class MediaServiceImpl extends AbstractMediaService implements IMediaServ mediaFileCount.setUploadedCount(mediaFileCount.getUploadedCount() + 1); // After all the files of the job are uploaded, delete the media file key. + //在上传完作业的所有文件后,删除媒体文件键。 if (mediaFileCount.getUploadedCount() >= mediaFileCount.getMediaCount()) { mediaRedisService.delMediaCount(request.getGateway(), jobId); // After uploading, delete the key with the highest priority. + //上传后,删除优先级最高的键。 MediaFileCountDTO fileCount = mediaRedisService.getMediaHighestPriority(request.getGateway()); if (Objects.nonNull(fileCount) && jobId.equals(fileCount.getJobId())) { mediaRedisService.delMediaHighestPriority(request.getGateway()); } + aiCompareQueueService.addWaylineJobToQueue(jobId); } else { mediaRedisService.setMediaCount(request.getGateway(), jobId, mediaFileCount); } - //11 - aiCompareQueueService.addWaylineJobToQueue(jobId); + webSocketMessageService.sendBatch(dock.getWorkspaceId(), UserTypeEnum.WEB.getVal(), BizCodeEnum.FILE_UPLOAD_CALLBACK.getCode(), mediaFileCount); } diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/impl/WaylineFileServiceImpl.java b/dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/impl/WaylineFileServiceImpl.java index 028018c..2479134 100644 --- a/dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/impl/WaylineFileServiceImpl.java +++ b/dk-modules/sample/src/main/java/org/dromara/sample/wayline/service/impl/WaylineFileServiceImpl.java @@ -81,6 +81,9 @@ public class WaylineFileServiceImpl implements IWaylineFileService { wrapper.eq(WaylineFileEntity::getDroneModelKey, type.getType()).or(); } }) + .and(param.getDeviceSn() != null, wrapper -> { + wrapper.eq(WaylineFileEntity::getDeviceSn, param.getDeviceSn()).or(); + }) .like(Objects.nonNull(param.getKey()), WaylineFileEntity::getName, param.getKey()) // There is a risk of SQL injection .last(Objects.nonNull(param.getOrderBy()), " order by " + param.getOrderBy().toString()));