From 7d74f3fd087d4a8192ed556a6c2e3a2ea3c81cff Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期五, 28 三月 2025 17:43:48 +0800
Subject: [PATCH] 1. 新增扬尘监测数据上传功能

---
 src/main/kotlin/cn/flightfeather/supervision/common/executor/BgTaskStatusJsonSerializer.java |   51 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 51 insertions(+), 0 deletions(-)

diff --git a/src/main/kotlin/cn/flightfeather/supervision/common/executor/BgTaskStatusJsonSerializer.java b/src/main/kotlin/cn/flightfeather/supervision/common/executor/BgTaskStatusJsonSerializer.java
new file mode 100644
index 0000000..6287678
--- /dev/null
+++ b/src/main/kotlin/cn/flightfeather/supervision/common/executor/BgTaskStatusJsonSerializer.java
@@ -0,0 +1,51 @@
+package cn.flightfeather.supervision.common.executor;
+
+import com.google.gson.JsonElement;
+import com.google.gson.JsonObject;
+import com.google.gson.JsonSerializationContext;
+import com.google.gson.JsonSerializer;
+import java.lang.reflect.Type;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+
+/**
+ * BgTaskStatus绫荤殑鑷畾涔夊簭鍒楀寲绫� 瑙e喅浜嗚绠楀睘鎬ф棤娉曞簭鍒楀寲鐨勯棶棰�
+ * by hc 2024.12.10
+ */
+public class BgTaskStatusJsonSerializer implements JsonSerializer<BgTaskStatus> {
+
+    @Override
+    public JsonElement serialize(BgTaskStatus bgTaskStatus, Type typeOfSrc, JsonSerializationContext context) {
+        JsonObject jsonObject = new JsonObject();
+        // 搴忓垪鍖杢ype
+        jsonObject.addProperty("type", String.valueOf(bgTaskStatus.getType()));
+        // 搴忓垪鍖杋d
+        jsonObject.addProperty("id", bgTaskStatus.getId());
+        // 搴忓垪鍖杗ame
+        jsonObject.addProperty("name", bgTaskStatus.getName());
+        // 搴忓垪鍖杝tatus
+        jsonObject.addProperty("status", String.valueOf(bgTaskStatus.getStatus()));
+        // 搴忓垪鍖杝tartTime
+        jsonObject.addProperty("startTime", formatLocalDateTime(bgTaskStatus.getStartTime()));
+        // 搴忓垪鍖杄ndTime
+        jsonObject.addProperty("endTime", formatLocalDateTime(bgTaskStatus.getEndTime()));
+        // 搴忓垪鍖朿reateTime
+        jsonObject.addProperty("createTime", formatLocalDateTime(bgTaskStatus.getCreateTime()));
+        // 搴忓垪鍖� 璁$畻灞炴�unTime
+        jsonObject.addProperty("runTime", bgTaskStatus.getRunTime());
+        // 搴忓垪鍖杄xtra
+        if (bgTaskStatus.getExtra() != null) {
+            jsonObject.add("extra", context.serialize(bgTaskStatus.getExtra()));
+        }
+        return jsonObject;
+    }
+
+    private String formatLocalDateTime(LocalDateTime localDateTime) {
+        // 濡傛灉LocalDateTime涓簄ull锛屽垯杩斿洖null
+        if (localDateTime == null) {
+            return null;
+        }
+        // 鏍煎紡鍖朙ocalDateTime
+        return DateTimeFormatter.ISO_LOCAL_DATE_TIME.format(localDateTime);
+    }
+}
\ No newline at end of file

--
Gitblit v1.9.3