diff --git a/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/config/EarlierBeanConf.java b/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/config/EarlierBeanConf.java index 3018f97a..45ab72c4 100644 --- a/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/config/EarlierBeanConf.java +++ b/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/config/EarlierBeanConf.java @@ -29,7 +29,7 @@ public class EarlierBeanConf { this.springContextHolder = springContextHolder; } - public static boolean ifreg(String pileNo) throws NacosException { + public static boolean ifcanreg(String pileNo) throws NacosException { Map cachePile = REDIS.getCacheMap("pile:".concat(pileNo)); if (!cachePile.isEmpty()) { diff --git a/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/controller/ChargingController.java b/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/controller/ChargingController.java index 8c7c5da3..915cf580 100644 --- a/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/controller/ChargingController.java +++ b/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/controller/ChargingController.java @@ -207,7 +207,7 @@ public class ChargingController { String pileNo = startChargingData.getPileNo(); ClientHandler clientHandler = ChargingPileServer.getHandler(pileNo); if (clientHandler == null) { - ChargingPileServer.removeHandler(pileNo); +// ChargingPileServer.removeHandler(pileNo); return R.fail("充电桩没有连接到上次注册的服务器,请稍后再试一次"); } try { @@ -215,7 +215,7 @@ public class ChargingController { Map cacheGun = REDIS.getCacheMap(gunkey); String gunstatus = (String) cacheGun.get("status"); if (!"空闲".equals(gunstatus)) { - return R.fail("充电桩不在空闲或正常状态,稍后再试"); + return R.fail("端口不在空闲或正常状态,稍后再试"); } if (CacheDataUtils.hori(gunkey)) return R.fail("等待上一条指令响应"); String skey = gunkey.concat(".seqhex"); @@ -255,7 +255,7 @@ public class ChargingController { ClientHandler clientHandler = ChargingPileServer.getHandler(pileNo); if (clientHandler == null) { - ChargingPileServer.removeHandler(pileNo); +// ChargingPileServer.removeHandler(pileNo); return R.fail("充电桩没有连接到上次注册的服务器,请稍后再试一次"); } try { diff --git a/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/logic/RegisterLogic.java b/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/logic/RegisterLogic.java index 2206bd1a..6bd02534 100644 --- a/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/logic/RegisterLogic.java +++ b/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/logic/RegisterLogic.java @@ -38,7 +38,7 @@ public class RegisterLogic implements ServiceLogic { log.info("pile not in whitelist ({}) ", pileNo); hexCode = ServiceResult.HEX_01; resultCode = ServiceResult.FAIL; - } else if (!EarlierBeanConf.ifreg(pileNo)) { + } else if (!EarlierBeanConf.ifcanreg(pileNo)) { log.info("pile already registered ({}) ", pileNo); hexCode = ServiceResult.HEX_01; resultCode = ServiceResult.FAIL; diff --git a/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/server/ChargingPileEventHandler.java b/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/server/ChargingPileEventHandler.java index 4a8c994b..4e50fb28 100644 --- a/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/server/ChargingPileEventHandler.java +++ b/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/server/ChargingPileEventHandler.java @@ -20,17 +20,17 @@ public class ChargingPileEventHandler implements ClientEventHandler { @Override public void gotConnected(ClientHandler handler) { - log.info("-> [{}] <- {}", handler.getName(), handler.getSocket().getRemoteSocketAddress().toString()); + log.info("-> [{}] - {} <-", handler.getName(), handler.getSocket().getRemoteSocketAddress().toString()); } @Override public void lostConnection(ClientHandler handler) { String pileNo = ChargingPileServer.getPileNo(handler); - if (pileNo != null) { - ChargingPileServer.removeHandler(pileNo); - } - log.info("-> ({}) - [{}] <- {}", +// if (pileNo != null) { +// ChargingPileServer.removeHandler(pileNo); +// } + log.info("<- ({}) - [{}] - {} ->", pileNo, handler.getName(), handler.getSocket().getRemoteSocketAddress().toString()); } @@ -44,7 +44,7 @@ public class ChargingPileEventHandler implements ClientEventHandler { // cachePile.put("status", DISCONNECTED); // REDIS.setCacheMap(pkey, cachePile); handler.closeConnection(); - log.info("-> ({}) - [{}] <- {}", pileNo, handler.getName(), handler.getSocket().getRemoteSocketAddress().toString()); + log.info("<- ({}) - [{}] - {} ->", pileNo, handler.getName(), handler.getSocket().getRemoteSocketAddress().toString()); } } diff --git a/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/server/ChargingPileServer.java b/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/server/ChargingPileServer.java index a4aa5029..22491592 100644 --- a/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/server/ChargingPileServer.java +++ b/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/server/ChargingPileServer.java @@ -78,6 +78,8 @@ public class ChargingPileServer { public static void removeHandler(String pileNo) { ClientHandler handler = handlerMap.remove(pileNo); + handler.closeConnection(); + log.info("handler [{}] for ({}) close connection", handler.getName(), pileNo); String pkey = "pile:".concat(pileNo); Map cachePile = REDIS.getCacheMap(pkey); cachePile.put("status", DISCONNECTED); @@ -102,11 +104,9 @@ public class ChargingPileServer { } } } - if (handler != null) { - log.info("remove handler [{}] for ({})", handler.getName(), pileNo); - pileMap.remove(handler.getName()); - versionMapper.remove(handler.getName()); - } + log.info("remove handler [{}] for ({})", handler.getName(), pileNo); + pileMap.remove(handler.getName()); + versionMapper.remove(handler.getName()); } public static void sendClientMsg(String pileNo, byte[] msg) { diff --git a/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/server/HBCheckTask.java b/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/server/HBCheckTask.java new file mode 100644 index 00000000..68d51b77 --- /dev/null +++ b/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/server/HBCheckTask.java @@ -0,0 +1,17 @@ +package com.xhpc.pp.server; + +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; + +import java.io.IOException; + +@Component +public class HBCheckTask { + + @Scheduled(fixedRate = 1000) + protected void run() throws IOException { + + System.out.println("hb check"); + } + +} diff --git a/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/utils/security/CRCCalculator.java b/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/utils/security/CRCCalculator.java index 6d21b0b3..f2245a58 100644 --- a/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/utils/security/CRCCalculator.java +++ b/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/utils/security/CRCCalculator.java @@ -54,4 +54,9 @@ public class CRCCalculator { }; } + public static void main(String[] args) { + + System.out.println(calcCrc("6812001F00416985214589654800000000000000")); + } + }