From cf9a5039e6db9d1d5963e3fe1a37d00169ec2ef7 Mon Sep 17 00:00:00 2001 From: whyclxw <810412026@qq.com> Date: 星期三, 25 六月 2025 11:18:22 +0800 Subject: [PATCH] 验收报告修改 --- src/main/java/com/whyc/service/FtpService.java | 166 ++++++++++++++++++++++++++++-------------------------- 1 files changed, 86 insertions(+), 80 deletions(-) diff --git a/src/main/java/com/whyc/service/FtpService.java b/src/main/java/com/whyc/service/FtpService.java index a97beca..75abbb6 100644 --- a/src/main/java/com/whyc/service/FtpService.java +++ b/src/main/java/com/whyc/service/FtpService.java @@ -1,80 +1,86 @@ -package com.whyc.service; - -import com.enterprisedt.net.ftp.FTPException; -import com.whyc.constant.YamlProperties; -import com.whyc.dto.FileDirPath; -import com.whyc.dto.FtpHelper; -import com.whyc.dto.ZipUtils; -import com.whyc.util.ActionUtil; -import org.springframework.scheduling.annotation.EnableScheduling; -import org.springframework.scheduling.annotation.Scheduled; -import org.springframework.stereotype.Service; - -import java.io.File; -import java.io.FileOutputStream; -import java.io.IOException; -import java.text.ParseException; -import java.util.Arrays; -import java.util.Date; -import java.util.List; -import java.util.concurrent.CountDownLatch; -import java.util.stream.Collectors; - -@Service -@EnableScheduling // 2.寮�鍚畾鏃朵换鍔� -public class FtpService { - //瀹氭椂涓婁紶鎸囧畾鐩綍涓嬫枃浠� - @Scheduled(cron = "59 59 23 ? * FRI") - //@Scheduled(cron = "0/10 * * * * ?") - private void sendFtpFile() throws IOException, FTPException, InterruptedException, ParseException { - //鍏堣繛鎺tp鏈嶅姟鍣�,鑾峰彇澶囦唤鐩綍,淇濈暀3娆�.杩欓噷鏄粠2023骞�4鏈堝紑濮嬭繘琛屼繚鐣� - FtpHelper ftpRemote = new FtpHelper(YamlProperties.ftpIp, YamlProperties.ftpPort, YamlProperties.ftpUserName, YamlProperties.ftpPassword); - String[] dirList = ftpRemote.getDirList(); - List<String> dirList2 = Arrays.asList(dirList); - dirList2 = dirList2.stream().filter(item->Integer.parseInt(item.substring(0,4))>=2023 && Integer.parseInt(item.substring(5,7))>=4).collect(Collectors.toList()); - for (int i = 0; i < dirList2.size()-3; i++) { - ftpRemote.deleteDir(dirList2.get(i)); - } - ftpRemote.disconnect(); - - - String fileDirName = FileDirPath.getFileDirName(); - - String rootDoc=fileDirName+File.separator+"doc_file"; - String timeStr= ActionUtil.sdfwithFTP.format(new Date()); - try { - - File docFile = new File(rootDoc); - File[] list = docFile.listFiles(); - CountDownLatch latch = new CountDownLatch(list.length+1); - if(list!=null&&list.length>0){ - for (File file:list) { - new Thread(){ - @Override - public void run() { - //鍘嬬缉浼犺緭 - File fileZip = new File(file.getAbsolutePath() + ".zip"); - try { - ZipUtils.toZip(file.getAbsolutePath(),new FileOutputStream(fileZip),true); - String pathName=timeStr+"/doc_file/"+file.getName()+".zip"; - FtpHelper ftp = new FtpHelper(YamlProperties.ftpIp, YamlProperties.ftpPort, YamlProperties.ftpUserName, YamlProperties.ftpPassword); - ftp.uploadFile(fileZip, pathName); - fileZip.delete(); - ftp.disconnect(); - latch.countDown(); - } catch (Exception e) { - e.printStackTrace(); - latch.countDown(); - } - } - }.start(); - - } - } - latch.countDown(); - latch.await(); - } catch (Exception e) { - e.printStackTrace(); - } - } -} +//package com.whyc.service; +// +//import com.enterprisedt.net.ftp.FTPException; +//import com.whyc.constant.YamlProperties; +//import com.whyc.dto.FileDirPath; +//import com.whyc.dto.FtpHelper; +//import com.whyc.dto.ZipUtils; +//import com.whyc.util.ActionUtil; +//import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; +//import org.springframework.scheduling.annotation.EnableScheduling; +//import org.springframework.scheduling.annotation.Scheduled; +//import org.springframework.stereotype.Service; +// +//import java.io.File; +//import java.io.FileOutputStream; +//import java.io.IOException; +//import java.text.ParseException; +//import java.util.Arrays; +//import java.util.Date; +//import java.util.List; +// +//@ConditionalOnProperty(prefix = "configFile",name = "type",havingValue = "2") +//@Service +//@EnableScheduling // 2.寮�鍚畾鏃朵换鍔� +//public class FtpService { +// //瀹氭椂涓婁紶鎸囧畾鐩綍涓嬫枃浠�,姣忓懆浜斿噷鏅ㄥ紑鍚浠� +// //@Scheduled(cron = "59 59 23 ? * FRI") +// @Scheduled(cron = "0 30 8 * * ?") +// public void sendFtpFile() throws IOException, FTPException, ParseException { +// //鍏堣繛鎺tp鏈嶅姟鍣� +// FtpHelper ftpRemote = new FtpHelper(YamlProperties.ftpIp, YamlProperties.ftpPort, YamlProperties.ftpUserName, YamlProperties.ftpPassword); +// String fileDirName = FileDirPath.getFileDirName(); +// String rootDoc=fileDirName+File.separator+"doc_file"; +// String timeStr= ActionUtil.sdfwithFTP.format(new Date()); +// ftpRemote.mkdir(timeStr); +// ftpRemote.disconnect(); +// //澶囦唤杩囩▼鏄惁鍑虹幇杩囬棶棰�,鏍囪瘑绗� +// boolean isError=false; +// try { +// +// File docFile = new File(rootDoc); +// File[] fileList = docFile.listFiles(); +// //File[] fileList2 = new File[fileList.length]; +// //BeanUtils.copyProperties(fileList2,fileList); +// for (File file:fileList) { +// FtpHelper ftpTemp = new FtpHelper(YamlProperties.ftpIp, YamlProperties.ftpPort, YamlProperties.ftpUserName, YamlProperties.ftpPassword); +// //鍘嬬缉浼犺緭 +// File fileZip = new File(file.getAbsolutePath() + ".zip"); +// ZipUtils.toZip(file.getAbsolutePath(),new FileOutputStream(fileZip),true); +// //System.out.println(fileZip.toString()+"鍘嬬缉瀹屾瘯"); +// //System.out.println("杩涜FTP浼犺緭涓�..."); +// try { +// //ZipUtils.toZip(file.getAbsolutePath(),new FileOutputStream(fileZip),true); +// String pathName=timeStr+"/"+file.getName()+".zip"; +// //System.out.println("浼犺緭鐩爣璺緞纭涓�:"+pathName); +// ftpTemp.uploadFile2(fileZip, pathName); +// //System.out.println(fileZip+"浼犺緭瀹屾瘯"); +// fileZip.delete(); +// //System.out.println(fileZip+"浼犺緭涓浆鍘嬬缉鍖呭垹闄ゅ畬姣�"); +// } catch (Exception e) { +// isError = true; +// e.printStackTrace(); +// fileZip.delete(); +// }finally { +// ftpTemp.disconnect(); +// } +// } +// //System.out.println("浼犺緭瀹屾瘯"); +// +// //鑾峰彇澶囦唤鐩綍,淇濈暀4娆�. +// //濡傛灉杩囩▼鍑虹幇閿欒,鍒欎笉鍒犻櫎 +// if (!isError) { +// FtpHelper ftpTemp = new FtpHelper(YamlProperties.ftpIp, YamlProperties.ftpPort, YamlProperties.ftpUserName, YamlProperties.ftpPassword); +// String[] dirList = ftpRemote.getDirList(); +// List<String> dirList2 = Arrays.asList(dirList); +// +// for (int i = 0; i < dirList2.size()-4; i++) { +// ftpTemp.deleteDir(dirList2.get(i)); +// } +// ftpTemp.disconnect(); +// } +// } catch (Exception e) { +// e.printStackTrace(); +// } +// } +//} -- Gitblit v1.9.1