diff --git a/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/controller/PileController.java b/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/controller/PileController.java index d63dba4a..4d84126d 100644 --- a/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/controller/PileController.java +++ b/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/controller/PileController.java @@ -106,6 +106,33 @@ public class PileController { return r; } + @PostMapping("native/pile/{pileNo}/rateModel") + public Object configRateModel(@PathVariable("pileNo") String pileNo, @RequestBody String msg) { + + ClientHandler handler = getHandler(pileNo); + R r; + if (handler != null && handler.isOpen()) { + if (!handler.isOpen()) { + log.error("send message failed. [{}]({}) connection lost", handler.getName(), pileNo); + removeHandler(pileNo); + r = R.fail("充电桩连接已断开,请稍后再试"); + } else { + try { + log.debug("[{}] - server send msg >>>> ({}) |{}|", handler.getName(), pileNo, msg); + handler.sendClientBinary(HexUtils.toBytes(msg)); + r = R.ok(null, "网络延迟,请重试"); + } catch (IOException e) { + log.error("费率模型下发失败[{}]:".concat(e.getMessage()).concat(".无法启动充电"), pileNo); + removeHandler(pileNo); + r = R.fail("电桩网络通信失败,请重试"); + } + } + } else { + log.error("费率模型下发失败[{}].无法启动充电", pileNo); + r = R.fail("启动失败,请稍后重试"); + } + return r; + } @PostMapping("native/pile/{pileNo}/timeNRateModel") public R nativeConfigTimeNRateModel(@PathVariable("pileNo") String pileNo) {