|
@@ -351,12 +351,17 @@ public class WxPayServiceImpl implements WxPayService {
|
|
|
LOGGER.info("微信支付回调{}:业务处理结束", notifyRes[2]);
|
|
LOGGER.info("微信支付回调{}:业务处理结束", notifyRes[2]);
|
|
|
|
|
|
|
|
// 如果存在进行中的订单,则向en+更新用户余额(朗新不支持此操作)
|
|
// 如果存在进行中的订单,则向en+更新用户余额(朗新不支持此操作)
|
|
|
- var chargingOrder = chargeOrderService.getChargingOrderByUserId(walletDetail.getUserId());
|
|
|
|
|
- if (chargingOrder != null && "EN_PLUS".equals(PlatformCache.INSTANCE.getPlatformNameByConnectorId(chargingOrder.getConnectorId()))) {
|
|
|
|
|
- var account = accountService.getAccountByUserId(walletDetail.getUserId());
|
|
|
|
|
- // TODO: 2023-11-30 快充这里考虑过充的金额要提高
|
|
|
|
|
- var res = platformApiService.updateBalanceByQueryEquipChargeStatus(PlatformCache.INSTANCE.getPlatformNameByConnectorId(chargingOrder.getConnectorId()), chargingOrder.getStartChargeSeq(), account.getBalance() - 50);
|
|
|
|
|
- LOGGER.info("用户:{}充电过程中充值,已更新EN_PLUS充电金额,en+返回数据:{}", account.getUserId(), res);
|
|
|
|
|
|
|
+ // 平台同步为附加操作,失败时不能回滚充值事务,仅记录日志待补偿
|
|
|
|
|
+ try {
|
|
|
|
|
+ var chargingOrder = chargeOrderService.getChargingOrderByUserId(walletDetail.getUserId());
|
|
|
|
|
+ if (chargingOrder != null && "EN_PLUS".equals(PlatformCache.INSTANCE.getPlatformNameByConnectorId(chargingOrder.getConnectorId()))) {
|
|
|
|
|
+ var account = accountService.getAccountByUserId(walletDetail.getUserId());
|
|
|
|
|
+ // TODO: 2023-11-30 快充这里考虑过充的金额要提高
|
|
|
|
|
+ var res = platformApiService.updateBalanceByQueryEquipChargeStatus(PlatformCache.INSTANCE.getPlatformNameByConnectorId(chargingOrder.getConnectorId()), chargingOrder.getStartChargeSeq(), account.getBalance() - 50);
|
|
|
|
|
+ LOGGER.info("用户:{}充电过程中充值,已更新EN_PLUS充电金额,en+返回数据:{}", account.getUserId(), res);
|
|
|
|
|
+ }
|
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
|
+ LOGGER.error("微信支付回调{}:充值成功,但同步EN_PLUS平台余额失败,用户:{}", notifyRes[2], walletDetail.getUserId(), e);
|
|
|
}
|
|
}
|
|
|
return ResponseEntity.status(HttpStatus.OK).build();
|
|
return ResponseEntity.status(HttpStatus.OK).build();
|
|
|
|
|
|