From 055a5d2e4d3763f2a0c58534d84f7c89efae52ed Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期四, 30 三月 2023 17:43:06 +0800
Subject: [PATCH] 1

---
 src/main/java/com/lf/server/service/data/DownloadService.java |   34 ++++++++++++++++++++++++++++------
 1 files changed, 28 insertions(+), 6 deletions(-)

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 b5525bb..f86a857 100644
--- a/src/main/java/com/lf/server/service/data/DownloadService.java
+++ b/src/main/java/com/lf/server/service/data/DownloadService.java
@@ -19,9 +19,7 @@
 import org.springframework.stereotype.Service;
 
 import java.io.File;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
 
 /**
  * 涓嬭浇璁板綍
@@ -190,8 +188,9 @@
      * @param pwd  瀵嗙爜
      * @return 涓嬭浇鏂囦欢GUID
      */
-    public String zipFiles(UserEntity ue, List<MetaEntity> list, String pwd) throws Exception {
-        rmRepeatMetaFiles(list);
+    public String zipFiles(UserEntity ue, List<MetaEntity> list, String pwd) {
+        Map<String, List<String>> tabs = getTabs(list);
+        rmRepeatMetas(list);
 
         String downloadPath = pathHelper.getDownloadFullPath();
         String zipName = StringHelper.YMDHMS2_FORMAT.format(new Date()) + ".zip";
@@ -213,9 +212,32 @@
     }
 
     /**
+     * 鑾峰彇鏁版嵁琛�
+     */
+    private Map<String, List<String>> getTabs(List<MetaEntity> list) {
+        Map<String, List<String>> tabs = new HashMap<>(2);
+        for (MetaEntity meta : list) {
+            if (StringHelper.isEmpty(meta.getTab()) || meta.getRows() == 0 || StringHelper.isEmpty(meta.getEventid())) {
+                continue;
+            }
+
+            if (!tabs.containsKey(meta.getTab())) {
+                tabs.put(meta.getTab(), new ArrayList<>());
+            }
+
+            List<String> ids = tabs.get(meta.getTab());
+            if (!ids.contains(meta.getEventid())) {
+                ids.add(meta.getEventid());
+            }
+        }
+
+        return tabs;
+    }
+
+    /**
      * 绉婚櫎閲嶅鐨勫厓鏁版嵁鏂囦欢
      */
-    private void rmRepeatMetaFiles(List<MetaEntity> list) {
+    private void rmRepeatMetas(List<MetaEntity> list) {
         List<String> guidList = new ArrayList<>();
 
         int i = 0;

--
Gitblit v1.9.3