From 7166f4e2f86ed2532a38d5c210284dd9ca7be4c7 Mon Sep 17 00:00:00 2001
From: rain <167982779@qq.com>
Date: Mon, 03 Jun 2024 13:57:45 +0800
Subject: [PATCH] 图斑编号模糊搜索功能

---
 src/main/java/com/dji/sample/wayline/service/impl/WaylineFileServiceImpl.java |   46 +++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 41 insertions(+), 5 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 14fa513..449316f 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,6 +9,7 @@
 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;
@@ -28,7 +29,6 @@
 import org.springframework.util.StringUtils;
 import org.springframework.web.multipart.MultipartFile;
 
-import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
 import java.net.URL;
@@ -182,11 +182,42 @@
     }
 
     @Override
-    public List<WaylineListDTO> waylineList(String workspaceId) {
-        return new LambdaQueryChainWrapper<>(mapper).eq(WaylineFileEntity::getWorkspaceId, workspaceId)
-                .list().stream().map(r -> WaylineListDTO.builder().waylineFileId(r.getWaylineId()).name(r.getName()).build())
-                .collect(Collectors.toList());
+    public WaylineFileDTO importKmzFileBack(MultipartFile file, String workspaceId, String creator) {
+        WaylineFileDTO waylineFile=null;
+        Optional<WaylineFileDTO> waylineFileOpt = validKmzFile(file);
+        if (waylineFileOpt.isEmpty()) {
+            throw new RuntimeException("文件格式错误");
+        }
 
+        try {
+            waylineFile = waylineFileOpt.get();
+            waylineFile.setWaylineId(workspaceId);
+            waylineFile.setUsername(creator);
+
+            ossService.putObject(OssConfiguration.bucket, waylineFile.getObjectKey(), file.getInputStream());
+            this.saveWaylineFile(workspaceId, waylineFile);
+
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+        return waylineFile;
+    }
+
+    @Override
+    public WaylineFileEntity selectByName(String name) {
+        return mapper.selectOne(new LambdaQueryWrapper<WaylineFileEntity>().eq(WaylineFileEntity::getName,name));
+    }
+
+    @Override
+    public List<WaylineListDTO> waylineList(String workspaceId,String droneName) {
+        LambdaQueryChainWrapper<WaylineFileEntity> wrapper =
+                new LambdaQueryChainWrapper<>(mapper).eq(WaylineFileEntity::getWorkspaceId, workspaceId);
+        if (StringUtils.hasText(droneName)){
+            wrapper.like(WaylineFileEntity::getName,droneName);
+        }
+
+        return  wrapper.list().stream().map(r -> WaylineListDTO.builder().waylineFileId(r.getWaylineId()).name(r.getName()).build())
+                .collect(Collectors.toList());
     }
 
     private Optional<WaylineFileDTO> validKmzFile(MultipartFile file) {
@@ -295,4 +326,9 @@
 
         return builder.build();
     }
+    @Override
+    public int updateWayline(WaylineFileEntity entity) {
+        return mapper.update(entity,new LambdaQueryWrapper<WaylineFileEntity>()
+                .eq(WaylineFileEntity::getWaylineId,entity.getWaylineId()));
+    }
 }

--
Gitblit v1.9.3