From b4c3c4e4b3cc8772c499f8a67d07761c2ea329f6 Mon Sep 17 00:00:00 2001
From: "review512jwy@163.com" <“review512jwy@163.com”>
Date: Thu, 14 May 2026 10:34:31 +0800
Subject: [PATCH] =?UTF-8?q?=E6=89=B9=E9=87=8F=E5=BE=AA=E7=8E=AF=E5=AD=98?=
=?UTF-8?q?=E5=82=A8=E6=95=B0=E6=8D=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pom.xml | 5 +
.../com/dashboard/aws/lambda/Constants.java | 1 +
.../lambda/handler/MySQLBatchToS3Handler.java | 237 ++++++++++++++++++
.../aws/lambda/service/MySQLService.java | 79 +++++-
.../aws/lambda/service/S3Service.java | 54 ++++
.../aws/lambda/S3CsvReorganizer.java | 128 ++++++++++
6 files changed, 501 insertions(+), 3 deletions(-)
create mode 100644 src/main/java/com/dashboard/aws/lambda/handler/MySQLBatchToS3Handler.java
create mode 100644 src/test/java/com/dashboard/aws/lambda/S3CsvReorganizer.java
diff --git a/pom.xml b/pom.xml
index 69d67ce..32cac36 100644
--- a/pom.xml
+++ b/pom.xml
@@ -7,6 +7,11 @@
1.0-SNAPSHOT
dashboard-statistics-lambda Maven Webapp
http://maven.apache.org
+
+
+ UTF-8
+
+
junit
diff --git a/src/main/java/com/dashboard/aws/lambda/Constants.java b/src/main/java/com/dashboard/aws/lambda/Constants.java
index 21cd70d..510a3b6 100644
--- a/src/main/java/com/dashboard/aws/lambda/Constants.java
+++ b/src/main/java/com/dashboard/aws/lambda/Constants.java
@@ -5,5 +5,6 @@ import java.util.List;
public class Constants {
public static final List tables = List.of("dashboard_record_accumulate", "dashboard_record_measure");
+// public static final List tables = List.of("dashboard_record_accumulate_test", "dashboard_record_measure_test");
}
diff --git a/src/main/java/com/dashboard/aws/lambda/handler/MySQLBatchToS3Handler.java b/src/main/java/com/dashboard/aws/lambda/handler/MySQLBatchToS3Handler.java
new file mode 100644
index 0000000..285b372
--- /dev/null
+++ b/src/main/java/com/dashboard/aws/lambda/handler/MySQLBatchToS3Handler.java
@@ -0,0 +1,237 @@
+package com.dashboard.aws.lambda.handler;
+
+import com.amazonaws.services.lambda.runtime.Context;
+import com.amazonaws.services.lambda.runtime.RequestHandler;
+import com.dashboard.aws.lambda.Constants;
+import com.dashboard.aws.lambda.service.MySQLService;
+import com.dashboard.aws.lambda.service.S3Service;
+import com.dashboard.aws.lambda.util.CsvUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.time.Instant;
+import java.time.LocalDate;
+import java.time.ZoneId;
+import java.time.format.DateTimeFormatter;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+public class MySQLBatchToS3Handler implements RequestHandler