From 8d9a2d656e4ae007590c622e5f7c228adacdca49 Mon Sep 17 00:00:00 2001
From: rain <167982779@qq.com>
Date: Fri, 14 Jun 2024 10:11:36 +0800
Subject: [PATCH] 统一风格
---
src/main/java/com/dji/sample/media/service/impl/MediaServiceImpl.java | 39 +++++++++++++++++++++++++++++++--------
1 files changed, 31 insertions(+), 8 deletions(-)
diff --git a/src/main/java/com/dji/sample/media/service/impl/MediaServiceImpl.java b/src/main/java/com/dji/sample/media/service/impl/MediaServiceImpl.java
index 87a9bc2..78afc16 100644
--- a/src/main/java/com/dji/sample/media/service/impl/MediaServiceImpl.java
+++ b/src/main/java/com/dji/sample/media/service/impl/MediaServiceImpl.java
@@ -15,6 +15,7 @@
import com.dji.sample.component.websocket.service.ISendMessageService;
import com.dji.sample.manage.model.dto.DeviceDTO;
import com.dji.sample.manage.model.enums.UserTypeEnum;
+import com.dji.sample.manage.model.receiver.OsdSubDeviceReceiver;
import com.dji.sample.manage.service.IDeviceRedisService;
import com.dji.sample.manage.service.IDeviceService;
import com.dji.sample.media.dao.IFileMapper;
@@ -33,10 +34,14 @@
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.RequestParam;
+import java.awt.*;
+import java.io.IOException;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
import java.util.stream.Collectors;
/**
@@ -76,6 +81,7 @@
private String fileAddress;
@Value("${oss.bucket}")
private String bucket;
+
@Override
public Boolean fastUpload(String workspaceId, String fingerprint) {
return fileService.checkExist(workspaceId, fingerprint);
@@ -106,27 +112,27 @@
@Override
public PaginationData<MediaJobDTO> mediaPage(String workspaceId, SearchMediaParam param) {
- param.setFileAddress(fileAddress+"/"+bucket);
+ param.setFileAddress(fileAddress + "/" + bucket);
Page<MediaJobDTO> waylineJobDTOPage = mapper.mediaPage(new Page<MediaJobDTO>(param.getPage(), param.getPageSize()), workspaceId, param);
return new PaginationData<MediaJobDTO>(waylineJobDTOPage.getRecords(), new Pagination(waylineJobDTOPage));
}
@Override
- public PaginationData<MediaJobDTO> mediaDetail( String jobId,Long page, Long pageSize) {
- Page<MediaJobDTO> waylineJobDTOPage = mapper.mediaDetail(new Page<MediaJobDTO>(page, pageSize), jobId,fileAddress+"/"+bucket);
+ public PaginationData<MediaJobDTO> mediaDetail(String jobId, Long page, Long pageSize) {
+ Page<MediaJobDTO> waylineJobDTOPage = mapper.mediaDetail(new Page<MediaJobDTO>(page, pageSize), jobId, fileAddress + "/" + bucket);
return new PaginationData<MediaJobDTO>(waylineJobDTOPage.getRecords(), new Pagination(waylineJobDTOPage));
}
/**
* Handle media files messages reported by dock.
* 处理由dock报告的媒体文件消息。
+ *
* @param receiver
* @return
*/
@ServiceActivator(inputChannel = ChannelName.INBOUND_EVENTS_FILE_UPLOAD_CALLBACK, outputChannel = ChannelName.OUTBOUND_EVENTS)
- public CommonTopicReceiver handleFileUploadCallBack(CommonTopicReceiver receiver) {
+ public CommonTopicReceiver handleFileUploadCallBack(CommonTopicReceiver receiver) throws IOException, FontFormatException {
FileUploadCallback callback = objectMapper.convertValue(receiver.getData(), FileUploadCallback.class);
-
if (callback.getResult() != ResponseResult.CODE_SUCCESS) {
log.error("媒体文件上传失败;Media file upload failed!");
return null;
@@ -170,6 +176,7 @@
/**
* update the uploaded count and notify web side
* 更新上传的计数并通知web端
+ *
* @param mediaFileCount
* @param receiver
* @param jobId
@@ -207,10 +214,10 @@
//通过websocket把数据发送给web
sendMessageService.sendBatch(dock.getWorkspaceId(), UserTypeEnum.WEB.getVal(),
- BizCodeEnum.FILE_UPLOAD_CALLBACK.getCode(), mediaFileCount);
+ BizCodeEnum.FILE_UPLOAD_CALLBACK.getCode(), mediaFileCount);
}
- private Boolean parseMediaFile(FileUploadCallback callback, WaylineJobDTO job) {
+ private Boolean parseMediaFile(FileUploadCallback callback, WaylineJobDTO job) throws IOException, FontFormatException {
// Set the drone sn that shoots the media
Optional<DeviceDTO> dockDTO = deviceService.getDeviceBySn(job.getDockSn());
dockDTO.ifPresent(dock -> callback.getFile().getExt().setSn(dock.getChildDeviceSn()));
@@ -218,12 +225,28 @@
// set path
String objectKey = callback.getFile().getObjectKey();
callback.getFile().setPath(objectKey.substring(objectKey.indexOf("/") + 1, objectKey.lastIndexOf("/")));
+ try {
+ ExecutorService executor = Executors.newSingleThreadExecutor();
+ executor.execute(() -> {
+ try {
+ fileService.saveMarkFile(job.getWorkspaceId(), callback.getFile());
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ });
+ executor.shutdown();
+ } catch (Exception e) {
+ log.error("方法执行有误==============: ", e);
+ throw e;
+ }
+
return fileService.saveFile(job.getWorkspaceId(), callback.getFile()) > 0;
}
/**
* Handles the highest priority message about media uploads.
+ *
* @param receiver
* @param headers
* @return
@@ -257,7 +280,7 @@
return null;
}
sendMessageService.sendBatch(deviceOpt.get().getWorkspaceId(), UserTypeEnum.WEB.getVal(),
- BizCodeEnum.HIGHEST_PRIORITY_UPLOAD_FLIGHT_TASK_MEDIA.getCode(), countDTO);
+ BizCodeEnum.HIGHEST_PRIORITY_UPLOAD_FLIGHT_TASK_MEDIA.getCode(), countDTO);
return receiver;
}
--
Gitblit v1.9.3