|
@@ -187,14 +187,28 @@ public class ChargingReceptionServiceImpl implements ChargingReceptionService {
|
|
|
FirmInfo firmInfo = firmInfoMapper.selectById(chargeOrderInfo.getFirmId());
|
|
FirmInfo firmInfo = firmInfoMapper.selectById(chargeOrderInfo.getFirmId());
|
|
|
String requestBody = com.alibaba.fastjson2.JSONObject.toJSONString(map);
|
|
String requestBody = com.alibaba.fastjson2.JSONObject.toJSONString(map);
|
|
|
if (ObjectUtil.isNotNull(firmInfo)) {
|
|
if (ObjectUtil.isNotNull(firmInfo)) {
|
|
|
- try {
|
|
|
|
|
- JsonNode response = okHttpUtil.doPostJson(firmInfo.getChannelUrl() + "/notification_charge_order_info", requestBody, null);
|
|
|
|
|
- log.info("渠道方推送充电订单信息成功 - chargeOrderNo: {}, firmId: {}, response: {}",
|
|
|
|
|
- chargeOrderInfo.getChargeOrderNo(), chargeOrderInfo.getFirmId(), response);
|
|
|
|
|
- } catch (Exception e) {
|
|
|
|
|
- log.error("渠道方推送充电订单信息失败 - chargeOrderNo: {}, firmId: {}, channelUrl: {}, 错误信息: {}",
|
|
|
|
|
- chargeOrderInfo.getChargeOrderNo(), chargeOrderInfo.getFirmId(),
|
|
|
|
|
- firmInfo.getChannelUrl() + "/notification_charge_order_info", e.getMessage(), e);
|
|
|
|
|
|
|
+ String url = firmInfo.getChannelUrl() + "/notification_charge_order_info";
|
|
|
|
|
+ int maxRetries = 3;
|
|
|
|
|
+ int retryIntervalMs = 5000;
|
|
|
|
|
+ for (int attempt = 1; attempt <= maxRetries; attempt++) {
|
|
|
|
|
+ try {
|
|
|
|
|
+ JsonNode response = okHttpUtil.doPostJson(url, requestBody, null);
|
|
|
|
|
+ log.info("渠道方推送充电订单信息成功 - chargeOrderNo: {}, firmId: {}, response: {}",
|
|
|
|
|
+ chargeOrderInfo.getChargeOrderNo(), chargeOrderInfo.getFirmId(), response);
|
|
|
|
|
+ break;
|
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
|
+ log.error("渠道方推送充电订单信息失败(第{}次) - chargeOrderNo: {}, firmId: {}, channelUrl: {}, 错误信息: {}",
|
|
|
|
|
+ attempt, chargeOrderInfo.getChargeOrderNo(), chargeOrderInfo.getFirmId(), url, e.getMessage(), e);
|
|
|
|
|
+ if (attempt < maxRetries) {
|
|
|
|
|
+ try {
|
|
|
|
|
+ Thread.sleep(retryIntervalMs);
|
|
|
|
|
+ } catch (InterruptedException ie) {
|
|
|
|
|
+ Thread.currentThread().interrupt();
|
|
|
|
|
+ log.warn("重试等待被中断 - chargeOrderNo: {}", chargeOrderInfo.getChargeOrderNo());
|
|
|
|
|
+ break;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
} else {
|
|
} else {
|
|
|
log.warn("渠道方推送充电订单信息失败 - firmInfo为空, chargeOrderNo: {}, firmId: {}",
|
|
log.warn("渠道方推送充电订单信息失败 - firmInfo为空, chargeOrderNo: {}, firmId: {}",
|
|
@@ -462,13 +476,27 @@ public class ChargingReceptionServiceImpl implements ChargingReceptionService {
|
|
|
String url = firmInfo.getChannelUrl() + "/notification_start_charge_result";
|
|
String url = firmInfo.getChannelUrl() + "/notification_start_charge_result";
|
|
|
String requestBody = com.alibaba.fastjson2.JSONObject.toJSONString(map);
|
|
String requestBody = com.alibaba.fastjson2.JSONObject.toJSONString(map);
|
|
|
|
|
|
|
|
- try {
|
|
|
|
|
- JsonNode response = okHttpUtil.doPostJson(url, requestBody, null);
|
|
|
|
|
- log.info("推送启动充电结果成功 - StartChargeSeq: {}, chargeOrderNo: {}, url: {}, response: {}",
|
|
|
|
|
- startChargeSeq, chargeOrderInfo.getChargeOrderNo(), url, response);
|
|
|
|
|
- } catch (Exception e) {
|
|
|
|
|
- log.error("推送启动充电结果失败 - StartChargeSeq: {}, chargeOrderNo: {}, url: {}, requestBody: {}",
|
|
|
|
|
- startChargeSeq, chargeOrderInfo.getChargeOrderNo(), url, requestBody, e);
|
|
|
|
|
|
|
+ int maxRetries = 3;
|
|
|
|
|
+ int retryIntervalMs = 5000;
|
|
|
|
|
+ for (int attempt = 1; attempt <= maxRetries; attempt++) {
|
|
|
|
|
+ try {
|
|
|
|
|
+ JsonNode response = okHttpUtil.doPostJson(url, requestBody, null);
|
|
|
|
|
+ log.info("推送启动充电结果成功 - StartChargeSeq: {}, chargeOrderNo: {}, url: {}, response: {}",
|
|
|
|
|
+ startChargeSeq, chargeOrderInfo.getChargeOrderNo(), url, response);
|
|
|
|
|
+ break;
|
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
|
+ log.error("推送启动充电结果失败(第{}次) - StartChargeSeq: {}, chargeOrderNo: {}, url: {}, requestBody: {}",
|
|
|
|
|
+ attempt, startChargeSeq, chargeOrderInfo.getChargeOrderNo(), url, requestBody, e);
|
|
|
|
|
+ if (attempt < maxRetries) {
|
|
|
|
|
+ try {
|
|
|
|
|
+ Thread.sleep(retryIntervalMs);
|
|
|
|
|
+ } catch (InterruptedException ie) {
|
|
|
|
|
+ Thread.currentThread().interrupt();
|
|
|
|
|
+ log.warn("重试等待被中断 - StartChargeSeq: {}", startChargeSeq);
|
|
|
|
|
+ break;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -559,13 +587,28 @@ public class ChargingReceptionServiceImpl implements ChargingReceptionService {
|
|
|
map.put("status", SystemConstants.STATUS_TWO);
|
|
map.put("status", SystemConstants.STATUS_TWO);
|
|
|
String url = firmInfo.getChannelUrl() + "/notification_stop_charge_result";
|
|
String url = firmInfo.getChannelUrl() + "/notification_stop_charge_result";
|
|
|
String requestBody = new JSONObject(map).toString();
|
|
String requestBody = new JSONObject(map).toString();
|
|
|
- try {
|
|
|
|
|
- JsonNode response = okHttpUtil.doPostJson(url, requestBody, null);
|
|
|
|
|
- log.info("推送停止充电结果成功 - StartChargeSeq: {}, chargeOrderNo: {}, url: {}, response: {}",
|
|
|
|
|
- startChargeSeq, chargeOrderInfo.getChargeOrderNo(), url, response);
|
|
|
|
|
- } catch (Exception e) {
|
|
|
|
|
- log.error("推送停止充电结果失败 - StartChargeSeq: {}, chargeOrderNo: {}, url: {}, params: {}",
|
|
|
|
|
- startChargeSeq, chargeOrderInfo.getChargeOrderNo(), url, map, e);
|
|
|
|
|
|
|
+
|
|
|
|
|
+ int maxRetries = 3;
|
|
|
|
|
+ int retryIntervalMs = 5000;
|
|
|
|
|
+ for (int attempt = 1; attempt <= maxRetries; attempt++) {
|
|
|
|
|
+ try {
|
|
|
|
|
+ JsonNode response = okHttpUtil.doPostJson(url, requestBody, null);
|
|
|
|
|
+ log.info("推送停止充电结果成功 - StartChargeSeq: {}, chargeOrderNo: {}, url: {}, response: {}",
|
|
|
|
|
+ startChargeSeq, chargeOrderInfo.getChargeOrderNo(), url, response);
|
|
|
|
|
+ break;
|
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
|
+ log.error("推送停止充电结果失败(第{}次) - StartChargeSeq: {}, chargeOrderNo: {}, url: {}, params: {}",
|
|
|
|
|
+ attempt, startChargeSeq, chargeOrderInfo.getChargeOrderNo(), url, map, e);
|
|
|
|
|
+ if (attempt < maxRetries) {
|
|
|
|
|
+ try {
|
|
|
|
|
+ Thread.sleep(retryIntervalMs);
|
|
|
|
|
+ } catch (InterruptedException ie) {
|
|
|
|
|
+ Thread.currentThread().interrupt();
|
|
|
|
|
+ log.warn("重试等待被中断 - StartChargeSeq: {}", startChargeSeq);
|
|
|
|
|
+ break;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -836,7 +879,7 @@ public class ChargingReceptionServiceImpl implements ChargingReceptionService {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
//异步推送渠道方充电状态
|
|
//异步推送渠道方充电状态
|
|
|
- if(SystemConstants.CHARGE_ORDER_TYPE_CHANNEL.equals(chargeOrderInfo.getOrderType())){
|
|
|
|
|
|
|
+ if(ObjectUtil.isNotEmpty(chargeOrderInfo) && SystemConstants.CHARGE_ORDER_TYPE_CHANNEL.equals(chargeOrderInfo.getOrderType())){
|
|
|
pushChargeStatusTask(startChargeSeq, chargeStatus);
|
|
pushChargeStatusTask(startChargeSeq, chargeStatus);
|
|
|
}
|
|
}
|
|
|
|
|
|