From 4f3cd8c82b2d15ffea600c4f763380fd1cc0f367 Mon Sep 17 00:00:00 2001 From: zq Date: Tue, 6 Jan 2026 10:26:39 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E7=AD=96=E7=95=A5=E5=90=8C?= =?UTF-8?q?=E6=AD=A5=E5=BC=80=E5=A7=8B=E5=92=8C=E7=BB=93=E6=9D=9F=E6=97=B6?= =?UTF-8?q?=E9=97=B4=E6=A0=BC=E5=BC=8F=E8=A7=A3=E6=9E=90=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/EmsStrategyTempServiceImpl.java | 43 +++++++++++++++---- 1 file changed, 35 insertions(+), 8 deletions(-) diff --git a/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsStrategyTempServiceImpl.java b/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsStrategyTempServiceImpl.java index 11703b6..d7a806f 100644 --- a/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsStrategyTempServiceImpl.java +++ b/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsStrategyTempServiceImpl.java @@ -1,8 +1,5 @@ package com.xzzn.ems.service.impl; -import java.util.List; -import java.util.Map; - import com.alibaba.fastjson2.JSON; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.JsonNode; @@ -12,19 +9,27 @@ import com.xzzn.common.utils.DateUtils; import com.xzzn.common.utils.StringUtils; import com.xzzn.common.utils.bean.BeanUtils; import com.xzzn.ems.domain.EmsStrategy; -import com.xzzn.ems.domain.EmsStrategyRunning; +import com.xzzn.ems.domain.EmsStrategyTemp; import com.xzzn.ems.domain.EmsStrategyTempTimeConfig; -import com.xzzn.ems.domain.vo.StrategyRunningVo; import com.xzzn.ems.domain.vo.StrategyTempConfigRequest; import com.xzzn.ems.domain.vo.SyncStrategyTempVo; import com.xzzn.ems.mapper.EmsStrategyCurveMapper; import com.xzzn.ems.mapper.EmsStrategyMapper; +import com.xzzn.ems.mapper.EmsStrategyTempMapper; import com.xzzn.ems.mapper.EmsStrategyTimeConfigMapper; +import com.xzzn.ems.service.IEmsStrategyTempService; + +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.LocalTime; +import java.time.ZoneId; +import java.time.format.DateTimeFormatter; +import java.util.Date; +import java.util.List; +import java.util.Map; + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import com.xzzn.ems.mapper.EmsStrategyTempMapper; -import com.xzzn.ems.domain.EmsStrategyTemp; -import com.xzzn.ems.service.IEmsStrategyTempService; import org.springframework.transaction.annotation.Transactional; /** @@ -147,6 +152,8 @@ public class EmsStrategyTempServiceImpl implements IEmsStrategyTempService switch (operateType) { case "INSERT": SyncStrategyTempVo syncVo = JSON.parseObject(content, SyncStrategyTempVo.class); + //转换开始和结束时间 + convertStringToDate(content, syncVo); BeanUtils.copyProperties(syncVo, temp); // 先校验策略是否存在,不存在则插入 dealStrategyData(temp, syncVo); @@ -165,6 +172,26 @@ public class EmsStrategyTempServiceImpl implements IEmsStrategyTempService } } + private void convertStringToDate(String content, SyncStrategyTempVo syncVo) throws JsonProcessingException { + ObjectMapper mapper = new ObjectMapper(); + JsonNode rootNode = mapper.readTree(content); + String startTime = rootNode.path("startTime").asText(); + String endTime = rootNode.path("endTime").asText(); + if (startTime != null && !"null".equals(startTime)) { + syncVo.setStartTime(parseTimeStringToDate(startTime)); + } + if (endTime != null && !"null".equals(endTime)) { + syncVo.setEndTime(parseTimeStringToDate(endTime)); + } + } + + private Date parseTimeStringToDate(String timeStr) { + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("HH:mm"); + LocalTime time = LocalTime.parse(timeStr, formatter); + LocalDateTime dateTime = LocalDateTime.of(LocalDate.now(), time); + return Date.from(dateTime.atZone(ZoneId.of("Asia/Shanghai")).toInstant()); + } + private void dealStrategyData(EmsStrategyTemp temp, SyncStrategyTempVo syncVo) { // 主策略 String mainStrategyName = syncVo.getStrategyName();