From d3a46db615c7080609be3c809cc1f4f7f1cac430 Mon Sep 17 00:00:00 2001 From: yuxin-pc Date: Thu, 12 Feb 2026 09:32:13 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9C=80=E6=96=B0=E9=80=BB=E8=BE=91=E5=90=8C?= =?UTF-8?q?=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jsc/dsp/controller/ExportController.java | 39 ++++++++++++------- .../java/com/jsc/dsp/task/AutoUpload.java | 37 +++++------------- .../com/jsc/dsp/utils/DatabaseConnector.java | 11 ++++-- 3 files changed, 41 insertions(+), 46 deletions(-) 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 11f8514..90f0412 100644 --- a/dsp/src/main/java/com/jsc/dsp/controller/ExportController.java +++ b/dsp/src/main/java/com/jsc/dsp/controller/ExportController.java @@ -2,9 +2,8 @@ package com.jsc.dsp.controller; import com.alibaba.fastjson.JSONObject; import com.jsc.dsp.model.ReturnT; -import com.jsc.dsp.utils.AutoExportAndUpload; +import com.jsc.dsp.utils.ExportAndUploadUtils; import com.jsc.dsp.utils.DatabaseConnector; -import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; @@ -20,7 +19,7 @@ public class ExportController { DatabaseConnector databaseConnector; @Resource - AutoExportAndUpload autoExportAndUpload; + ExportAndUploadUtils exportAndUploadUtils; @PostMapping("/exportExcel") public ReturnT exportExcel(@RequestBody JSONObject object) { @@ -33,25 +32,37 @@ public class ExportController { } } - @PostMapping("/triggerTask") - public ReturnT triggerTask() { - try { - new Thread(() -> autoExportAndUpload.exportDataAndUpload()).start(); - return new ReturnT<>(200, "", ""); - } catch (Exception e) { - return new ReturnT<>(500, e.getMessage(), ""); - } - } - @PostMapping("/exportTwitterExcel") public ReturnT triggerTwitterTask(@RequestBody JSONObject object) { try { String startTime = object.getString("startTime"); - new Thread(() -> autoExportAndUpload.exportTwitterDataAndUpload(startTime)).start(); + databaseConnector.twitterToXlsx(startTime); return new ReturnT<>(200, "", ""); } catch (Exception e) { return new ReturnT<>(500, e.getMessage(), ""); } } + @PostMapping("/triggerTask") + public ReturnT triggerTask() { + try { + new Thread(() -> exportAndUploadUtils.exportNewsDataAndUpload()).start(); + return new ReturnT<>(200, "", ""); + } catch (Exception e) { + return new ReturnT<>(500, e.getMessage(), ""); + } + } + + @PostMapping("/triggerTwitterTask") + public ReturnT triggerTwitterTask() { + try { + new Thread(() -> exportAndUploadUtils.exportTwitterDataAndUpload()).start(); + return new ReturnT<>(200, "", ""); + } catch (Exception e) { + return new ReturnT<>(500, e.getMessage(), ""); + } + } + + + } diff --git a/dsp/src/main/java/com/jsc/dsp/task/AutoUpload.java b/dsp/src/main/java/com/jsc/dsp/task/AutoUpload.java index 0b8ae94..91f18e1 100644 --- a/dsp/src/main/java/com/jsc/dsp/task/AutoUpload.java +++ b/dsp/src/main/java/com/jsc/dsp/task/AutoUpload.java @@ -1,50 +1,31 @@ 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 com.jsc.dsp.utils.ExportAndUploadUtils; 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; + ExportAndUploadUtils exportAndUploadUtils; @Value("${custom.ftpUploadPath}") String ftpUploadPath; - @Scheduled(cron = "${custom.exportTaskSchedule}") + @Scheduled(cron = "${custom.exportNewsTaskSchedule}") public void exportNewsDataAndUpload() { - autoExportAndUploadComponent.exportDataAndUpload(); + exportAndUploadUtils.exportNewsDataAndUpload(); + } + + @Scheduled(cron = "${custom.exportTwitterTaskSchedule}") + public void exportTwitterDataAndUpload() { + exportAndUploadUtils.exportTwitterDataAndUpload(); } } diff --git a/dsp/src/main/java/com/jsc/dsp/utils/DatabaseConnector.java b/dsp/src/main/java/com/jsc/dsp/utils/DatabaseConnector.java index 4d70fe4..5126c96 100644 --- a/dsp/src/main/java/com/jsc/dsp/utils/DatabaseConnector.java +++ b/dsp/src/main/java/com/jsc/dsp/utils/DatabaseConnector.java @@ -42,8 +42,11 @@ public class DatabaseConnector { @Resource EsDataTwitterRepository esDataTwitterRepository; - @Value("${custom.excelOutputPath}") - String excelOutputPath; + @Value("${custom.newsExcelOutputPath}") + String newsExcelOutputPath; + + @Value("${custom.twitterExcelOutputPath}") + String twitterExcelOutputPath; private static final ObjectMapper objectMapper = new ObjectMapper(); @@ -79,7 +82,7 @@ public class DatabaseConnector { public void exportToXlsx(String startTime) { try { - Path dirPath = Paths.get(excelOutputPath); + Path dirPath = Paths.get(newsExcelOutputPath); if (!Files.exists(dirPath)) { Files.createDirectories(dirPath); } @@ -179,7 +182,7 @@ public class DatabaseConnector { public void twitterToXlsx(String startTime) { try { - Path dirPath = Paths.get(excelOutputPath); + Path dirPath = Paths.get(twitterExcelOutputPath); if (!Files.exists(dirPath)) { Files.createDirectories(dirPath); }