diff --git a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/impl/Calc.java b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/impl/Calc.java index aa0a9740..19efaec0 100644 --- a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/impl/Calc.java +++ b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/impl/Calc.java @@ -36,10 +36,15 @@ public class Calc { expression = parser.parseExpression(ruleExpression); rs = expression.getValue(stdContext, String.class); System.out.println(rs); - ruleExpression = "#totalPower * 0.03"; - expression = parser.parseExpression(ruleExpression); - rs = expression.getValue(stdContext, String.class); - System.out.println(rs); + ruleExpression = "#totalPower - (0.03% * 2%)"; +// expression = parser.parseExpression(ruleExpression); +// rs = expression.getValue(stdContext, String.class); +// System.out.println(rs); + String[] split = ruleExpression.split("[()*/\\-+?]"); + for (String splitValue : split) { + System.out.println(splitValue); + } + } private static void test(String s, double x) { @@ -254,7 +259,7 @@ class Parser extends Object { */ enum Symbol { PLUS('+'), MINUS('-'), STAR('*'), SLASH('/'), - OPEN('('), CLOSE(')'), COMMA(','), + OPEN('('), CLOSE(')'), COMMA(','), PERCENT('%'), END(StreamTokenizer.TT_EOF), WORD(StreamTokenizer.TT_WORD), NUMBER(StreamTokenizer.TT_NUMBER); 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 index 823102b4..119307f9 100644 --- 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 @@ -34,18 +34,20 @@ public class HBCheckTask { Long hbtime = (Long) cacheGun.get("hbtime"); hbtime = hbtime == null ? 0 : hbtime; if ((now - hbtime) > 75000) { - cacheGun.put("statusInt", OFF_LINE); - cacheGun.put("status", DISCONNECTED); - REDIS.setCacheMap(gunkey, cacheGun); + if (!DISCONNECTED.equals(cacheGun.get("status"))) { + cacheGun.put("statusInt", OFF_LINE); + cacheGun.put("status", DISCONNECTED); + REDIS.setCacheMap(gunkey, cacheGun); - XhpcDeviceMessage deviceMessage = new XhpcDeviceMessage(); - deviceMessage.setType(StationDeviceEnum.PILE.getCode()); + XhpcDeviceMessage deviceMessage = new XhpcDeviceMessage(); + deviceMessage.setType(StationDeviceEnum.PILE.getCode()); - String pileId= StrUtil.sub(gunkey.substring(gunkey.lastIndexOf(":") + 1), 0, -2); - deviceMessage.setSerialNumber(pileId); - deviceMessage.setStatus(0); - deviceMessage.setRemark("充电桩心跳掉线"); - deviceMessageMapper.insertByDomain(deviceMessage); + String pileId = StrUtil.sub(gunkey.substring(gunkey.lastIndexOf(":") + 1), 0, -2); + deviceMessage.setSerialNumber(pileId); + deviceMessage.setStatus(0); + deviceMessage.setRemark("充电桩心跳掉线"); + deviceMessageMapper.insertByDomain(deviceMessage); + } } } }