统一3rdpty operatorid逻辑

This commit is contained in:
ZZ 2021-11-17 20:05:37 +08:00
parent bac443fb27
commit b40169dff2
11 changed files with 30 additions and 35 deletions

View File

@ -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) {

View File

@ -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);

View File

@ -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);

View File

@ -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<CancelOrderRequest> 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) {

View File

@ -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();

View File

@ -78,9 +78,8 @@ public class NotificationChargeOrderInfo4BonusTask extends CoreDispatcher {
String data = JSONUtil.toJSONString(cdChargeOrderInfo4BonusReq);
logger.debug(data);
CommonRequest<CDChargeOrderInfo4BonusReq> 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) {

View File

@ -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<ChargeOrderInfo> 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);
}

View File

@ -199,9 +199,8 @@ public class NotificationEquipChargeStatusTask extends CoreDispatcher {
CommonRequest<CDChargeOrderInfo4BonusReq> 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) {

View File

@ -69,10 +69,10 @@ public class NotificationStartChargeResultTask extends CoreDispatcher {
String data = JSONUtil.toJSONString(notificationStartChargeResultRequestData);
logger.debug(data);
CommonRequest<NotificationStartChargeResultRequestData> 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.

View File

@ -104,10 +104,8 @@ public class NotificationStationStatusTask extends CoreDispatcher {
connectorStatusInfoReq.setConnectorStatusInfo(connectorStatusInfo);
String data = JSONUtil.toJSONString(connectorStatusInfoReq);
CommonRequest<ConnectorStatusInfoReq> 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",

View File

@ -62,7 +62,7 @@ public class NotificationStopChargeResultTask extends CoreDispatcher {
AuthSecretToken authSecretTokenOut =
authSecretTokenRepository.findByOperatorId3irdptyAndSecretTokenType(operatorId3rdpty,
SECRET_TOKEN_TYPE_OUT).orElse(null);
CommonRequest<ChargeResultRequest> chargeResultRequestCommonRequest = new CommonRequest<>();
CommonRequest<ChargeResultRequest> 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);
}
}
}
}