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