From 74d1c21ebb6b3b916904d95d13d289df23dcdedd Mon Sep 17 00:00:00 2001
From: rain <167982779@qq.com>
Date: Tue, 20 Aug 2024 18:06:46 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/ht-dev' into ht-dev

---
 src/main/java/com/dji/sample/patches/controller/PatchesController.java |   51 +++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 37 insertions(+), 14 deletions(-)

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 4f410ba..41ca14e 100644
--- a/src/main/java/com/dji/sample/patches/controller/PatchesController.java
+++ b/src/main/java/com/dji/sample/patches/controller/PatchesController.java
@@ -6,6 +6,7 @@
 import com.dji.sample.common.util.MinioUrlUtils;
 import com.dji.sample.media.model.MediaFileEntity;
 import com.dji.sample.media.service.impl.FileServiceImpl;
+import com.dji.sample.patches.constant.FileSufConstant;
 import com.dji.sample.patches.model.Param.PatchesParam;
 import com.dji.sample.patches.model.entity.LotInfo;
 import com.dji.sample.patches.service.GetPatchesService;
@@ -74,6 +75,7 @@
                                                         @RequestParam(name = "dkmj", required = false) Double dkmj,
                                                         @RequestParam(name = "isPush",required = false) Integer isPush
                                                         ) {
+        fileService.getNoaddFile();
         //调用service分页查询
         PatchesParam param = PatchesParam.builder()
                 .page(page)
@@ -153,7 +155,7 @@
         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, isTemp);
+        waylineFileService.importKmzFile(file, workspaceId, creator, patchesId, isTemp,1);
         WaylineFileEntity entity = waylineFileService.selectByName(waylineName);
         Map<String, String> infoMap = new HashMap<>();
         URL url = null;
@@ -177,7 +179,7 @@
 //            timerUtil.mytask5();
 //            timerUtil.mytask6();
 //            timerUtil.mytask7();
-
+            timerUtil.GtdbOperation();
         } catch (Exception e) {
             throw new RuntimeException("db存储发送出现异常" + e);
         }
@@ -198,14 +200,14 @@
         executor.shutdown();
         return ResponseResult.success();
     }
-
-    @PostMapping("/way")
-    public void getway(@RequestParam("file") MultipartFile file,
-                       @RequestParam String workspaceId,
-                       @RequestParam String waylineName,
-                       @RequestParam String username) {
-        waylineFileService.importKmzFileBack(file, workspaceId, username);
-    }
+//
+//    @PostMapping("/way")
+//    public void getway(@RequestParam("file") MultipartFile file,
+//                       @RequestParam String workspaceId,
+//                       @RequestParam String waylineName,
+//                       @RequestParam String username) {
+//        waylineFileService.importKmzFileBack(file, workspaceId, username);
+//    }
 
     /**
      * 根据图斑的地块编号获取相对应音视频
@@ -254,10 +256,14 @@
                                  @RequestParam double airportLat,
                                  @RequestParam double airportLon,
                                  HttpServletRequest request) throws Exception {
+        // 检查格式是否正确
+        if(!checkFileType(file.getOriginalFilename())){
+            throw new RuntimeException("文件格式异常");
+        }
         CustomClaim customClaim = (CustomClaim) request.getAttribute(TOKEN_CLAIM);
         String creator = customClaim.getUsername();
         MultipartFile multipartFile = shpToDataSourceService.insertGeo(file, workspaceId, waylineName, airportLat, airportLon, creator);
-        waylineFileService.importKmzFileBack(multipartFile, workspaceId, creator);
+        waylineFileService.importKmzFileBack(multipartFile, workspaceId, creator,1);
         WaylineFileEntity entity = waylineFileService.selectByName(waylineName);
         Map<String, String> infoMap = new HashMap<>();
         URL url = null;
@@ -271,10 +277,27 @@
         return ResponseResult.success(infoMap);
     }
 
+    /**
+     * 检查文件格式是否正确
+     * @param originalFilename
+     * @return
+     */
+    private boolean checkFileType(String originalFilename) {
+        if (originalFilename.endsWith(FileSufConstant.FILE_SUFFIX_ZIP) ||
+                originalFilename.endsWith(FileSufConstant.FILE_SUFFIX_KML) ||
+                originalFilename.endsWith(FileSufConstant.FILE_SUFFIX_KMZ)
+        ){
+            return true;
+        }
+        // 返回
+        return false;
+    }
+
     @GetMapping("/getExcel")
-    public ResponseEntity<byte[]> exportExcel(@RequestParam String workspaceId) {
-        List<LotInfo> lotInfos = getPatchesService.listLotinfo(workspaceId);
+    public ResponseEntity<byte[]> exportExcel(@RequestParam String ids) {
+//        List<LotInfo> lotInfos = getPatchesService.listLotinfo(workspaceId);
         try {
+            List<LotInfo> lotInfos = getPatchesService.getLotInfosByIDs(ids);
             ByteArrayInputStream excelStream = ExcelUtil.exportLotInfoToExcel(lotInfos);
             byte[] excelData = excelStream.readAllBytes();
             excelStream.close();
@@ -287,7 +310,7 @@
             return new ResponseEntity<>(excelData, headers, HttpStatus.OK);
         } catch (IOException e) {
             e.printStackTrace();
-            return new ResponseEntity<>(("Failed to generate Excel file.").getBytes(), HttpStatus.INTERNAL_SERVER_ERROR);
+            return new ResponseEntity<>(("生成excel失败.").getBytes(), HttpStatus.INTERNAL_SERVER_ERROR);
         }
     }
 }

--
Gitblit v1.9.3