From 2db1aa88e8ab53096a936163d686b90d8e056a99 Mon Sep 17 00:00:00 2001
From: rain <167982779@qq.com>
Date: Wed, 21 Aug 2024 23:18:33 +0800
Subject: [PATCH] 国土对接返回信息加密

---
 src/main/java/com/dji/sample/wayline/service/impl/WaylineFileServiceImpl.java |   75 +++++++++++++++++++++++++++++++------
 1 files changed, 63 insertions(+), 12 deletions(-)

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..319e549 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));
@@ -98,6 +123,7 @@
                                         .eq(WaylineFileEntity::getWaylineId, waylineId))));
     }
 
+
     @Override
     public URL getObjectUrl(String workspaceId, String waylineId) throws SQLException {
         Optional<WaylineFileDTO> waylineOpt = this.getWaylineByWaylineId(workspaceId, waylineId);
@@ -112,7 +138,7 @@
         WaylineFileEntity file = this.dtoConvertToEntity(metadata);
         file.setWaylineId(UUID.randomUUID().toString());
         file.setWorkspaceId(workspaceId);
-
+        file.setWaylineType(metadata.getWaylineType());
         if (!StringUtils.hasText(file.getSign())) {
             try (InputStream object = ossService.getObject(OssConfiguration.bucket, metadata.getObjectKey())) {
                 if (object.available() == 0) {
@@ -129,12 +155,13 @@
     }
 
     @Override
-    public Integer saveWaylineFiles(String workspaceId, WaylineFileDTO metadata, String patchesId) {
+    public Integer saveWaylineFiles(String workspaceId, WaylineFileDTO metadata, String patchesId,String isTemp,int waylineType) {
         metadata.setPatchesId(patchesId);
         WaylineFileEntity file = this.dtoConvertToEntity(metadata);
         file.setWaylineId(UUID.randomUUID().toString());
         file.setWorkspaceId(workspaceId);
-
+        file.setIsTemp(isTemp);
+        file.setWaylineType(waylineType);
         if (!StringUtils.hasText(file.getSign())) {
             try (InputStream object = ossService.getObject(OssConfiguration.bucket, metadata.getObjectKey())) {
                 if (object.available() == 0) {
@@ -149,6 +176,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 +220,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,int waylineType) {
         Optional<WaylineFileDTO> waylineFileOpt = validKmzFile(file);
         if (waylineFileOpt.isEmpty()) {
             throw new RuntimeException("文件格式错误");
@@ -202,10 +230,11 @@
             WaylineFileDTO waylineFile = waylineFileOpt.get();
             waylineFile.setWaylineId(workspaceId);
             waylineFile.setUsername(creator);
-            waylineFile.setSpotInFreckle(spotInFreckle);
+            waylineFile.setIsTemp(isTemp);
+            waylineFile.setWaylineType(waylineType);
             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, waylineType);
             }
         } catch (IOException e) {
             e.printStackTrace();
@@ -213,8 +242,30 @@
         return back;
     }
 
+
     @Override
-    public WaylineFileDTO importKmzFileBack(MultipartFile file, String workspaceId, String creator) {
+    public WaylineFileDTO importKmzFileBack(MultipartFile file, String workspaceId, String creator,int waylineType) {
+        WaylineFileDTO waylineFile = null;
+        Optional<WaylineFileDTO> waylineFileOpt = validKmzFile(file);
+        if (waylineFileOpt.isEmpty()) {
+            throw new RuntimeException("文件格式错误");
+        }
+
+        try {
+            waylineFile = waylineFileOpt.get();
+            waylineFile.setWaylineId(workspaceId);
+            waylineFile.setUsername(creator);
+            waylineFile.setWaylineType(waylineType);
+            ossService.putObject(OssConfiguration.bucket, waylineFile.getObjectKey(), file.getInputStream());
+            this.saveWaylineFile(workspaceId, waylineFile);
+
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+        return waylineFile;
+    }
+    @Override
+    public WaylineFileDTO importPlaneKmzFile(MultipartFile file, String workspaceId, String creator,String newName,String id,int waylineType) {
         WaylineFileDTO waylineFile = null;
         Optional<WaylineFileDTO> waylineFileOpt = validKmzFile(file);
         if (waylineFileOpt.isEmpty()) {
@@ -226,8 +277,6 @@
             waylineFile.setWaylineId(workspaceId);
             waylineFile.setUsername(creator);
             ossService.putObject(OssConfiguration.bucket, waylineFile.getObjectKey(), file.getInputStream());
-            this.saveWaylineFile(workspaceId, waylineFile);
-
         } catch (IOException e) {
             e.printStackTrace();
         }
@@ -364,6 +413,8 @@
         return builder.build();
     }
 
+
+
     @Override
     public int updateWayline(WaylineFileEntity entity) {
         return mapper.update(entity, new LambdaQueryWrapper<WaylineFileEntity>()

--
Gitblit v1.9.3