From 36d3d5d57ad24eecb09b7891e5dbd0d19977d82d Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期六, 22 七月 2023 15:57:44 +0800
Subject: [PATCH] 解决zip文件解压时遇到文件先于目录解压错误

---
 src/main/java/com/lf/server/controller/data/upload/UploadController.java |   49 ++++++++++++++++++++++++++++++++-----------------
 1 files changed, 32 insertions(+), 17 deletions(-)

diff --git a/src/main/java/com/lf/server/controller/data/upload/UploadController.java b/src/main/java/com/lf/server/controller/data/upload/UploadController.java
index cc96e06..2c3700c 100644
--- a/src/main/java/com/lf/server/controller/data/upload/UploadController.java
+++ b/src/main/java/com/lf/server/controller/data/upload/UploadController.java
@@ -2,7 +2,7 @@
 
 import com.lf.server.annotation.SysLog;
 import com.lf.server.entity.all.ResponseMsg;
-import com.lf.server.entity.all.StaticData;
+import com.lf.server.entity.ctrl.KeyValueEntity;
 import com.lf.server.entity.data.DirEntity;
 import com.lf.server.entity.data.MetaEntity;
 import com.lf.server.entity.data.MetaFileEntity;
@@ -33,6 +33,9 @@
     @Autowired
     UploadService uploadService;
 
+    @Autowired
+    UploadAttachService uploadAttachService;
+
     @SysLog()
     @ApiOperation(value = "鏌ヨ璺緞")
     @GetMapping(value = "/selectPath")
@@ -42,7 +45,8 @@
 
             return success(pathName);
         } catch (Exception ex) {
-            return fail(ex.getMessage(), null);
+            log.error(ex.getMessage(), ex);
+            return fail(ex, null);
         }
     }
 
@@ -55,14 +59,16 @@
     @PostMapping(value = "/uploadFiles")
     public ResponseMsg<Object> uploadFiles(String path, HttpServletRequest req, HttpServletResponse res) {
         try {
-            List<MetaFileEntity> list = uploadService.uploadData(null, path, req, res);
+            List<MetaFileEntity> list = uploadService.uploadData(null, path, false, req, res);
             if (null == list || list.isEmpty()) {
                 return fail("娌℃湁鎵惧埌涓婁紶鏂囦欢", null);
             }
 
+            uploadService.copePath(list);
+
             return success(list);
         } catch (Exception ex) {
-            return fail(ex.getMessage(), null);
+            return fail(ex, null);
         }
     }
 
@@ -76,12 +82,16 @@
     @ApiOperation(value = "涓婁紶Excel闄勪欢")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "path", value = "璺緞", dataType = "String", paramType = "query"),
-            @ApiImplicitParam(name = "ids", value = "鍏冩暟鎹泦鍚�", dataType = "Integer", paramType = "query")
+            @ApiImplicitParam(name = "ids", value = "鍏冩暟鎹泦鍚�", dataType = "Integer", allowMultiple = true, paramType = "query")
     })
     @ResponseBody
     @PostMapping(value = "/uploadXlsAnnex")
     public ResponseMsg<Object> uploadXlsAnnex(String path, Integer[] ids, HttpServletRequest req, HttpServletResponse res) {
         try {
+            UserEntity ue = tokenService.getCurrentUser(req);
+            if (ue == null) {
+                return fail("鐢ㄦ埛鏈櫥褰�", null);
+            }
             if (null == ids || ids.length == 0) {
                 return fail("鎵句笉鍒板厓鏁版嵁鐨処D闆嗗悎");
             }
@@ -91,14 +101,19 @@
                 return fail("鎵句笉鍒拌涓婁紶闄勪欢鐨勫厓鏁版嵁");
             }
 
-            List<MetaFileEntity> list = uploadService.uploadData(null, path, req, res);
+            List<MetaFileEntity> list = uploadService.uploadData(null, path, false, req, res);
             if (null == list || list.isEmpty()) {
                 return fail("娌℃湁鎵惧埌涓婁紶鏂囦欢", null);
             }
 
-            return success(list);
+            List<KeyValueEntity> rs = uploadAttachService.uploadXlsAnnex(ue, ms, list, path);
+            if (null == rs || rs.size() == 0) {
+                return fail("娌℃湁瑕佹洿鏂扮殑鍏冩暟鎹�");
+            }
+
+            return success(rs);
         } catch (Exception ex) {
-            return fail(ex.getMessage(), null);
+            return fail(ex, null);
         }
     }
 
@@ -110,11 +125,11 @@
     @GetMapping(value = "/selectFiles")
     public ResponseMsg<List<MetaFileEntity>> selectFiles(String path) {
         try {
-            List<MetaFileEntity> list = uploadService.selectFiles(path, StaticData.ALL_EXTENSION);
+            List<MetaFileEntity> list = uploadService.selectFiles(path);
 
             return success(list);
         } catch (Exception ex) {
-            return fail(ex.getMessage(), null);
+            return fail(ex, null);
         }
     }
 
@@ -139,15 +154,15 @@
 
             return success("鎴愬姛", rows);
         } catch (Exception ex) {
-            return fail(ex.getMessage(), null);
+            return fail(ex, null);
         }
     }
 
     @SysLog()
     @ApiOperation(value = "鏌ヨ鏄犲皠")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "path", value = "璺緞", dataType = "String", paramType = "query", example = "20230110010101"),
-            @ApiImplicitParam(name = "dirid", value = "鐩綍ID", dataType = "Integer", paramType = "query", example = "163"),
+            @ApiImplicitParam(name = "path", value = "璺緞", dataType = "String", paramType = "query", example = "20230722"),
+            @ApiImplicitParam(name = "dirid", value = "鐩綍ID", dataType = "Integer", paramType = "query", example = "1"),
             @ApiImplicitParam(name = "verid", value = "鐗堟湰ID", dataType = "Integer", paramType = "query", example = "0"),
             @ApiImplicitParam(name = "epsgCode", value = "鍧愭爣缂栫爜", dataType = "String", paramType = "query", example = "EPSG:4490")
     })
@@ -174,7 +189,7 @@
 
             return success(list);
         } catch (Exception ex) {
-            return fail(ex.getMessage(), null);
+            return fail(ex, null);
         }
     }
 
@@ -199,14 +214,14 @@
 
             return success("鎴愬姛", list);
         } catch (Exception ex) {
-            return fail(ex.getMessage(), null);
+            return fail(ex, null);
         }
     }
 
     @SysLog()
     @ApiOperation(value = "鍒犻櫎鍏冩暟鎹�")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "ids", value = "ID鏁扮粍", dataType = "Integer", paramType = "query", example = "1,2")
+            @ApiImplicitParam(name = "ids", value = "ID鏁扮粍", dataType = "Integer", paramType = "query", allowMultiple = true, example = "1")
     })
     @GetMapping(value = "/deleteMetas")
     public ResponseMsg<Integer> deleteMetas(@RequestParam List<Integer> ids) {
@@ -219,7 +234,7 @@
 
             return success(count);
         } catch (Exception ex) {
-            return fail(ex.getMessage(), -1);
+            return fail(ex, -1);
         }
     }
 }

--
Gitblit v1.9.3