diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/media/controller/FileController.java b/dk-modules/sample/src/main/java/org/dromara/sample/media/controller/FileController.java index 70b1d8f..d53add4 100644 --- a/dk-modules/sample/src/main/java/org/dromara/sample/media/controller/FileController.java +++ b/dk-modules/sample/src/main/java/org/dromara/sample/media/controller/FileController.java @@ -61,4 +61,22 @@ public class FileController { e.printStackTrace(); } } + + /** + * 根据工作区id获取此工作区中所有媒体文件的信息。 + * Get information about all the media files in this workspace based on the workspace id. + * @return + */ + @GetMapping("/{workspace_id}/getFilesByJobId/{job_id}") + @Operation(summary = "根据任务id获取此所有媒体文件的信息。", description = "根据任务id获取此所有媒体文件的信息。") + public HttpResultResponse> getFilesByJobId(@RequestParam(name = "pageNum", defaultValue = "1") Long page, + @RequestParam(name = "pageSize", defaultValue = "10") Long pageSize, + @PathVariable(name = "workspace_id") String workspaceId, + @PathVariable(name = "job_id") String jobId) { + PaginationData filesList = fileService.getMediaFilesPaginationByJobId(workspaceId, page, pageSize,jobId); + for (MediaFileDTO mediaFileDTO :filesList.getList()){ + mediaFileDTO.setUrl(fileService.getObjectUrl(workspaceId, mediaFileDTO.getFileId()).toString()); + } + return HttpResultResponse.success(filesList); + } } diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/media/model/MediaFileDTO.java b/dk-modules/sample/src/main/java/org/dromara/sample/media/model/MediaFileDTO.java index 1753835..77e76a1 100644 --- a/dk-modules/sample/src/main/java/org/dromara/sample/media/model/MediaFileDTO.java +++ b/dk-modules/sample/src/main/java/org/dromara/sample/media/model/MediaFileDTO.java @@ -51,5 +51,19 @@ public class MediaFileDTO { private Date createTime; + private Double lat; + + private Double lng; + + private String fileType; + + private String fileStatus; + + private Double absoluteAltitude; + + private Double relativeAltitude; + private String jobId; + + private String url; } diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/media/service/IFileService.java b/dk-modules/sample/src/main/java/org/dromara/sample/media/service/IFileService.java index eaeb25d..df29c68 100644 --- a/dk-modules/sample/src/main/java/org/dromara/sample/media/service/IFileService.java +++ b/dk-modules/sample/src/main/java/org/dromara/sample/media/service/IFileService.java @@ -62,4 +62,15 @@ public interface IFileService { * @return */ List getFilesByWorkspaceAndJobId(String workspaceId, String jobId); + + + /** + * Paginate through all media files in this workspace. + * @param workspaceId + * @param page + * @param pageSize + * @return + */ + PaginationData getMediaFilesPaginationByJobId(String workspaceId, long page, long pageSize,String JobId); + } diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/media/service/impl/FileServiceImpl.java b/dk-modules/sample/src/main/java/org/dromara/sample/media/service/impl/FileServiceImpl.java index adaf4d8..b37e442 100644 --- a/dk-modules/sample/src/main/java/org/dromara/sample/media/service/impl/FileServiceImpl.java +++ b/dk-modules/sample/src/main/java/org/dromara/sample/media/service/impl/FileServiceImpl.java @@ -127,6 +127,22 @@ public class FileServiceImpl implements IFileService { .map(this::entityConvertToDto).collect(Collectors.toList()); } + @Override + public PaginationData getMediaFilesPaginationByJobId(String workspaceId, long page, long pageSize, String JobId) { + Page pageData = mapper.selectPage( + new Page(page, pageSize), + new LambdaQueryWrapper() + .eq(MediaFileEntity::getWorkspaceId, workspaceId) + .eq(MediaFileEntity::getJobId, JobId) + .orderByDesc(MediaFileEntity::getId)); + List records = pageData.getRecords() + .stream() + .map(this::entityConvertToDto) + .collect(Collectors.toList()); + + return new PaginationData(records, new Pagination(pageData.getCurrent(), pageData.getSize(), pageData.getTotal())); + } + /** * Convert the received file object into a database entity object. * @param file @@ -186,6 +202,12 @@ public class FileServiceImpl implements IFileService { .payload(entity.getPayload()) .createTime(entity.getCreateTime()) .drone(entity.getDrone()) + .lat(entity.getLat()) + .lng(entity.getLng()) + .absoluteAltitude(entity.getAbsoluteAltitude()) + .relativeAltitude(entity.getRelativeAltitude()) + .fileType(entity.getFileType()) + .fileStatus(entity.getFileStatus()) .jobId(entity.getJobId()); }