From 40f1ac26483b71ff1ea5f042a795e9a3842a5827 Mon Sep 17 00:00:00 2001
From: rain <167982779@qq.com>
Date: Thu, 18 Jul 2024 17:25:45 +0800
Subject: [PATCH] 修改航线文件存入、查看接口,新增根据任务ID查找航线接口。新增媒体文件根据任务ID去重、匹配图片。

---
 src/main/java/com/dji/sample/common/model/Pagination.java                     |    1 
 src/main/java/com/dji/sample/wayline/controller/WaylineFileController.java    |   28 +++++
 src/main/java/com/dji/sample/wayline/model/entity/WaylineFileEntity.java      |    3 
 src/main/java/com/dji/sample/media/service/impl/FileServiceImpl.java          |  112 ++++++++++++++++++----
 src/main/java/com/dji/sample/wayline/model/dto/WaylineFileDTO.java            |    2 
 src/main/java/com/dji/sample/media/controller/FileController.java             |   38 +++++--
 src/main/java/com/dji/sample/wayline/service/impl/WaylineFileServiceImpl.java |   46 +++++++-
 src/main/java/com/dji/sample/media/service/IFileService.java                  |    3 
 src/main/java/com/dji/sample/wayline/dao/IWaylineFileMapper.java              |    2 
 src/main/java/com/dji/sample/patches/controller/PatchesController.java        |    4 
 src/main/java/com/dji/sample/wayline/service/IWaylineFileService.java         |    9 +
 11 files changed, 202 insertions(+), 46 deletions(-)

diff --git a/src/main/java/com/dji/sample/common/model/Pagination.java b/src/main/java/com/dji/sample/common/model/Pagination.java
index 74d1e8a..c9329a4 100644
--- a/src/main/java/com/dji/sample/common/model/Pagination.java
+++ b/src/main/java/com/dji/sample/common/model/Pagination.java
@@ -33,4 +33,5 @@
         this.pageSize = page.getSize();
         this.total = page.getTotal();
     }
+
 }
diff --git a/src/main/java/com/dji/sample/media/controller/FileController.java b/src/main/java/com/dji/sample/media/controller/FileController.java
index 89feb4d..785b2d0 100644
--- a/src/main/java/com/dji/sample/media/controller/FileController.java
+++ b/src/main/java/com/dji/sample/media/controller/FileController.java
@@ -59,6 +59,23 @@
         return ResponseResult.success(entityList);
     }
 
+    @GetMapping("/{workspace_id}/getPhotoByJobId")
+    public ResponseResult getPhotoByJobId(@RequestParam String jobId,
+                                          @RequestParam(defaultValue = "1") int page,
+                                          @RequestParam(name = "page_size", defaultValue = "10") int pageSize,
+                                          @PathVariable(name = "workspace_id") String workspaceId
+    ) {
+        return ResponseResult.success(fileService.getPhotoByJobId(page,pageSize,workspaceId, jobId));
+    }
+
+    @GetMapping("/{workspace_id}/getJobIds")
+    public ResponseResult getJobIds(@PathVariable(name = "workspace_id") String workspaceId,
+                                    @RequestParam(defaultValue = "1") int page,
+                                    @RequestParam(name = "page_size", defaultValue = "10") int pageSize
+                                    ) {
+        return ResponseResult.success(fileService.getJobId(page,pageSize,workspaceId));
+    }
+
     @PutMapping("/examine")
     public ResponseResult examineData(@RequestParam String fileId) {
         return fileService.updateExamByFileId(fileId);
@@ -68,10 +85,10 @@
     public ResponseResult mediaInfo(@RequestParam String fileName) {
 
         Object info = fileService.mediaInfo(fileName);
-        if (info!=null){
+        if (info != null) {
             return ResponseResult.success(info);
         }
-        return ResponseResult.success("图片正在加载");
+        return ResponseResult.error("图片正在加载");
     }
 
     @GetMapping("/{workspace_id}/files/{job_id}")
@@ -94,16 +111,17 @@
         return ResponseResult.success(fileService.mediaQuery(page, pageSize, updateStart, updateEnd, photoStart, photoEnd, jobName, workspaceId, type));
 
     }
+
     @GetMapping("nailDataShow/{workspace_id}")
     public ResponseResult getNailMeidaData(@PathVariable(name = "workspace_id") String workspaceId,
-                                       @RequestParam Integer page,
-                                       @RequestParam(name = "page_size", defaultValue = "10") Integer pageSize,
-                                       @RequestParam(name = "photoStart", required = false) Long updateStart,
-                                       @RequestParam(name = "photoEnd", required = false) Long updateEnd,
-                                       @RequestParam(name = "updateStart", required = false) Long photoStart,
-                                       @RequestParam(name = "updateEnd", required = false) Long photoEnd,
-                                       @RequestParam(name = "jobName", required = false) String jobName,
-                                       @RequestParam(required = false) String type
+                                           @RequestParam Integer page,
+                                           @RequestParam(name = "page_size", defaultValue = "10") Integer pageSize,
+                                           @RequestParam(name = "photoStart", required = false) Long updateStart,
+                                           @RequestParam(name = "photoEnd", required = false) Long updateEnd,
+                                           @RequestParam(name = "updateStart", required = false) Long photoStart,
+                                           @RequestParam(name = "updateEnd", required = false) Long photoEnd,
+                                           @RequestParam(name = "jobName", required = false) String jobName,
+                                           @RequestParam(required = false) String type
     ) {
 
         return ResponseResult.success(fileService.mediaNailQuery(page, pageSize, updateStart, updateEnd, photoStart, photoEnd, jobName, workspaceId, type));
diff --git a/src/main/java/com/dji/sample/media/service/IFileService.java b/src/main/java/com/dji/sample/media/service/IFileService.java
index 66072b2..4b1a7d4 100644
--- a/src/main/java/com/dji/sample/media/service/IFileService.java
+++ b/src/main/java/com/dji/sample/media/service/IFileService.java
@@ -46,6 +46,9 @@
      */
     void saveMarkFile(String workspaceId, FileUploadDTO file) throws IOException, FontFormatException, ImageProcessingException;
     void updateMarkMediaFileNames(String jobId);
+    PaginationData<MediaFileEntity> getJobId( int pageNum, int pageSize,String workspaceId);
+    PaginationData<MediaFileEntity> getPhotoByJobId(int page,int pageSize ,String workspaceId,String jobId);
+
     /**
      * 获取媒体文件状态
      * @param fileId
diff --git a/src/main/java/com/dji/sample/media/service/impl/FileServiceImpl.java b/src/main/java/com/dji/sample/media/service/impl/FileServiceImpl.java
index ebc2d92..f0809a9 100644
--- a/src/main/java/com/dji/sample/media/service/impl/FileServiceImpl.java
+++ b/src/main/java/com/dji/sample/media/service/impl/FileServiceImpl.java
@@ -156,22 +156,22 @@
                         patchesMapper.update(null, updateWrapper);
                     }
                 }
-                    MediaFileMarkEntity mediaFileMarkEntity = this.fileUploadConvertToMarkEntity(file);
-                    long timestamp = convertToTimestamp(file.getMetadata().getCreatedTime());
-                    File markFile = new File(WaterMarkUtil.addWatermark(file1, timestamp, file.getMetadata().getShootPosition().getLat(),
-                            file.getMetadata().getShootPosition().getLng(), file.getMetadata().getGimbalYawDegree()).toURI());
-                    Object data = ImgUtil.getInfo(file1);
-                    mediaFileMarkEntity.setDronedata(data);
-                    mediaFileMarkEntity.setWorkspaceId(workspaceId);
-                    mediaFileMarkEntity.setIsadd(0);
-                    mediaFileMarkEntity.setIsOriginal(false);
-                    mediaFileMarkEntity.setFileId(UUID.randomUUID().toString());
-                    mediaFileMarkEntity.setObjectKey("/mark" + file.getPath() + "/" + file.getName());
-                    mediaFileMarkEntity.setFileName("mark" + file.getName());
-                    mediaFileMarkEntity.setFilePath("mark" + file.getPath());
-                    String objectName = mediaFileMarkEntity.getObjectKey(); // 例如 "folder/file.txt"
-                    uploadFile(endpoint, accessKey, secretKey, bucketName, objectName, markFile, "image/jpeg");
-                    markMapper.insert(mediaFileMarkEntity);
+                MediaFileMarkEntity mediaFileMarkEntity = this.fileUploadConvertToMarkEntity(file);
+                long timestamp = convertToTimestamp(file.getMetadata().getCreatedTime());
+                File markFile = new File(WaterMarkUtil.addWatermark(file1, timestamp, file.getMetadata().getShootPosition().getLat(),
+                        file.getMetadata().getShootPosition().getLng(), file.getMetadata().getGimbalYawDegree()).toURI());
+                Object data = ImgUtil.getInfo(file1);
+                mediaFileMarkEntity.setDronedata(data);
+                mediaFileMarkEntity.setWorkspaceId(workspaceId);
+                mediaFileMarkEntity.setIsadd(0);
+                mediaFileMarkEntity.setIsOriginal(false);
+                mediaFileMarkEntity.setFileId(UUID.randomUUID().toString());
+                mediaFileMarkEntity.setObjectKey("/mark" + file.getPath() + "/" + file.getName());
+                mediaFileMarkEntity.setFileName("mark" + file.getName());
+                mediaFileMarkEntity.setFilePath("mark" + file.getPath());
+                String objectName = mediaFileMarkEntity.getObjectKey(); // 例如 "folder/file.txt"
+                uploadFile(endpoint, accessKey, secretKey, bucketName, objectName, markFile, "image/jpeg");
+                markMapper.insert(mediaFileMarkEntity);
             } catch (Exception e) {
                 e.printStackTrace();
             }
@@ -181,19 +181,32 @@
     @Override
     public Object mediaInfo(String filename) {
         String name = filename;
+        List<MediaFileEntity> entitys = mapper.selectList(new LambdaQueryWrapper<MediaFileEntity>()
+                .eq(MediaFileEntity::getFileName, name));
+        if (entitys != null && !entitys.isEmpty()) {
+            for (MediaFileEntity entity : entitys) {
+                if (entity.getDroneData() != null) {
+                    return entity.getDroneData();
+                }
+            }
+        }
+
         if (!filename.contains("mark")) {
             name = "mark" + filename;
         }
         List<MediaFileMarkEntity> entity = markMapper.selectList(new LambdaQueryWrapper<MediaFileMarkEntity>()
                 .eq(MediaFileMarkEntity::getFileName, name));
-        if (entity != null) {
-            return entity.get(0).getDronedata();
-        } else {
-            List<MediaFileEntity> entitys = mapper.selectList(new LambdaQueryWrapper<MediaFileEntity>()
-                    .eq(MediaFileEntity::getFileName, name));
-            return entitys.get(0).getDroneData();
+        if (entity != null && !entity.isEmpty()) {
+            for (MediaFileMarkEntity markEntity : entity) {
+                if (markEntity.getDronedata() != null) {
+                    return markEntity.getDronedata();
+                }
+            }
         }
+
+        return "null";
     }
+
 
     @Override
     public List<MediaFileDTO> getAllFilesByWorkspaceId(String workspaceId) {
@@ -775,6 +788,61 @@
         }
     }
 
+    public PaginationData<MediaFileEntity> getJobId( int pageNum, int pageSize,String workspaceId) {
+        // 分页查询
+        Page<MediaFileEntity> page = new Page<>(pageNum, pageSize);
+        Page<MediaFileEntity> resultPage = mapper.selectPage(page, new LambdaQueryWrapper<MediaFileEntity>()
+                .eq(MediaFileEntity::getWorkspaceId, workspaceId));
+
+        List<MediaFileEntity> result = resultPage.getRecords();
+
+        // 根据 fileName 字段进行去重并设置 JobName
+        Map<String, MediaFileEntity> uniqueFilesMap = result.stream()
+                .peek(mediaFile -> {
+                    String taskNameResult = waylineJobService.getName(mediaFile.getJobId());
+                    mediaFile.setJobName(taskNameResult);
+                })
+                .collect(Collectors.toMap(
+                        MediaFileEntity::getFileName,
+                        entity -> entity,
+                        (existing, replacement) -> existing // 如果有重复的,保留已有的
+                ));
+
+        List<MediaFileEntity> uniqueFiles = new ArrayList<>(uniqueFilesMap.values());
+
+        // 使用分页对象构造 Pagination
+        Pagination pagination = new Pagination(resultPage);
+        return new PaginationData<>(uniqueFiles, pagination);
+    }
+
+
+    @Override
+    public PaginationData<MediaFileEntity> getPhotoByJobId(int pageNum,int pageSize,String workspaceId, String jobId) {
+
+        // 分页查询
+        Page<MediaFileEntity> page = new Page<>(pageNum, pageSize);
+        Page<MediaFileEntity> resultPage = mapper.selectPage(page, new LambdaQueryWrapper<MediaFileEntity>()
+                .eq(MediaFileEntity::getJobId, jobId)
+                .eq(MediaFileEntity::getWorkspaceId, workspaceId));
+
+        List<MediaFileEntity> result = resultPage.getRecords();
+
+        // 根据 fileName 字段进行去重
+        Map<String, MediaFileEntity> uniqueFilesMap = result.stream()
+                .collect(Collectors.toMap(
+                        MediaFileEntity::getFileName,
+                        entity -> entity,
+                        (existing, replacement) -> existing // 如果有重复的,保留已有的
+                ));
+
+        List<MediaFileEntity> uniqueFiles = new ArrayList<>(uniqueFilesMap.values());
+
+        // 使用分页对象构造 Pagination
+        Pagination pagination = new Pagination(resultPage);
+        return new PaginationData<>(uniqueFiles, pagination);
+
+    }
+
 
     public void updateById(Integer id, MediaFileMarkEntity entity) {
         entity.setIsadd(1);
diff --git a/src/main/java/com/dji/sample/patches/controller/PatchesController.java b/src/main/java/com/dji/sample/patches/controller/PatchesController.java
index da5a457..dcac859 100644
--- a/src/main/java/com/dji/sample/patches/controller/PatchesController.java
+++ b/src/main/java/com/dji/sample/patches/controller/PatchesController.java
@@ -139,16 +139,16 @@
     @PostMapping("/patchesToWayline")
     public ResponseResult patchesToWayline(@RequestBody List<LotInfo> lotInfos,
                                            @RequestParam String waylineName,
-                                           @RequestParam String spotInFreckle,
                                            @RequestParam String workspaceId,
                                            @RequestParam String patchesId,
                                            @RequestParam double lat,
                                            @RequestParam double lon,
+                                           @RequestParam String isTemp,
                                            HttpServletRequest request) throws IOException {
         CustomClaim customClaim = (CustomClaim) request.getAttribute(TOKEN_CLAIM);
         String creator = customClaim.getUsername();
         MultipartFile file = timerUtil.getFile(waylineName, lotInfos, lat, lon);
-        waylineFileService.importKmzFile(file, workspaceId, creator, patchesId, spotInFreckle);
+        waylineFileService.importKmzFile(file, workspaceId, creator, patchesId,isTemp);
         WaylineFileEntity entity = waylineFileService.selectByName(waylineName);
         Map<String, String> infoMap = new HashMap<>();
         URL url = null;
diff --git a/src/main/java/com/dji/sample/wayline/controller/WaylineFileController.java b/src/main/java/com/dji/sample/wayline/controller/WaylineFileController.java
index 6fde79d..61f86c0 100644
--- a/src/main/java/com/dji/sample/wayline/controller/WaylineFileController.java
+++ b/src/main/java/com/dji/sample/wayline/controller/WaylineFileController.java
@@ -68,6 +68,24 @@
         return ResponseResult.success(data);
     }
 
+    @GetMapping("/{workspace_id}/formatWayline")
+    @SysLogAnnotation(operModul = "航线库", operType = "查询", operDesc = "根据查询条件查询临时航路线文件的基本数据")
+    public ResponseResult<PaginationData<WaylineFileDTO>> getShowWaylinesPagination(@RequestParam(name = "order_by") String orderBy,
+                                                                                @RequestParam(required = false) boolean favorited, @RequestParam Integer page,
+                                                                                @RequestParam(name = "page_size", defaultValue = "10") Integer pageSize,
+                                                                                @RequestParam(name = "template_type", required = false) Integer[] templateType,
+                                                                                @PathVariable(name = "workspace_id") String workspaceId) {
+        WaylineQueryParam param = WaylineQueryParam.builder()
+                .favorited(favorited)
+                .page(page)
+                .pageSize(pageSize)
+                .orderBy(orderBy)
+                .templateType(templateType)
+                .build();
+        PaginationData<WaylineFileDTO> data = waylineFileService.getShowWaylinesByParam(workspaceId, param);
+        return ResponseResult.success(data);
+    }
+
     /**
      * 根据wayline文件id查询文件的下载地址;
      * 和重定向到此地址直接下载。
@@ -88,6 +106,12 @@
         } catch (IOException | SQLException e) {
             e.printStackTrace();
         }
+    }
+    @GetMapping("/{workspace_id}/getWayline")
+    public ResponseResult getWaylineByJobId(
+            @PathVariable(name = "workspace_id") String workspaceId,
+            @RequestParam String jobId) {
+        return ResponseResult.success(waylineFileService.getWaylineByWaylineId(workspaceId,jobId));
     }
 
     @GetMapping("/{workspace_id}/waylines/{wayline_id}/urlData")
@@ -206,14 +230,14 @@
     public ResponseResult importKmzFile(@PathVariable(name = "workspace_id") String workspaceId,
                                         HttpServletRequest request, MultipartFile file,
                                         @RequestParam(required = false) String patchesId,
-                                        @RequestParam(required = false) String spotInFreckle
+                                        @RequestParam(defaultValue = "1") String isTemp
     ) {
         if (Objects.isNull(file)) {
             return ResponseResult.error("未上传文件");
         }
         CustomClaim customClaim = (CustomClaim) request.getAttribute(TOKEN_CLAIM);
         String creator = customClaim.getUsername();
-        String back = waylineFileService.importKmzFile(file, workspaceId, creator, patchesId, spotInFreckle);
+        String back = waylineFileService.importKmzFile(file, workspaceId, creator, patchesId, isTemp);
         if (back != null) {
             return ResponseResult.error(back);
         }
diff --git a/src/main/java/com/dji/sample/wayline/dao/IWaylineFileMapper.java b/src/main/java/com/dji/sample/wayline/dao/IWaylineFileMapper.java
index 5537e4f..54fceef 100644
--- a/src/main/java/com/dji/sample/wayline/dao/IWaylineFileMapper.java
+++ b/src/main/java/com/dji/sample/wayline/dao/IWaylineFileMapper.java
@@ -2,11 +2,13 @@
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.dji.sample.wayline.model.entity.WaylineFileEntity;
+import org.apache.ibatis.annotations.Mapper;
 
 /**
  * @author sean
  * @version 0.3
  * @date 2021/12/22
  */
+@Mapper
 public interface IWaylineFileMapper extends BaseMapper<WaylineFileEntity> {
 }
diff --git a/src/main/java/com/dji/sample/wayline/model/dto/WaylineFileDTO.java b/src/main/java/com/dji/sample/wayline/model/dto/WaylineFileDTO.java
index 83cbb1f..737ad2e 100644
--- a/src/main/java/com/dji/sample/wayline/model/dto/WaylineFileDTO.java
+++ b/src/main/java/com/dji/sample/wayline/model/dto/WaylineFileDTO.java
@@ -44,4 +44,6 @@
     private String patchesId;
 
     private String spotInFreckle;
+
+    private String isTemp;
 }
diff --git a/src/main/java/com/dji/sample/wayline/model/entity/WaylineFileEntity.java b/src/main/java/com/dji/sample/wayline/model/entity/WaylineFileEntity.java
index 837aac7..d6b9183 100644
--- a/src/main/java/com/dji/sample/wayline/model/entity/WaylineFileEntity.java
+++ b/src/main/java/com/dji/sample/wayline/model/entity/WaylineFileEntity.java
@@ -60,6 +60,9 @@
     @TableField("spotIn_freckle")
     private String spotInFreckle;
 
+    @TableField("is_temp")
+    private String isTemp;
+
     @TableField(value = "create_time", fill = FieldFill.INSERT)
     private Long createTime;
 
diff --git a/src/main/java/com/dji/sample/wayline/service/IWaylineFileService.java b/src/main/java/com/dji/sample/wayline/service/IWaylineFileService.java
index c95ed95..c3bf119 100644
--- a/src/main/java/com/dji/sample/wayline/service/IWaylineFileService.java
+++ b/src/main/java/com/dji/sample/wayline/service/IWaylineFileService.java
@@ -27,6 +27,10 @@
      */
     PaginationData<WaylineFileDTO> getWaylinesByParam(String workspaceId, WaylineQueryParam param);
 
+    PaginationData<WaylineFileDTO> getShowWaylinesByParam(String workspaceId, WaylineQueryParam param);
+
+
+
     String getPatchesId(String waylineId);
     /**
      * Query the information of this wayline file according to the wayline file id.
@@ -51,7 +55,7 @@
      * @return
      */
     Integer saveWaylineFile(String workspaceId, WaylineFileDTO metadata);
-    Integer saveWaylineFiles(String workspaceId, WaylineFileDTO metadata,String patchesId);
+    Integer saveWaylineFiles(String workspaceId, WaylineFileDTO metadata,String patchesId,String isTemp);
     /**
      * Updates whether the file is collected or not based on the passed parameters.
      * @param workspaceId
@@ -83,7 +87,8 @@
      * @param creator
      * @return
      */
-    String importKmzFile(MultipartFile file, String workspaceId, String creator,String patchesId,String spotInFreckle);
+    String importKmzFile(MultipartFile file, String workspaceId, String creator,String patchesId,String isTemp);
+
 
     /**
      * 创建航线,返回航线对象
diff --git a/src/main/java/com/dji/sample/wayline/service/impl/WaylineFileServiceImpl.java b/src/main/java/com/dji/sample/wayline/service/impl/WaylineFileServiceImpl.java
index 52da471..29a93f8 100644
--- a/src/main/java/com/dji/sample/wayline/service/impl/WaylineFileServiceImpl.java
+++ b/src/main/java/com/dji/sample/wayline/service/impl/WaylineFileServiceImpl.java
@@ -9,7 +9,6 @@
 import com.dji.sample.component.oss.model.OssConfiguration;
 import com.dji.sample.component.oss.service.impl.OssServiceContext;
 import com.dji.sample.manage.model.enums.DeviceDomainEnum;
-import com.dji.sample.summarize.model.entity.FlyInfo;
 import com.dji.sample.wayline.dao.IWaylineFileMapper;
 import com.dji.sample.wayline.model.dto.KmzFileProperties;
 import com.dji.sample.wayline.model.dto.WaylineFileDTO;
@@ -52,7 +51,6 @@
 
     @Autowired
     private IWaylineFileMapper mapper;
-
     @Autowired
     private OssServiceContext ossService;
 
@@ -82,6 +80,33 @@
     }
 
     @Override
+    public PaginationData<WaylineFileDTO> getShowWaylinesByParam(String workspaceId, WaylineQueryParam param) {
+        // Paging Query
+        Page<WaylineFileEntity> page = mapper.selectPage(
+                new Page<WaylineFileEntity>(param.getPage(), param.getPageSize()),
+                new LambdaQueryWrapper<WaylineFileEntity>()
+                        .eq(WaylineFileEntity::getWorkspaceId, workspaceId)
+                        .eq(WaylineFileEntity::getIsTemp,1)
+                        .eq(param.isFavorited(), WaylineFileEntity::getFavorited, param.isFavorited())
+                        .and(param.getTemplateType() != null, wrapper -> {
+                            for (Integer type : param.getTemplateType()) {
+                                wrapper.like(WaylineFileEntity::getTemplateTypes, type).or();
+                            }
+                        })
+                        // There is a risk of SQL injection
+                        .last(StringUtils.hasText(param.getOrderBy()), " order by " + param.getOrderBy()));
+
+        // Wrap the results of a paging query into a custom paging object.
+        List<WaylineFileDTO> records = page.getRecords()
+                .stream()
+                .map(this::entityConvertToDTO)
+                .collect(Collectors.toList());
+
+        return new PaginationData<>(records, new Pagination(page));
+    }
+
+
+    @Override
     public String getPatchesId(String waylineId) {
         WaylineFileEntity entity = mapper.selectOne(new LambdaQueryWrapper<WaylineFileEntity>()
                 .eq(WaylineFileEntity::getWaylineId, waylineId));
@@ -97,6 +122,7 @@
                                         .eq(WaylineFileEntity::getWorkspaceId, workspaceId)
                                         .eq(WaylineFileEntity::getWaylineId, waylineId))));
     }
+
 
     @Override
     public URL getObjectUrl(String workspaceId, String waylineId) throws SQLException {
@@ -129,12 +155,12 @@
     }
 
     @Override
-    public Integer saveWaylineFiles(String workspaceId, WaylineFileDTO metadata, String patchesId) {
+    public Integer saveWaylineFiles(String workspaceId, WaylineFileDTO metadata, String patchesId, String isTemp) {
         metadata.setPatchesId(patchesId);
         WaylineFileEntity file = this.dtoConvertToEntity(metadata);
         file.setWaylineId(UUID.randomUUID().toString());
         file.setWorkspaceId(workspaceId);
-
+        file.setIsTemp(isTemp);
         if (!StringUtils.hasText(file.getSign())) {
             try (InputStream object = ossService.getObject(OssConfiguration.bucket, metadata.getObjectKey())) {
                 if (object.available() == 0) {
@@ -149,6 +175,7 @@
         int insertId = mapper.insert(file);
         return insertId > 0 ? file.getId() : insertId;
     }
+
 
     @Override
     public Boolean markFavorite(String workspaceId, List<String> waylineIds, Boolean isFavorite) {
@@ -192,7 +219,7 @@
     }
 
     @Override
-    public String importKmzFile(MultipartFile file, String workspaceId, String creator, String patchesId, String spotInFreckle) {
+    public String importKmzFile(MultipartFile file, String workspaceId, String creator, String patchesId, String isTemp) {
         Optional<WaylineFileDTO> waylineFileOpt = validKmzFile(file);
         if (waylineFileOpt.isEmpty()) {
             throw new RuntimeException("文件格式错误");
@@ -202,16 +229,17 @@
             WaylineFileDTO waylineFile = waylineFileOpt.get();
             waylineFile.setWaylineId(workspaceId);
             waylineFile.setUsername(creator);
-            waylineFile.setSpotInFreckle(spotInFreckle);
+            waylineFile.setIsTemp(isTemp);
             back = ossService.putObject(OssConfiguration.bucket, waylineFile.getObjectKey(), file.getInputStream());
-            if (back==null) {
-                this.saveWaylineFiles(workspaceId, waylineFile, patchesId);
+            if (back == null) {
+                this.saveWaylineFiles(workspaceId, waylineFile, patchesId, isTemp);
             }
         } catch (IOException e) {
             e.printStackTrace();
         }
         return back;
     }
+
 
     @Override
     public WaylineFileDTO importKmzFileBack(MultipartFile file, String workspaceId, String creator) {
@@ -364,6 +392,8 @@
         return builder.build();
     }
 
+
+
     @Override
     public int updateWayline(WaylineFileEntity entity) {
         return mapper.update(entity, new LambdaQueryWrapper<WaylineFileEntity>()

--
Gitblit v1.9.3