From e6e00736db2e3c11607f8ae3d92d790423b0d3e1 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期一, 19 十二月 2022 10:00:32 +0800
Subject: [PATCH] 1

---
 src/main/java/com/lf/server/controller/show/DataLibController.java |   45 ++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 42 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/lf/server/controller/show/DataLibController.java b/src/main/java/com/lf/server/controller/show/DataLibController.java
index 71d3242..e5fca97 100644
--- a/src/main/java/com/lf/server/controller/show/DataLibController.java
+++ b/src/main/java/com/lf/server/controller/show/DataLibController.java
@@ -23,6 +23,7 @@
 import com.lf.server.service.all.BaseQueryService;
 import com.lf.server.service.data.DownloadService;
 import com.lf.server.service.data.MetaService;
+import com.lf.server.service.show.DataLibService;
 import com.lf.server.service.sys.TokenService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
@@ -51,6 +52,9 @@
 
     @Autowired
     TokenService tokenService;
+
+    @Autowired
+    DataLibService dataLibService;
 
     @Autowired
     DownloadService downloadService;
@@ -151,10 +155,9 @@
     }
 
     @SysLog()
-    @ApiOperation(value = "璇锋眰涓嬭浇")
+    @ApiOperation(value = "璇锋眰鍏冩暟鎹笅杞�")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "pwd", value = "瀵嗙爜", dataType = "String", paramType = "body", example = ""),
-            @ApiImplicitParam(name = "ids", value = "ID鏁扮粍", dataType = "Integer", paramType = "body", example = "1,2")
+            @ApiImplicitParam(name = "reqEntity", value = "璇锋眰涓嬭浇瀹炰綋", dataType = "DownloadReqEntity", paramType = "body")
     })
     @ResponseBody
     @PostMapping(value = "/downloadReq")
@@ -267,4 +270,40 @@
             WebHelper.writeInfo(HttpStatus.ERROR, ex.getMessage(), res);
         }
     }
+
+    @SysLog()
+    @ApiOperation(value = "璇锋眰DB鏁版嵁涓嬭浇")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "reqEntity", value = "璇锋眰涓嬭浇瀹炰綋", dataType = "DownloadReqEntity", paramType = "body")
+    })
+    @ResponseBody
+    @PostMapping(value = "/downloadDbReq")
+    public ResponseMsg<Object> downloadDbReq(@RequestBody DownloadReqEntity reqEntity, HttpServletRequest req, HttpServletResponse res) {
+        try {
+            if (null == reqEntity || StringHelper.isEmpty(reqEntity.getPwd())) {
+                return fail("瀵嗙爜涓嶈兘涓虹┖");
+            }
+            if (null == reqEntity.getIds() || reqEntity.getIds().isEmpty()) {
+                return fail("璇烽�夋嫨瑕佷笅杞界殑鏂囦欢");
+            }
+            if (!downloadService.decryptPwd(reqEntity)) {
+                return fail("瀵嗙爜瑙e瘑澶辫触", null);
+            }
+            if (!StringHelper.checkPwdValid(reqEntity.getPwd())) {
+                return fail("瀵嗙爜涓嶇鍚堣姹�");
+            }
+
+            List<MetaFileEntity> list = metaService.selectMetaFiles(reqEntity.getIds());
+            if (null == list || list.isEmpty()) {
+                return fail("娌℃湁鎵惧埌鍏冩暟鎹�");
+            }
+
+            UserEntity ue = tokenService.getCurrentUser(req);
+            String guid = downloadService.zipFiles(ue, list, reqEntity.getPwd());
+
+            return success(guid);
+        } catch (Exception ex) {
+            return fail(ex.getMessage(), null);
+        }
+    }
 }

--
Gitblit v1.9.3