From 1d53dd8f501a98ddcce8146443b51b357ef5f9b1 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期四, 29 十二月 2022 16:55:46 +0800
Subject: [PATCH] 1

---
 src/main/java/com/lf/server/helper/PathHelper.java |  119 +++++++++++++++++++++++++++++------------------------------
 1 files changed, 59 insertions(+), 60 deletions(-)

diff --git a/src/main/java/com/lf/server/helper/PathHelper.java b/src/main/java/com/lf/server/helper/PathHelper.java
index edf6839..c9216b3 100644
--- a/src/main/java/com/lf/server/helper/PathHelper.java
+++ b/src/main/java/com/lf/server/helper/PathHelper.java
@@ -19,15 +19,13 @@
     @Autowired
     private PropertiesConfig config;
 
-    private static int importPath = 1;
-
-    private static int exportPath = 1;
+    private static int downloadPath = 1;
 
     private static int uploadPath = 1;
 
     private static int sharePath = 1;
 
-    private final static double D90 = 90;
+    private final static double D85 = 85;
 
     private final static Log log = LogFactory.getLog(PathHelper.class);
 
@@ -35,12 +33,8 @@
         return config;
     }
 
-    public static int getImportPath() {
-        return importPath;
-    }
-
-    public static int getExportPath() {
-        return exportPath;
+    public static int getDownloadPath() {
+        return downloadPath;
     }
 
     public static int getUploadPath() {
@@ -55,8 +49,7 @@
      * 鍒濆鍖�
      */
     public void init() {
-        importPath = getSubPath(config.getImportPath(), importPath);
-        exportPath = getSubPath(config.getExportPath(), exportPath);
+        downloadPath = getSubPath(config.getDownloadPath(), downloadPath);
         uploadPath = getSubPath(config.getUploadPath(), uploadPath);
         sharePath = getSubPath(config.getSharePath(), sharePath);
     }
@@ -72,7 +65,7 @@
             }
 
             File[] files = file.listFiles();
-            if (files.length < SettingData.MAX_FILES) {
+            if (null == files || files.length < SettingData.MAX_FILES) {
                 return subPath;
             }
 
@@ -81,25 +74,16 @@
     }
 
     /**
-     * 鑾峰彇瀵煎叆鐩綍
+     * 鑾峰彇涓嬭浇瀹屾暣鐩綍
      */
-    public String getImportFullPath() {
-        importPath = getSubPath(config.getImportPath(), importPath);
+    public String getDownloadFullPath() {
+        downloadPath = getSubPath(config.getDownloadPath(), downloadPath);
 
-        return config.getImportPath() + File.separator + importPath;
+        return config.getDownloadPath() + File.separator + downloadPath;
     }
 
     /**
-     * 鑾峰彇鍑哄浘鐩綍
-     */
-    public String getExportFullPath() {
-        exportPath = getSubPath(config.getExportPath(), exportPath);
-
-        return config.getExportPath() + File.separator + exportPath;
-    }
-
-    /**
-     * 鑾峰彇涓婁紶鐩綍
+     * 鑾峰彇涓婁紶瀹屾暣鐩綍
      */
     public String getUploadFullPath() {
         uploadPath = getSubPath(config.getUploadPath(), uploadPath);
@@ -108,7 +92,7 @@
     }
 
     /**
-     * 鑾峰彇鍏变韩鐩綍
+     * 鑾峰彇鍏变韩瀹屾暣鐩綍
      */
     public String getShareFullPath() {
         sharePath = getSubPath(config.getSharePath(), sharePath);
@@ -119,22 +103,53 @@
     /**
      * 鑾峰彇涓存椂璺緞
      */
-    public String getTempPath(int id) {
-        String tempName = StringHelper.YMD__FORMAT.format(new Date());
-        String tempPath = config.getTempPath();
-        String path = tempPath + File.separator + tempName + id;
+    public String getTempPath() {
+        String tempName = StringHelper.YMDHMS2_FORMAT.format(new Date());
+        String path = config.getTempPath() + File.separator + tempName;
 
         File file = new File(path);
         if (!file.exists() && !file.isDirectory()) {
             file.mkdirs();
         }
 
-        double ran = Math.random() * 99;
-        if (ran > D90) {
-            deleteOldPath(tempPath);
-        }
+        deleteOldPath(config.getTempPath());
 
         return path;
+    }
+
+    /**
+     * 鑾峰彇涓存椂璺緞
+     */
+    public String getTempPath(String subPath) {
+        if (!StringHelper.isEmpty(subPath)) {
+            String path = config.getTempPath() + File.separator + subPath;
+
+            File file = new File(path);
+            if (file.exists() && file.isDirectory()) {
+                return path;
+            }
+        }
+
+        deleteOldPath(config.getTempPath());
+
+        return getTempPath();
+    }
+
+    /**
+     * 鑾峰彇涓存椂璺緞鍚嶇О
+     */
+    public String getTempPathName() {
+        String tempName = StringHelper.YMDHMS2_FORMAT.format(new Date());
+        String path = config.getTempPath() + File.separator + tempName;
+
+        File file = new File(path);
+        if (!file.exists() && !file.isDirectory()) {
+            file.mkdirs();
+        }
+
+        deleteOldPath(config.getTempPath());
+
+        return tempName;
     }
 
     /**
@@ -142,40 +157,24 @@
      */
     public void deleteOldPath(String tempPath) {
         try {
+            double ran = Math.random() * 99;
+            if (ran < D85) {
+                return;
+            }
+
             File file = new File(tempPath);
-            String str = StringHelper.YMD__FORMAT.format(new Date());
+            String str = StringHelper.YMD2_FORMAT.format(new Date());
 
             File[] files = file.listFiles();
             for (File f : files) {
-                if (f.getPath().indexOf(str) > -1) {
+                if (f.getPath().contains(str)) {
                     continue;
                 }
 
-                deleteFiles(f);
+                FileHelper.deleteFiles(f);
             }
         } catch (Exception ex) {
             log.error(ex.getMessage(), ex);
         }
-    }
-
-    /**
-     * 绾ц仈鍒犻櫎鏂囦欢
-     */
-    public void deleteFiles(File file) {
-        if (file == null || !file.exists()) {
-            return;
-        }
-
-        if (file.isDirectory()) {
-            File[] files = file.listFiles();
-            for (File f : files) {
-                if (f.isDirectory()) {
-                    deleteFiles(f);
-                } else {
-                    f.delete();
-                }
-            }
-        }
-        file.delete();
     }
 }

--
Gitblit v1.9.3