From b40169dff2ac3db6918f3079607bb3a6ae38429f Mon Sep 17 00:00:00 2001 From: ZZ Date: Wed, 17 Nov 2021 20:05:37 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=9F=E4=B8=803rdpty=20operatorid=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/xhpc/evcs/encryption/HMAC.java | 7 +++--- .../evcs/notification/CheckChargeOrders.java | 5 +++-- .../evcs/notification/CoreDispatcher.java | 5 +++-- .../NotificationCancelOrderTask.java | 4 +--- .../NotificationChargeOrderInfo.java | 2 +- ...NotificationChargeOrderInfo4BonusTask.java | 3 +-- .../NotificationChargeOrderInfoTask.java | 4 +--- .../NotificationEquipChargeStatusTask.java | 3 +-- .../NotificationStartChargeResultTask.java | 6 ++--- .../NotificationStationStatusTask.java | 4 +--- .../NotificationStopChargeResultTask.java | 22 +++++++++---------- 11 files changed, 30 insertions(+), 35 deletions(-) diff --git a/evcs-modules/evcs-common/src/main/java/com/xhpc/evcs/encryption/HMAC.java b/evcs-modules/evcs-common/src/main/java/com/xhpc/evcs/encryption/HMAC.java index 808920ae..e586aedb 100644 --- a/evcs-modules/evcs-common/src/main/java/com/xhpc/evcs/encryption/HMAC.java +++ b/evcs-modules/evcs-common/src/main/java/com/xhpc/evcs/encryption/HMAC.java @@ -13,9 +13,10 @@ public class HMAC { public static void main(String[] args) throws Exception { - System.out.println(hmacDigest("7pogCkwDx5hTmTIimBzlVfl9Qg7RJql+/wqhg2ZvjH2h+ZIGE5wePtN" + - "+8TIWseHCPwFZIuw02rY3cV8Q9vgbZMCIdH0CD8SOEdFG7N/2+nfF5liwqUwfM/qKICuiKUQJ9coaOt0lAP85jnQqBITCUDywEau1pO" + - "/viFHACpx2OnzyVolyrHc8KjrHSe3VdrHh6lsvDaCamzb79dN96WHTSxuXSuFmDNbJqUvPE0pUicRyc7YYj77OjAaxqeqEO9Sq2Nkf5cG6vfl+UZyKXM5r0YdLrDq8VBLfZn88tJf7D7HQtbtff3XDSrjrK5FSGAp56mlYkQ60+Ia2X0CvJeKa9XyJ14GM/9qaOslOC64F2p4=", "wAeYIVQUwd0iGZsV", "HmacMD5"/*"HmacSHA1"*/)); + System.out.println(hmacDigest("MA005DBW1ywyEEd5aKPJOTraAY/gXB45odqp5Axj1BXk+4tvClkdXyWpD/EfoC1w7mCwkCICPseWumr" + + "iDz4CJW2GKaTdaVmmx5GDa+LlLMJvcFEgXgJZDypWLeRW4ijOjsQ+MrXafhaDfd5zMPYyhEXNhe4UXzK/70vCRNOCltcM" + + "+iXsZJcHBFna0mk5" + + "Dl8/o0WZF3tym20211117191615987", "wAeYIVQUwd0iGZsV", "HmacMD5"/*"HmacSHA1"*/)); } public static String hmacDigest(String operatorID, String data, String timestamp, String seq, String keyString) { diff --git a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/notification/CheckChargeOrders.java b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/notification/CheckChargeOrders.java index fb1d830f..b88c79a4 100644 --- a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/notification/CheckChargeOrders.java +++ b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/notification/CheckChargeOrders.java @@ -101,8 +101,9 @@ public class CheckChargeOrders extends CoreDispatcher { commonRequest.setData(jsonData); //推送并处理推送结果 - String result = ok(commonRequest, "/check_charge_orders", authSecretTokenOut, operatorId3rdpty); - CheckChargeOrderResponseData checkChargeOrderResponseData = JSONUtil.readParams(result, CheckChargeOrderResponseData.class); + String result = ok(commonRequest, "/check_charge_orders", authSecretTokenOut); + CheckChargeOrderResponseData checkChargeOrderResponseData = JSONUtil.readParams(result, + CheckChargeOrderResponseData.class); if (checkChargeOrderResponseData.getDisputeOrders() == null) { //没有争议订单 REDIS.deleteObject(pushOrderKey); diff --git a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/notification/CoreDispatcher.java b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/notification/CoreDispatcher.java index 428c9c69..f007a565 100644 --- a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/notification/CoreDispatcher.java +++ b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/notification/CoreDispatcher.java @@ -44,7 +44,7 @@ public class CoreDispatcher { public static final okhttp3.MediaType JSON = okhttp3.MediaType.parse("application/json; charset=utf-8"); @Transactional - public String ok(Object object, String url, AuthSecretToken authSecretTokenOut, String operatorID) { + public String ok(Object object, String url, AuthSecretToken authSecretTokenOut) { if (authSecretTokenOut == null) { log.error("authSecretTokenOut is null"); @@ -65,12 +65,13 @@ public class CoreDispatcher { try { if (object.getClass().getSimpleName().equals("CommonRequest")) { CommonRequest commonRequest = (CommonRequest) object; + commonRequest.setOperatorId(authSecretTokenOut.getOperatorId()); Date tokenExpiry = authSecretTokenOut.getTokenExpiry(); String originalData = commonRequest.getData(); String tData; if (tokenExpiry == null || tokenExpiry.before(cal.getTime())) { TokenRequest tokenRequest = new TokenRequest(); - tokenRequest.setOperatorId(operatorID); + tokenRequest.setOperatorId(authSecretTokenOut.getOperatorId()); tokenRequest.setOperatorSecret(authSecretTokenOut.getOperatorSecret()); commonRequest.setData(JSONUtil.toJSONString(tokenRequest)); tData = JSONUtil.toJSONString(commonRequest); diff --git a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/notification/NotificationCancelOrderTask.java b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/notification/NotificationCancelOrderTask.java index 1136aeff..14e4206b 100644 --- a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/notification/NotificationCancelOrderTask.java +++ b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/notification/NotificationCancelOrderTask.java @@ -75,13 +75,11 @@ public class NotificationCancelOrderTask extends CoreDispatcher { public void notify(CancelOrderRequest cancelOrderRequest, AuthSecretToken authSecretTokenOut, String orderNo) throws JsonProcessingException { - String operatorIdEvcs = "MA6DFCTD5"; String data = JSONUtil.toJSONString(cancelOrderRequest); //logger.debug(data); CommonRequest commonRequest = new CommonRequest<>(); - commonRequest.setOperatorId(operatorIdEvcs); commonRequest.setData(data); - String responseBody = ok(commonRequest, "/notification_cancel_order", authSecretTokenOut, operatorIdEvcs); + String responseBody = ok(commonRequest, "/notification_cancel_order", authSecretTokenOut); CancelOrderResponse cancelOrderResponse = DTOJsonHelper.parseResponseData(responseBody, CancelOrderResponse.class, authSecretTokenOut); if (null != cancelOrderResponse) { diff --git a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/notification/NotificationChargeOrderInfo.java b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/notification/NotificationChargeOrderInfo.java index d78ab697..0552c3de 100644 --- a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/notification/NotificationChargeOrderInfo.java +++ b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/notification/NotificationChargeOrderInfo.java @@ -101,7 +101,7 @@ public class NotificationChargeOrderInfo extends CoreDispatcher { //将其转换为json String jsonData = JSONUtil.toJSONString(chargeOrderInfo); commonRequest.setData(jsonData); - String result = ok(commonRequest, "/notification_charge_order_info", authSecretTokenOut, operatorId3rdpty); + String result = ok(commonRequest, "/notification_charge_order_info", authSecretTokenOut); ChargeOrderInfoResponse chargeOrderInfoResponse = JSONUtil.readParams(result, ChargeOrderInfoResponse.class); Integer confirmResult = chargeOrderInfoResponse.getConfirmResult(); diff --git a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/notification/NotificationChargeOrderInfo4BonusTask.java b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/notification/NotificationChargeOrderInfo4BonusTask.java index 8f4a37f8..a943a44c 100644 --- a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/notification/NotificationChargeOrderInfo4BonusTask.java +++ b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/notification/NotificationChargeOrderInfo4BonusTask.java @@ -78,9 +78,8 @@ public class NotificationChargeOrderInfo4BonusTask extends CoreDispatcher { String data = JSONUtil.toJSONString(cdChargeOrderInfo4BonusReq); logger.debug(data); CommonRequest commonRequest = new CommonRequest<>(); - commonRequest.setOperatorId(operatorIdEvcs); commonRequest.setData(data); - String responseBody = ok(commonRequest, "/notification_charge_order_info_for_bonus", authSecretTokenOut, operatorIdEvcs); + String responseBody = ok(commonRequest, "/notification_charge_order_info_for_bonus", authSecretTokenOut); CDChargeOrder4BonusInfoRes cdChargeOrder4BonusInfoRes = DTOJsonHelper.parseResponseData(responseBody, CDChargeOrder4BonusInfoRes.class, authSecretTokenOut); if (cdChargeOrder4BonusInfoRes != null && cdChargeOrder4BonusInfoRes.getConfirmResult() == 0) { diff --git a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/notification/NotificationChargeOrderInfoTask.java b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/notification/NotificationChargeOrderInfoTask.java index 081f5bc3..9226f8b2 100644 --- a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/notification/NotificationChargeOrderInfoTask.java +++ b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/notification/NotificationChargeOrderInfoTask.java @@ -59,12 +59,10 @@ public class NotificationChargeOrderInfoTask extends CoreDispatcher { public ChargeOrderInfoResponse notify(ChargeOrderInfo chargeOrderInfo, AuthSecretToken authSecretTokenOut) throws JsonProcessingException { - String operatorIdEvcs = "MA6DFCTD5"; String data = JSONUtil.toJSONString(chargeOrderInfo); CommonRequest commonRequest = new CommonRequest<>(); - commonRequest.setOperatorId(operatorIdEvcs); commonRequest.setData(data); - String responseBody = ok(commonRequest, "/notification_charge_order_info", authSecretTokenOut, operatorIdEvcs); + String responseBody = ok(commonRequest, "/notification_charge_order_info", authSecretTokenOut); return DTOJsonHelper.parseResponseData(responseBody, ChargeOrderInfoResponse.class, authSecretTokenOut); } diff --git a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/notification/NotificationEquipChargeStatusTask.java b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/notification/NotificationEquipChargeStatusTask.java index 51a17331..b24ef946 100644 --- a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/notification/NotificationEquipChargeStatusTask.java +++ b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/notification/NotificationEquipChargeStatusTask.java @@ -199,9 +199,8 @@ public class NotificationEquipChargeStatusTask extends CoreDispatcher { CommonRequest commonRequest = new CommonRequest<>(); final String operatorId = authSecretTokenOut.getOperatorId3irdpty().equals("765367656") ? authSecretTokenOut.getOperatorId() : "MA6DFCTD5"; - commonRequest.setOperatorId(operatorId); commonRequest.setData(data); - String responseBody = ok(commonRequest, "/notification_equip_charge_status", authSecretTokenOut, operatorId); + String responseBody = ok(commonRequest, "/notification_equip_charge_status", authSecretTokenOut); EquipChargeStatusRes equipChargeStatusRes = DTOJsonHelper.parseResponseData(responseBody, EquipChargeStatusRes.class, authSecretTokenOut); if (equipChargeStatusRes != null && equipChargeStatusRes.getSuccStat() != 0) { diff --git a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/notification/NotificationStartChargeResultTask.java b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/notification/NotificationStartChargeResultTask.java index 796ff65d..5a04bbe0 100644 --- a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/notification/NotificationStartChargeResultTask.java +++ b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/notification/NotificationStartChargeResultTask.java @@ -69,10 +69,10 @@ public class NotificationStartChargeResultTask extends CoreDispatcher { String data = JSONUtil.toJSONString(notificationStartChargeResultRequestData); logger.debug(data); CommonRequest commonRequest = new CommonRequest<>(); - commonRequest.setOperatorId(operatorIdEvcs); commonRequest.setData(data); - String responseBody = ok(commonRequest, "/notification_start_charge_result", authSecretTokenOut, operatorIdEvcs); - NotificationStartStopChargeResultResponse notificationStartStopChargeResultResponse = DTOJsonHelper.parseResponseData(responseBody, + String responseBody = ok(commonRequest, "/notification_start_charge_result", authSecretTokenOut); + NotificationStartStopChargeResultResponse notificationStartStopChargeResultResponse = + DTOJsonHelper.parseResponseData(responseBody, NotificationStartStopChargeResultResponse.class, authSecretTokenOut); if (null != notificationStartStopChargeResultResponse) { //Ensuring that only when startChargeNotificationStat equals 1 won't be notified. diff --git a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/notification/NotificationStationStatusTask.java b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/notification/NotificationStationStatusTask.java index 1a11668d..64521dc6 100644 --- a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/notification/NotificationStationStatusTask.java +++ b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/notification/NotificationStationStatusTask.java @@ -104,10 +104,8 @@ public class NotificationStationStatusTask extends CoreDispatcher { connectorStatusInfoReq.setConnectorStatusInfo(connectorStatusInfo); String data = JSONUtil.toJSONString(connectorStatusInfoReq); CommonRequest commonRequest = new CommonRequest<>(); - commonRequest.setOperatorId(operatorId);//connectorStatusInfo.getOperatorID()); todo fig error commonRequest.setData(data); - String responseBody = ok(commonRequest, "/notification_stationStatus", authSecretTokenOut, - connectorStatusInfo.getOperatorID()); + String responseBody = ok(commonRequest, "/notification_stationStatus", authSecretTokenOut, ); EvcsStatus status = DTOJsonHelper.parseResponseData(responseBody, EvcsStatus.class, authSecretTokenOut); if (status == null || status.getStatus() != 0) { log.error(String.format("push station status connector[%s] failed: %s", diff --git a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/notification/NotificationStopChargeResultTask.java b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/notification/NotificationStopChargeResultTask.java index c1af9662..ec4c83f6 100644 --- a/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/notification/NotificationStopChargeResultTask.java +++ b/evcs-modules/evcs-core/src/main/java/com/xhpc/evcs/notification/NotificationStopChargeResultTask.java @@ -62,7 +62,7 @@ public class NotificationStopChargeResultTask extends CoreDispatcher { AuthSecretToken authSecretTokenOut = authSecretTokenRepository.findByOperatorId3irdptyAndSecretTokenType(operatorId3rdpty, SECRET_TOKEN_TYPE_OUT).orElse(null); - CommonRequest chargeResultRequestCommonRequest = new CommonRequest<>(); + CommonRequest commonRequest = new CommonRequest<>(); ChargeResultRequest chargeResultRequest = new ChargeResultRequest(); if (stopCommandSent) { //获取内部的充电订单号 @@ -82,19 +82,19 @@ public class NotificationStopChargeResultTask extends CoreDispatcher { chargeResultRequest.setFailReason(failReason); //将其转换为json - chargeResultRequestCommonRequest.setOperatorId(operatorId3rdpty); String jsonData = JSONUtil.toJSONString(chargeResultRequest); - chargeResultRequestCommonRequest.setData(jsonData); - String result = ok(chargeResultRequestCommonRequest, "/notification_stop_charge_result", - authSecretTokenOut, operatorId3rdpty); + commonRequest.setData(jsonData); + String result = ok(commonRequest, "/notification_stop_charge_result", authSecretTokenOut); ChargeResultResponse chargeResultResponse = DTOJsonHelper.parseResponseData(result, ChargeResultResponse.class, authSecretTokenOut); - succStat = chargeResultResponse.getSuccStat(); - //推送成功则排除这个已推送的订单,否则则继续推送该订单 - //将stopCommandSent置为null,表示推送成功之后该订单都不进行推送 - if (succStat == 0) { - pushOrder.replace("stopCommandSent", null); - REDIS.setCacheMap(pushOrderKey, pushOrder); + if (chargeResultResponse != null) { + succStat = chargeResultResponse.getSuccStat(); + //推送成功则排除这个已推送的订单,否则则继续推送该订单 + //将stopCommandSent置为null,表示推送成功之后该订单都不进行推送 + if (succStat == 0) { + pushOrder.replace("stopCommandSent", null); + REDIS.setCacheMap(pushOrderKey, pushOrder); + } } } }