¶Ô±ÈÐÂÎļþ |
| | |
| | | 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ç±»çèªå®ä¹åºååç±» è§£å³äºè®¡ç®å±æ§æ æ³åºååçé®é¢ |
| | | * 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(); |
| | | // åºååtype |
| | | jsonObject.addProperty("type", String.valueOf(bgTaskStatus.getType())); |
| | | // åºååid |
| | | jsonObject.addProperty("id", bgTaskStatus.getId()); |
| | | // åºååname |
| | | jsonObject.addProperty("name", bgTaskStatus.getName()); |
| | | // åºååstatus |
| | | jsonObject.addProperty("status", String.valueOf(bgTaskStatus.getStatus())); |
| | | // åºååstartTime |
| | | jsonObject.addProperty("startTime", formatLocalDateTime(bgTaskStatus.getStartTime())); |
| | | // åºååendTime |
| | | jsonObject.addProperty("endTime", formatLocalDateTime(bgTaskStatus.getEndTime())); |
| | | // åºååcreateTime |
| | | jsonObject.addProperty("createTime", formatLocalDateTime(bgTaskStatus.getCreateTime())); |
| | | // åºåå 计ç®å±æ§runTime |
| | | jsonObject.addProperty("runTime", bgTaskStatus.getRunTime()); |
| | | // åºååextra |
| | | if (bgTaskStatus.getExtra() != null) { |
| | | jsonObject.add("extra", context.serialize(bgTaskStatus.getExtra())); |
| | | } |
| | | return jsonObject; |
| | | } |
| | | |
| | | private String formatLocalDateTime(LocalDateTime localDateTime) { |
| | | // 妿LocalDateTime为nullï¼åè¿ånull |
| | | if (localDateTime == null) { |
| | | return null; |
| | | } |
| | | // æ ¼å¼åLocalDateTime |
| | | return DateTimeFormatter.ISO_LOCAL_DATE_TIME.format(localDateTime); |
| | | } |
| | | } |