From e0207d2328ccf6da00690ee1e263f4a9495e6c11 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期日, 27 十一月 2022 19:58:50 +0800
Subject: [PATCH] 1

---
 src/main/java/com/lf/server/controller/data/MetaController.java |   25 +++++++++++++------------
 data/db_fn.sql                                                  |    4 ++--
 src/main/java/com/lf/server/service/data/DownloadService.java   |   15 +++++++++++++++
 3 files changed, 30 insertions(+), 14 deletions(-)

diff --git a/data/db_fn.sql b/data/db_fn.sql
index e7397cd..d62b45d 100644
--- a/data/db_fn.sql
+++ b/data/db_fn.sql
@@ -358,8 +358,8 @@
 select * from bd.dlg_agnp where gid<13;     -- delete from bd.dlg_agnp where gid>12;     alter sequence bd.dlg_agnp_gid_seq restart with 20;
 select gb,name,classes,pinyin,pac,bsm,geom,eventid,dirid,depid,verid,createtime,createuser,updateuser,updatetime from bd.dlg_agnp
 
-
-
+select * from lf.sys_user
+select * from lf.sys_download where guid='5ce046cc05b186332775c03ac6792caf'
 
 
 
diff --git a/src/main/java/com/lf/server/controller/data/MetaController.java b/src/main/java/com/lf/server/controller/data/MetaController.java
index 53da3ac..663138a 100644
--- a/src/main/java/com/lf/server/controller/data/MetaController.java
+++ b/src/main/java/com/lf/server/controller/data/MetaController.java
@@ -10,7 +10,6 @@
 import com.lf.server.entity.data.MetaFileEntity;
 import com.lf.server.entity.sys.UserEntity;
 import com.lf.server.helper.Md5Helper;
-import com.lf.server.helper.RsaHelper;
 import com.lf.server.helper.StringHelper;
 import com.lf.server.helper.WebHelper;
 import com.lf.server.service.data.DownloadService;
@@ -290,26 +289,28 @@
     @SysLog()
     @ApiOperation(value = "涓嬭浇鏂囦欢")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "guid", value = "鏂囦欢GUID", dataType = "String", paramType = "query")
+            @ApiImplicitParam(name = "guid", value = "鏂囦欢GUID", dataType = "String", paramType = "query"),
+            @ApiImplicitParam(name = "pwd", value = "瀵嗙爜", dataType = "String", paramType = "query")
     })
     @ResponseBody
-    @RequestMapping(value = "/downloadFile", method = RequestMethod.GET)
-    public void downloadFile(@RequestBody DownloadReqEntity reqEntity, HttpServletRequest req, HttpServletResponse res) {
+    @GetMapping(value = "/downloadFile")
+    public void downloadFile(String guid, String pwd, HttpServletRequest req, HttpServletResponse res) {
         try {
-            if (null == reqEntity || StringHelper.isEmpty(reqEntity.getPwd())) {
-                WebHelper.writeInfo(HttpStatus.BAD_REQUEST, "瀵嗙爜涓嶈兘涓虹┖", res);
-            }
-            if (StringHelper.isEmpty(reqEntity.getGuid())) {
-                WebHelper.writeInfo(HttpStatus.BAD_REQUEST, "鎵句笉鍒版枃浠禝D", res);
-                return;
+            if (StringHelper.isEmpty(guid) || StringHelper.isEmpty(pwd)) {
+                WebHelper.writeInfo(HttpStatus.BAD_REQUEST, "鏂囦欢ID鍜屽瘑鐮佷笉鑳戒负绌�", res);
             }
 
-            DownloadEntity de = downloadService.selectByGuid(reqEntity.getGuid());
+            String password = downloadService.decryptPwd(pwd);
+            if (null == password) {
+                WebHelper.writeInfo(HttpStatus.BAD_REQUEST, "瀵嗙爜瑙e瘑澶辫触", res);
+            }
+
+            DownloadEntity de = downloadService.selectByGuid(guid);
             if (null == de) {
                 WebHelper.writeInfo(HttpStatus.NOT_FOUND, "鏂囦欢涓嶅瓨鍦�", res);
                 return;
             }
-            if (!StringHelper.isNull(de.getPwd()) && !Md5Helper.validatePassword(reqEntity.getPwd(), de.getPwd())) {
+            if (!StringHelper.isNull(de.getPwd()) && !Md5Helper.validatePassword(password, de.getPwd())) {
                 WebHelper.writeInfo(HttpStatus.UNAUTHORIZED, "瀵嗙爜涓嶆纭�", res);
             }
 
diff --git a/src/main/java/com/lf/server/service/data/DownloadService.java b/src/main/java/com/lf/server/service/data/DownloadService.java
index 0199d31..fee2ab5 100644
--- a/src/main/java/com/lf/server/service/data/DownloadService.java
+++ b/src/main/java/com/lf/server/service/data/DownloadService.java
@@ -132,4 +132,19 @@
             return false;
         }
     }
+
+    /**
+     * 瑙e瘑
+     *
+     * @param pwd 鍔犲瘑瀵嗙爜
+     * @return 鍘熷瀵嗙爜
+     */
+    public String decryptPwd(String pwd) {
+        try {
+            return RsaHelper.decrypt(pwd);
+        } catch (Exception ex) {
+            log.error(ex.getMessage(), ex);
+            return null;
+        }
+    }
 }

--
Gitblit v1.9.3