From 5c06a4b3fa6e0aed776885abcb09d57d078e3df8 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期一, 27 三月 2023 11:05:43 +0800
Subject: [PATCH] 1

---
 src/main/java/com/lf/server/service/show/DataLibService.java |   40 ++++++++++++++++++++++++++++------------
 1 files changed, 28 insertions(+), 12 deletions(-)

diff --git a/src/main/java/com/lf/server/service/show/DataLibService.java b/src/main/java/com/lf/server/service/show/DataLibService.java
index 8bafeeb..5bda047 100644
--- a/src/main/java/com/lf/server/service/show/DataLibService.java
+++ b/src/main/java/com/lf/server/service/show/DataLibService.java
@@ -130,10 +130,22 @@
     }
 
     /**
-     * 鍒涘缓Zip鍖�
+     * 璇锋眰DB鏁版嵁涓嬭浇
      */
-    public String createZipFile(UserEntity ue, List<String> entities, String depcode, String dirs, String wkt, String pwd) throws Exception {
-        Map<String, List<?>> map = queryData(entities, depcode, dirs, wkt);
+    public String downloadDbReq(UserEntity ue, DownloadReqEntity dr) throws Exception {
+        if (StringHelper.isEmpty(dr.getWkt())) {
+            return downloadDbReq4Wkt(ue, dr);
+        }
+
+        return downloadDbReq4Prop(ue, dr);
+    }
+
+    /**
+     * 璇锋眰DB鏁版嵁涓嬭浇-绌洪棿鏌ヨ
+     */
+    public String downloadDbReq4Wkt(UserEntity ue, DownloadReqEntity dr) throws Exception {
+        String depcode = null == dr.getDepcodes() || dr.getDepcodes().isEmpty() ? null : dr.getDepcodes().get(0);
+        Map<String, List<?>> map = queryData(dr.getEntities(), depcode, dr.getDirs(), dr.getWkt());
         if (map.size() == 0) {
             return null;
         }
@@ -152,11 +164,11 @@
         String zipName = tempName + ".gdb.zip";
         String zipFile = pathHelper.getDownloadFullPath() + File.separator + zipName;
 
-        ZipFile zip = Zip4jHelper.createZipFile(zipFile, pwd);
+        ZipFile zip = Zip4jHelper.createZipFile(zipFile, dr.getPwd());
         ZipParameters params = Zip4jHelper.getZipParams(true);
         addZipFiles(zip, params, file.listFiles());
 
-        String dbPwd = Md5Helper.reverse(Md5Helper.generate(pwd));
+        String dbPwd = Md5Helper.reverse(Md5Helper.generate(dr.getPwd()));
         DownloadEntity downloadEntity = getDownloadEntity(ue, zipFile, dbPwd);
         int rows = downloadMapper.insert(downloadEntity);
 
@@ -239,16 +251,20 @@
     }
 
     /**
-     * 鎵撳寘DB鏁版嵁
+     * 璇锋眰DB鏁版嵁涓嬭浇-灞炴�ф煡璇�
      */
-    public String zipDbData(UserEntity ue, String name, String depcode, String dirs, String filter, String pwd) throws Exception {
-        BasicMapper baseMapper = ClassHelper.getBasicMapper(name);
+    public String downloadDbReq4Prop(UserEntity ue, DownloadReqEntity dr) throws Exception {
+        String dirs = dr.getDirs();
+        String entity = dr.getEntities().get(0);
+        String depcode = null == dr.getDepcodes() || dr.getDepcodes().isEmpty() ? null : dr.getDepcodes().get(0);
+
+        BasicMapper baseMapper = ClassHelper.getBasicMapper(entity);
         if (baseMapper == null) {
             return null;
         }
 
         QueryWrapper wrapper = new QueryWrapper();
-        baseQueryService.addFilterWrapper(wrapper, filter);
+        baseQueryService.addFilterWrapper(wrapper, dr.getFilter());
         if (baseMapper instanceof GeomBaseMapper) {
             wrapper.select("ST_AsText(geom) as geom, *");
         }
@@ -267,13 +283,13 @@
         }
 
         String tab = BaseQueryService.getTabName(baseMapper);
-        String ids = getAnnexFilter(StringHelper.isEmpty(depcode) && StringHelper.isEmpty(dirs) && StringHelper.isEmpty(filter), list);
+        String ids = getAnnexFilter(StringHelper.isEmpty(depcode) && StringHelper.isEmpty(dirs) && StringHelper.isEmpty(dr.getFilter()), list);
         List<AttachEntity> annex = baseQueryService.selectAnnexByTab(tab, ids);
 
         Map<String, List<?>> map = new HashMap<>(1);
-        map.put(name, list);
+        map.put(entity, list);
 
-        return zipData(ue, map, annex, pwd);
+        return zipData(ue, map, annex, dr.getPwd());
     }
 
     /**

--
Gitblit v1.9.3