diff --git a/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/logic/PileTimeConfigReplyDataLogic.java b/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/logic/PileTimeConfigReplyDataLogic.java index 3edd93b0..e28ceabf 100644 --- a/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/logic/PileTimeConfigReplyDataLogic.java +++ b/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/logic/PileTimeConfigReplyDataLogic.java @@ -13,7 +13,6 @@ import org.springframework.stereotype.Component; import java.util.Map; -import static cn.hutool.core.date.DatePattern.UTC_FORMAT; import static cn.hutool.core.date.DatePattern.UTC_PATTERN; import static com.xhpc.pp.server.ChargingPileServer.REDIS; import static com.xhpc.pp.utils.security.CP56Time2a.cp56toDate; @@ -32,15 +31,11 @@ public class PileTimeConfigReplyDataLogic implements ServiceLogic { PileTimeConfigReplyData pileTimeConfigReplyData = objectMapper.convertValue(req, PileTimeConfigReplyData.class); String pileNo = (String) req.get("pileNo"); String pk = "pile:".concat(pileNo); + String configTime = DateUtil.format(cp56toDate(pileTimeConfigReplyData.getSetTime()), UTC_PATTERN); Map cachePile = REDIS.getCacheMap(pk); - String setTime = (String) cachePile.get("setTime"); - String configTime = pileTimeConfigReplyData.getSetTime(); - if (configTime.equals(setTime)) { - log.info("({}) set time success: √[{}]", pileNo, DateUtil.format(cp56toDate(setTime), UTC_PATTERN)); - } else { - // todo may call back mgmt backend - log.error("({}) set time failed: √[{}] ×[{}]", pileNo, DateUtil.format(cp56toDate(setTime), UTC_PATTERN), DateUtil.format(cp56toDate(configTime), UTC_FORMAT)); - } + cachePile.put("configTime", configTime); + REDIS.setCacheMap(pk, cachePile); + log.info("({}) set time success: √[{}]", pileNo, configTime); return new ServiceResult(false); } diff --git a/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/server/ChargingPileBinaryHandler.java b/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/server/ChargingPileBinaryHandler.java index 897f6a8b..6c6fbb5c 100644 --- a/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/server/ChargingPileBinaryHandler.java +++ b/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/server/ChargingPileBinaryHandler.java @@ -1,5 +1,6 @@ package com.xhpc.pp.server; +import cn.hutool.core.date.DateUtil; import com.alibaba.nacos.api.exception.NacosException; import com.xhpc.common.api.dto.ChargingStationDto; import com.xhpc.pp.domain.ServiceField; @@ -20,6 +21,7 @@ import org.slf4j.LoggerFactory; import java.io.IOException; import java.util.*; +import static cn.hutool.core.date.DatePattern.UTC_PATTERN; import static com.xhpc.common.data.redis.SeqUtil.seqHex; import static com.xhpc.pp.server.ChargingPileServer.REDIS; import static com.xhpc.pp.tx.ServiceResult.OK; @@ -92,10 +94,10 @@ public class ChargingPileBinaryHandler implements ClientBinaryHandler { String pilekey = "pile:".concat(pileNo); if (SERVICE_REGISTER.equals(serviceName) && OK.equals(resultCode)) { regHandler(handler, pileNo, req); - Calendar calendar = Calendar.getInstance(); - String timebin = getTimeBin(seqHex(pilekey.concat("seqhex")), pileNo, calendar); + Date date = Calendar.getInstance().getTime(); + String timebin = getTimeBin(seqHex(pilekey.concat("seqhex")), pileNo, date); Map cachePile = REDIS.getCacheMap(pilekey); - cachePile.put("setTime", toCp56Hex(calendar.getTime())); + cachePile.put("configTime", DateUtil.format(date, UTC_PATTERN)); REDIS.setCacheMap(pilekey, cachePile); log.info("server send time config msg >>>> ({}) |{}|", pileNo, timebin); handler.sendClientBinary(HexUtils.toBytes(timebin)); @@ -111,9 +113,9 @@ public class ChargingPileBinaryHandler implements ClientBinaryHandler { } } - private String getTimeBin(String seqhex, String pileNo, Calendar calendar) { + private String getTimeBin(String seqhex, String pileNo, Date date) { - String timebin = "6812".concat(seqhex).concat("0056").concat(pileNo).concat(toCp56Hex(calendar.getTime())); + String timebin = "6812".concat(seqhex).concat("0056").concat(pileNo).concat(toCp56Hex(date)); timebin = timebin.concat(CRCCalculator.calcCrc(timebin)); return timebin; }