diff --git a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/api/CoreDispatcher.java b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/api/CoreDispatcher.java index a3ccc717..08d2440e 100644 --- a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/api/CoreDispatcher.java +++ b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/api/CoreDispatcher.java @@ -59,7 +59,7 @@ public class CoreDispatcher { Calendar cal = Calendar.getInstance(); String bearer = null; AuthSecretToken authSecretTokenOut = getAuthSecretTokenOut(operatorId3irdpty, operatorID); - if (authSecretTokenOut!=null) { + if (authSecretTokenOut == null) { String error = String.format("secret/token not found for [%s/%s](opId3pt/opId)", operatorId3irdpty, operatorID); throw new RuntimeException(error); } diff --git a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/cd/NotificationEquipChargeStatusTask.java b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/cd/NotificationEquipChargeStatusTask.java index ea995d8f..f5242920 100644 --- a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/cd/NotificationEquipChargeStatusTask.java +++ b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/cd/NotificationEquipChargeStatusTask.java @@ -11,6 +11,7 @@ import com.xhpc.evcs.jpa.OrderMappingRepository; import com.xhpc.evcs.jpa.StatisticTimeIntervalRepository; import com.xhpc.evcs.utils.DateUtil; import com.xhpc.evcs.utils.JSONUtil; +import com.xhpc.pp.utils.HexUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -58,10 +59,10 @@ public class NotificationEquipChargeStatusTask extends CoreDispatcher { equipChargeStatus.setStartChargeSeqStat(2); equipChargeStatus.setConnectorID(orderkey.substring(6, 22)); String current = REDIS.getCacheMapValue(gunkey, "current"); - equipChargeStatus.setCurrentA(Integer.parseInt(current == null ? "10" : current, 16) / 100.0); + equipChargeStatus.setCurrentA(HexUtils.reverseHexInt(current == null ? "9600" : current) / 10.0); String voltage = REDIS.getCacheMapValue(gunkey, "voltage"); - equipChargeStatus.setVoltageA(Integer.parseInt(voltage == null ? "300" : voltage, 16) / 100.0); - Double soc = REDIS.getCacheMapValue(gunkey, "endSoc"); + equipChargeStatus.setVoltageA(HexUtils.reverseHexInt(voltage == null ? "D80E" : voltage) / 10.0); + Double soc = REDIS.getCacheMapValue(orderkey, "endSoc"); equipChargeStatus.setSoc(soc == null ? 0 : soc); equipChargeStatus.setStartTime(cacheGun.get("orderstarttime").toString()); equipChargeStatus.setEndTime(DateUtil.date2String(Calendar.getInstance().getTime(), @@ -87,7 +88,7 @@ public class NotificationEquipChargeStatusTask extends CoreDispatcher { public static String transferInternetOrderNo(String orderKeyOrNo) { - return "MA6DFCTD5".concat(DateUtil.getYYYY()).concat(orderKeyOrNo.replace("order:", "").substring(18)); + return "MA6DFCTD5".concat(DateUtil.getYYYY()).concat(orderKeyOrNo.substring(24)); } private void calculateEm(EquipChargeStatus equipChargeStatusCD, CacheRateModel cacheRateModel) { diff --git a/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/utils/security/HexUtils.java b/xhpc-modules/xhpc-common/src/main/java/com/xhpc/pp/utils/HexUtils.java similarity index 89% rename from xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/utils/security/HexUtils.java rename to xhpc-modules/xhpc-common/src/main/java/com/xhpc/pp/utils/HexUtils.java index dfa2b2c8..07b09dee 100644 --- a/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/utils/security/HexUtils.java +++ b/xhpc-modules/xhpc-common/src/main/java/com/xhpc/pp/utils/HexUtils.java @@ -1,4 +1,4 @@ -package com.xhpc.pp.utils.security; +package com.xhpc.pp.utils; import org.apache.commons.lang3.ArrayUtils; @@ -182,12 +182,16 @@ public class HexUtils { // System.out.println(Integer.parseInt("FF00", 16)); // System.out.println(reverseHexInt("FF00")); - byte[] data1 = toBytes(reverseHex("10270000")); - System.out.println(toInteger(data1, 0, 4)); - System.out.println(reverseHexInt("A0860100")); +// byte[] data1 = toBytes(reverseHex("10270000")); +// System.out.println(toInteger(data1, 0, 4)); + System.out.println(reverseHexInt("D80E")); + System.out.println(toHexInt(3800)); // System.out.println(toHexInt(100000)); // System.out.println(toBits("1000")); - System.out.println(toHex(new byte[]{104, 13, 19, 123, 0, 3, 105, -123, 71, -123, -106, 50, 84, 1, 0, 72, 106, 104, -94, 19, 124, 0, 59, 105, -123, 71, -123, -106, 50, 84, 1, 33, 9, 24, 9, 67, 57, 0, 2, 105, -123, 71, -123, -106, 50, 84, 1, -88, 97, 43, 9, 50, 9, 21, 48, 117, 50, 9, 50, 9, 21, -64, 87, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -40, 83, 1, 0})); +// System.out.println(toHex(new byte[]{104, 13, 19, 123, 0, 3, 105, -123, 71, -123, -106, 50, 84, 1, 0, 72, 106, 104, +// -94, 19, 124, 0, 59, 105, -123, 71, -123, -106, 50, 84, 1, 33, 9, 24, 9, 67, 57, 0, 2, 105, -123, 71, -123, -106, +// 50, 84, 1, -88, 97, 43, 9, 50, 9, 21, 48, 117, 50, 9, 50, 9, 21, -64, 87, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +// -40, 83, 1, 0})); } 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 dd95fe72..77b50194 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 @@ -9,9 +9,9 @@ import com.xhpc.common.core.utils.HttpUtils; import com.xhpc.common.data.down.StartChargingData; import com.xhpc.pp.logic.RateModelRequestLogic; import com.xhpc.pp.server.ChargingPileServer; +import com.xhpc.pp.utils.HexUtils; import com.xhpc.pp.utils.security.CRCCalculator; import com.xhpc.pp.utils.security.CacheDataUtils; -import com.xhpc.pp.utils.security.HexUtils; import org.apache.commons.lang3.ArrayUtils; import org.quickserver.net.server.ClientHandler; import org.slf4j.Logger; @@ -29,7 +29,7 @@ import static com.xhpc.common.data.redis.StaticBeanUtil.REDIS; import static com.xhpc.common.data.redis.StaticBeanUtil.seqHex; import static com.xhpc.pp.logic.RegisterLogic.REGISTERED; import static com.xhpc.pp.server.ChargingPileServer.*; -import static com.xhpc.pp.utils.security.HexUtils.toHexInt; +import static com.xhpc.pp.utils.HexUtils.toHexInt; @RestController public class ChargingController { 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 91c6c304..46747ab4 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 @@ -2,7 +2,7 @@ package com.xhpc.pp.controller; import com.xhpc.common.api.dto.ChargingStationDto; import com.xhpc.common.core.domain.R; -import com.xhpc.pp.utils.security.HexUtils; +import com.xhpc.pp.utils.HexUtils; import lombok.extern.slf4j.Slf4j; import org.quickserver.net.server.ClientHandler; import org.springframework.web.bind.annotation.*; diff --git a/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/logic/HBLogic.java b/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/logic/HBLogic.java index a85e8065..34a3a0b8 100644 --- a/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/logic/HBLogic.java +++ b/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/logic/HBLogic.java @@ -3,8 +3,8 @@ package com.xhpc.pp.logic; import com.xhpc.pp.tx.ServiceParameter; import com.xhpc.pp.tx.ServiceResult; import com.xhpc.pp.tx.logic.ServiceLogic; +import com.xhpc.pp.utils.HexUtils; import com.xhpc.pp.utils.security.CRCCalculator; -import com.xhpc.pp.utils.security.HexUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.context.annotation.Lazy; diff --git a/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/logic/OrderDataLogic.java b/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/logic/OrderDataLogic.java index e192d7b4..1a0190a7 100644 --- a/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/logic/OrderDataLogic.java +++ b/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/logic/OrderDataLogic.java @@ -8,8 +8,8 @@ import com.xhpc.common.data.up.OrderData; import com.xhpc.pp.tx.ServiceParameter; import com.xhpc.pp.tx.ServiceResult; import com.xhpc.pp.tx.logic.ServiceLogic; +import com.xhpc.pp.utils.HexUtils; import com.xhpc.pp.utils.security.CRCCalculator; -import com.xhpc.pp.utils.security.HexUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; diff --git a/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/logic/RateModelRequestLogic.java b/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/logic/RateModelRequestLogic.java index 61f34224..a2deb45c 100644 --- a/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/logic/RateModelRequestLogic.java +++ b/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/logic/RateModelRequestLogic.java @@ -7,8 +7,8 @@ import com.xhpc.common.data.redis.CacheRateModel; import com.xhpc.pp.tx.ServiceParameter; import com.xhpc.pp.tx.ServiceResult; import com.xhpc.pp.tx.logic.ServiceLogic; +import com.xhpc.pp.utils.HexUtils; import com.xhpc.pp.utils.security.CRCCalculator; -import com.xhpc.pp.utils.security.HexUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.context.annotation.Lazy; @@ -18,7 +18,7 @@ import java.util.Map; import static com.xhpc.common.data.redis.StaticBeanUtil.REDIS; import static com.xhpc.common.data.redis.StaticBeanUtil.seqHex; -import static com.xhpc.pp.utils.security.HexUtils.toHexInt; +import static com.xhpc.pp.utils.HexUtils.toHexInt; @Lazy @Component("RateModelRequestLogic") diff --git a/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/logic/RateModelValidateLogic.java b/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/logic/RateModelValidateLogic.java index d44244d6..ee9719d7 100644 --- a/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/logic/RateModelValidateLogic.java +++ b/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/logic/RateModelValidateLogic.java @@ -4,8 +4,8 @@ import com.xhpc.common.api.dto.ChargingStationDto; import com.xhpc.pp.tx.ServiceParameter; import com.xhpc.pp.tx.ServiceResult; import com.xhpc.pp.tx.logic.ServiceLogic; +import com.xhpc.pp.utils.HexUtils; import com.xhpc.pp.utils.security.CRCCalculator; -import com.xhpc.pp.utils.security.HexUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.context.annotation.Lazy; diff --git a/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/logic/RealtimeDataLogic.java b/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/logic/RealtimeDataLogic.java index 2e38dc9f..3053d3bb 100644 --- a/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/logic/RealtimeDataLogic.java +++ b/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/logic/RealtimeDataLogic.java @@ -26,9 +26,9 @@ import java.util.Map; import static com.xhpc.common.data.redis.StaticBeanUtil.REDIS; import static com.xhpc.pp.server.ChargingPileServer.default_version; +import static com.xhpc.pp.utils.HexUtils.reverseHexInt; +import static com.xhpc.pp.utils.HexUtils.toBits; import static com.xhpc.pp.utils.security.CacheDataUtils.reflectTranslate; -import static com.xhpc.pp.utils.security.HexUtils.reverseHexInt; -import static com.xhpc.pp.utils.security.HexUtils.toBits; @Lazy @Component("RealtimeDataLogic") @@ -125,7 +125,7 @@ public class RealtimeDataLogic implements ServiceLogic { realtimeDataList.add(cacheRealtimeData); Integer cacheStartSoc = (Integer) cacheOrder.get("startSoc"); if (cacheStartSoc == null && socInt != 0) cacheOrder.put("startSoc", socInt); - cacheOrder.put("endSoc", socInt); + if (socInt != 0) cacheOrder.put("endSoc", socInt); // cacheOrder.put("em", realtimeData.()); //todo 实时时段明细数据是否由桩直接上传? cacheOrder.put("rbalance", balance); cacheOrder.put("remainingTime", tr); 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 b170a620..69a32c7e 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 @@ -4,8 +4,8 @@ import com.xhpc.evcs.dto.ConnectorStatusInfo; import com.xhpc.pp.tx.ServiceParameter; import com.xhpc.pp.tx.ServiceResult; import com.xhpc.pp.tx.logic.ServiceLogic; +import com.xhpc.pp.utils.HexUtils; import com.xhpc.pp.utils.security.CRCCalculator; -import com.xhpc.pp.utils.security.HexUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.context.annotation.Lazy; 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 0c7b7765..49da5c1e 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 @@ -9,9 +9,9 @@ import com.xhpc.pp.logic.ServiceMainLogic; import com.xhpc.pp.tx.ServiceParameter; import com.xhpc.pp.tx.ServiceResult; import com.xhpc.pp.tx.TxException; +import com.xhpc.pp.utils.HexUtils; import com.xhpc.pp.utils.SpringContextHolder; import com.xhpc.pp.utils.security.CRCCalculator; -import com.xhpc.pp.utils.security.HexUtils; import org.apache.commons.lang3.ArrayUtils; import org.quickserver.net.server.ClientBinaryHandler; import org.quickserver.net.server.ClientHandler; @@ -26,10 +26,10 @@ import static com.xhpc.common.data.redis.StaticBeanUtil.REDIS; import static com.xhpc.common.data.redis.StaticBeanUtil.seqHex; import static com.xhpc.pp.server.ChargingPileServer.removeHandler; import static com.xhpc.pp.tx.ServiceResult.OK; +import static com.xhpc.pp.utils.HexUtils.toHex; import static com.xhpc.pp.utils.security.CP56Time2a.toCp56Hex; import static com.xhpc.pp.utils.security.CRCCalculator.calcCrc; import static com.xhpc.pp.utils.security.CacheDataUtils.hori2; -import static com.xhpc.pp.utils.security.HexUtils.toHex; public class ChargingPileBinaryHandler implements ClientBinaryHandler { 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 b4bc8ab1..96edaa3f 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 @@ -1,7 +1,7 @@ package com.xhpc.pp.server; import com.xhpc.pp.logic.FieldLogic; -import com.xhpc.pp.utils.security.HexUtils; +import com.xhpc.pp.utils.HexUtils; import org.quickserver.net.server.ClientHandler; import org.quickserver.net.server.DataMode; import org.quickserver.net.server.DataType; diff --git a/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/utils/security/CP56Time2a.java b/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/utils/security/CP56Time2a.java index ecf42383..adb90115 100644 --- a/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/utils/security/CP56Time2a.java +++ b/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/utils/security/CP56Time2a.java @@ -3,6 +3,7 @@ package com.xhpc.pp.utils.security; import cn.hutool.core.date.DateField; import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; +import com.xhpc.pp.utils.HexUtils; import java.util.Calendar; import java.util.Date; 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 f2245a58..f4a2a79b 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 @@ -1,5 +1,7 @@ package com.xhpc.pp.utils.security; +import com.xhpc.pp.utils.HexUtils; + import java.util.Arrays; public class CRCCalculator { diff --git a/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/utils/security/CacheDataUtils.java b/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/utils/security/CacheDataUtils.java index 0b9069ad..0d6457a5 100644 --- a/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/utils/security/CacheDataUtils.java +++ b/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/utils/security/CacheDataUtils.java @@ -1,6 +1,7 @@ package com.xhpc.pp.utils.security; import cn.hutool.core.date.DateUtil; +import com.xhpc.pp.utils.HexUtils; import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException;