|
|
@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
|
|
|
import org.dromara.common.oss.core.OssClient; |
|
|
|
import org.dromara.common.oss.factory.OssFactory; |
|
|
|
import org.dromara.common.sdk.cloudapi.device.DeviceEnum; |
|
|
|
import org.dromara.common.sdk.cloudapi.media.FlightTask; |
|
|
|
import org.dromara.common.sdk.cloudapi.media.MediaSubFileTypeEnum; |
|
|
|
import org.dromara.common.sdk.cloudapi.media.MediaUploadCallbackRequest; |
|
|
|
import org.dromara.common.sdk.common.Pagination; |
|
|
@ -20,9 +21,11 @@ import org.springframework.stereotype.Service; |
|
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
|
|
|
|
|
import java.net.URL; |
|
|
|
import java.sql.Time; |
|
|
|
import java.time.Instant; |
|
|
|
import java.time.LocalDateTime; |
|
|
|
import java.time.ZoneId; |
|
|
|
import java.util.Date; |
|
|
|
import java.util.List; |
|
|
|
import java.util.Optional; |
|
|
|
import java.util.UUID; |
|
|
@ -65,10 +68,16 @@ public class FileServiceImpl implements IFileService { |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public Integer saveFile(String workspaceId, MediaUploadCallbackRequest file) { |
|
|
|
MediaFileEntity fileEntity = this.fileUploadConvertToEntity(file); |
|
|
|
public Integer saveFile(String workspaceId, MediaUploadCallbackRequest file, FlightTask flightTask) { |
|
|
|
MediaFileEntity fileEntity = this.fileUploadConvertToEntity(file,flightTask); |
|
|
|
fileEntity.setWorkspaceId(workspaceId); |
|
|
|
fileEntity.setFileId(UUID.randomUUID().toString()); |
|
|
|
fileEntity.setFileType(fileEntity.getFileName().substring( fileEntity.getFileName().lastIndexOf(".")+1)); |
|
|
|
fileEntity.setFileStatus(fileEntity.getFileName().substring( fileEntity.getFileName().lastIndexOf("_")+1, fileEntity.getFileName().lastIndexOf("."))); |
|
|
|
int firstUnderscore = fileEntity.getFileName().indexOf("_"); |
|
|
|
int secondUnderscore = fileEntity.getFileName().indexOf("_", firstUnderscore + 1); |
|
|
|
int thirdUnderscore = fileEntity.getFileName().indexOf("_", secondUnderscore + 1); |
|
|
|
fileEntity.setFileIndex(Integer.parseInt(fileEntity.getFileName().substring(secondUnderscore+1,thirdUnderscore))); |
|
|
|
return mapper.insert(fileEntity); |
|
|
|
} |
|
|
|
|
|
|
@ -120,7 +129,7 @@ public class FileServiceImpl implements IFileService { |
|
|
|
* @param file |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
private MediaFileEntity fileUploadConvertToEntity(MediaUploadCallbackRequest file) { |
|
|
|
private MediaFileEntity fileUploadConvertToEntity(MediaUploadCallbackRequest file,FlightTask flightTask) { |
|
|
|
MediaFileEntity.MediaFileEntityBuilder builder = MediaFileEntity.builder(); |
|
|
|
|
|
|
|
if (file != null) { |
|
|
@ -133,7 +142,17 @@ public class FileServiceImpl implements IFileService { |
|
|
|
.jobId(file.getExt().getFileGroupId()) |
|
|
|
.drone(file.getExt().getSn()) |
|
|
|
.tinnyFingerprint(file.getExt().getTinnyFingerprint()) |
|
|
|
.payload(file.getExt().getPayloadModelKey().getDevice()); |
|
|
|
.payload(file.getExt().getPayloadModelKey().getDevice()) |
|
|
|
.lat(file.getMetadata().getShootPosition().getLat()) |
|
|
|
.lng(file.getMetadata().getShootPosition().getLng()) |
|
|
|
.gimbalYawDegree(file.getMetadata().getGimbalYawDegree()) |
|
|
|
.absoluteAltitude(file.getMetadata().getAbsoluteAltitude()) |
|
|
|
.relativeAltitude(file.getMetadata().getRelativeAltitude()) |
|
|
|
.shootTime(file.getMetadata().getCreatedTime()) |
|
|
|
.cloudToCloudId(file.getCloudToCloudId()) |
|
|
|
.flightType(flightTask.getFlightType().getType()) |
|
|
|
.uploadedFileCount(flightTask != null ? flightTask.getUploadedFileCount() : null) |
|
|
|
.expectedFileCount(flightTask != null ? flightTask.getExpectedFileCount() : null); |
|
|
|
|
|
|
|
// domain-type-subType
|
|
|
|
DeviceEnum payloadModelKey = file.getExt().getPayloadModelKey(); |
|
|
|