From 31580190e200136cbf2f5085cc1f647e6906252f Mon Sep 17 00:00:00 2001 From: yuxin-pc Date: Tue, 27 Jan 2026 10:21:40 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=94=B9=E5=AE=9A=E6=97=B6=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E7=9A=84=E4=BD=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jsc/dsp/controller/ExportController.java | 1 - .../java/com/jsc/dsp/task/AutoUpload.java | 50 +++++++++++++++++++ .../jsc/dsp/utils/AutoExportAndUpload.java | 8 +-- 3 files changed, 51 insertions(+), 8 deletions(-) create mode 100644 dsp/src/main/java/com/jsc/dsp/task/AutoUpload.java diff --git a/dsp/src/main/java/com/jsc/dsp/controller/ExportController.java b/dsp/src/main/java/com/jsc/dsp/controller/ExportController.java index 5f90df6..dc7fa2b 100644 --- a/dsp/src/main/java/com/jsc/dsp/controller/ExportController.java +++ b/dsp/src/main/java/com/jsc/dsp/controller/ExportController.java @@ -14,7 +14,6 @@ import javax.annotation.Resource; @RestController @RequestMapping("/export") -@ConditionalOnProperty(name = "switch.auto-export-and-upload", havingValue = "true", matchIfMissing = true) public class ExportController { @Resource diff --git a/dsp/src/main/java/com/jsc/dsp/task/AutoUpload.java b/dsp/src/main/java/com/jsc/dsp/task/AutoUpload.java new file mode 100644 index 0000000..0b8ae94 --- /dev/null +++ b/dsp/src/main/java/com/jsc/dsp/task/AutoUpload.java @@ -0,0 +1,50 @@ +package com.jsc.dsp.task; + +import com.jsc.dsp.service.ConfigService; +import com.jsc.dsp.utils.AutoExportAndUpload; +import com.jsc.dsp.utils.DatabaseConnector; +import com.jsc.dsp.utils.FTPConnector; +import com.jsc.dsp.utils.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.nio.file.StandardCopyOption; +import java.nio.file.attribute.BasicFileAttributes; +import java.nio.file.attribute.FileTime; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.Comparator; +import java.util.Date; +import java.util.zip.ZipEntry; +import java.util.zip.ZipOutputStream; + +@Component +@ConditionalOnProperty(name = "switch.auto-export-and-upload", havingValue = "true", matchIfMissing = true) +public class AutoUpload { + + @Resource + AutoExportAndUpload autoExportAndUploadComponent; + + @Value("${custom.ftpUploadPath}") + String ftpUploadPath; + + @Scheduled(cron = "${custom.exportTaskSchedule}") + public void exportNewsDataAndUpload() { + autoExportAndUploadComponent.exportDataAndUpload(); + } + +} diff --git a/dsp/src/main/java/com/jsc/dsp/utils/AutoExportAndUpload.java b/dsp/src/main/java/com/jsc/dsp/utils/AutoExportAndUpload.java index 2e7eb71..905daa2 100644 --- a/dsp/src/main/java/com/jsc/dsp/utils/AutoExportAndUpload.java +++ b/dsp/src/main/java/com/jsc/dsp/utils/AutoExportAndUpload.java @@ -29,7 +29,6 @@ import java.util.zip.ZipEntry; import java.util.zip.ZipOutputStream; @Component -@ConditionalOnProperty(name = "switch.auto-export-and-upload", havingValue = "true", matchIfMissing = true) public class AutoExportAndUpload { @Resource @@ -62,7 +61,6 @@ public class AutoExportAndUpload { /** * 每周一、三、五的早上8点,执行导出数据的任务 */ - @Scheduled(cron = "${custom.exportTaskSchedule}") public void exportDataAndUpload() { logger.info("开始导出excel和pdf数据..."); String lastLoadTime = configService.getConfigValueByName("last_loadtime"); @@ -77,12 +75,8 @@ public class AutoExportAndUpload { zipAndUploadDirectory(excelOutputPath, zipFileFullName, remoteZipPath); } - /** - * 每周一、三、五的早上8点,执行导出数据的任务 - */ - @Scheduled(cron = "${custom.exportTaskSchedule}") public void exportTwitterDataAndUpload() { - logger.info("开始导出twitter excel和pdf数据..."); + logger.info("开始导出twitter excel数据..."); String twitterLastLoadTime = configService.getConfigValueByName("twitter_last_loadtime"); String currentLoadTime = StringUtils.DateToString(new Date()); String timestamp = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMdd"));