| | |
| | | package com.lf.server.helper; |
| | | |
| | | import com.lf.server.config.PropertiesConfig; |
| | | import com.lf.server.entity.all.SettingData; |
| | | import com.lf.server.entity.all.StaticData; |
| | | import org.apache.commons.logging.Log; |
| | | import org.apache.commons.logging.LogFactory; |
| | | import org.apache.http.client.entity.UrlEncodedFormEntity; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | import java.io.File; |
| | | import java.net.URL; |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * 路径帮助类 |
| | |
| | | @Component |
| | | public class PathHelper { |
| | | @Autowired |
| | | private PropertiesConfig propertiesConfig; |
| | | private PropertiesConfig config; |
| | | |
| | | private static int MAX_FILES = 2000; |
| | | |
| | | 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 Log log = LogFactory.getLog(PathHelper.class); |
| | | |
| | | public PropertiesConfig getConfig() { |
| | | return config; |
| | | } |
| | | |
| | | public static int getDownloadPath() { |
| | | return downloadPath; |
| | | } |
| | | |
| | | public static int getUploadPath() { |
| | | return uploadPath; |
| | | } |
| | | |
| | | /** |
| | | * 初始化 |
| | | */ |
| | | public void init() { |
| | | importPath = getSubPath(propertiesConfig.getImportPath(), importPath); |
| | | exportPath = getSubPath(propertiesConfig.getExportPath(), exportPath); |
| | | uploadPath = getSubPath(propertiesConfig.getUploadPath(), uploadPath); |
| | | sharePath = getSubPath(propertiesConfig.getSharePath(), sharePath); |
| | | downloadPath = getSubPath(config.getDownloadPath(), downloadPath); |
| | | uploadPath = getSubPath(config.getUploadPath(), uploadPath); |
| | | } |
| | | |
| | | private static int getSubPath(String parentPath, int subPath) { |
| | |
| | | } |
| | | |
| | | File[] files = file.listFiles(); |
| | | if (files.length < MAX_FILES) { |
| | | if (null == files || files.length < SettingData.MAX_FILES) { |
| | | return subPath; |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | /** |
| | | * 获取导入目录 |
| | | * |
| | | * @return |
| | | * 获取下载完整目录 |
| | | */ |
| | | public String getImportPath() { |
| | | importPath = getSubPath(propertiesConfig.getImportPath(), importPath); |
| | | public String getDownloadFullPath() { |
| | | downloadPath = getSubPath(config.getDownloadPath(), downloadPath); |
| | | |
| | | return propertiesConfig.getImportPath() + File.separator + importPath; |
| | | return config.getDownloadPath() + File.separator + downloadPath; |
| | | } |
| | | |
| | | /** |
| | | * 获取出图目录 |
| | | * |
| | | * @return |
| | | * 获取上传完整目录 |
| | | */ |
| | | public String getExportPath() { |
| | | exportPath = getSubPath(propertiesConfig.getExportPath(), exportPath); |
| | | public String getUploadFullPath() { |
| | | uploadPath = getSubPath(config.getUploadPath(), uploadPath); |
| | | |
| | | return propertiesConfig.getExportPath() + File.separator + exportPath; |
| | | return config.getUploadPath() + File.separator + uploadPath; |
| | | } |
| | | |
| | | /** |
| | | * 获取上传目录 |
| | | * |
| | | * @return |
| | | * 获取临时路径 |
| | | */ |
| | | public String getUploadPath() { |
| | | uploadPath = getSubPath(propertiesConfig.getUploadPath(), uploadPath); |
| | | public String getTempPath() { |
| | | String tempName = StringHelper.YMDHMS2_FORMAT.format(new Date()); |
| | | String path = config.getTempPath() + File.separator + tempName; |
| | | |
| | | return propertiesConfig.getUploadPath() + File.separator + uploadPath; |
| | | File file = new File(path); |
| | | if (!file.exists() && !file.isDirectory()) { |
| | | file.mkdirs(); |
| | | } |
| | | |
| | | deleteOldPath(config.getTempPath()); |
| | | |
| | | return path; |
| | | } |
| | | |
| | | /** |
| | | * 获取共享目录 |
| | | * |
| | | * @return |
| | | * 获取临时路径 |
| | | */ |
| | | public String getSharePath() { |
| | | sharePath = getSubPath(propertiesConfig.getSharePath(), sharePath); |
| | | public String getTempPath(String subPath) { |
| | | if (!StringHelper.isEmpty(subPath)) { |
| | | String path = config.getTempPath() + File.separator + subPath; |
| | | |
| | | return propertiesConfig.getSharePath() + File.separator + sharePath; |
| | | 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; |
| | | } |
| | | |
| | | /** |
| | | * 删除旧路径 |
| | | */ |
| | | public void deleteOldPath(String tempPath) { |
| | | try { |
| | | double ran = Math.random() * 99; |
| | | if (ran < StaticData.D90) { |
| | | return; |
| | | } |
| | | |
| | | File file = new File(tempPath); |
| | | String str = StringHelper.YMD2_FORMAT.format(new Date()); |
| | | |
| | | File[] files = file.listFiles(); |
| | | if (null != files) { |
| | | for (File f : files) { |
| | | if (f.getPath().contains(str)) { |
| | | continue; |
| | | } |
| | | |
| | | FileHelper.deleteFiles(f); |
| | | } |
| | | } |
| | | } catch (Exception ex) { |
| | | log.error(ex.getMessage(), ex); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 获取static目录 |
| | | */ |
| | | public static String getStaticPath() { |
| | | ClassLoader classLoader = PathHelper.class.getClassLoader(); |
| | | URL url = classLoader.getResource(""); |
| | | String path = url.getPath(); |
| | | |
| | | return path.substring(0, path.indexOf("/target/classes")) + "/src/main/resources/static/"; |
| | | } |
| | | } |