订单支付成功 支付回调

This commit is contained in:
2023-07-11 17:01:15 +08:00
parent 387af25a40
commit 5246c620d5
3 changed files with 55 additions and 23 deletions

View File

@@ -210,7 +210,7 @@ public class OrderService {
.payAmount(payAmount) .payAmount(payAmount)
.payMode(payMode) .payMode(payMode)
.build(); .build();
payOrderSuccessCallback(callbackDTO); orderBasicInfoService.payOrderSuccessCallback(callbackDTO);
} }
/** /**
@@ -399,7 +399,7 @@ public class OrderService {
.payAmount(chargeAmount) .payAmount(chargeAmount)
.payMode(dto.getPayMode()) .payMode(dto.getPayMode())
.build(); .build();
payOrderSuccessCallback(callbackDTO); orderBasicInfoService.payOrderSuccessCallback(callbackDTO);
// 余额支付订单 记录会员交易流水 // 余额支付订单 记录会员交易流水
MemberTransactionRecord record = MemberTransactionRecord.builder() MemberTransactionRecord record = MemberTransactionRecord.builder()
@@ -425,7 +425,7 @@ public class OrderService {
* 1. 修改订单支付状态 * 1. 修改订单支付状态
* 2. 发送启动充电指令 * 2. 发送启动充电指令
*/ */
public void payOrderSuccessCallback(PayOrderSuccessCallbackDTO dto) { /*public void payOrderSuccessCallback(PayOrderSuccessCallbackDTO dto) {
OrderBasicInfo orderInfo = orderBasicInfoService.getOrderInfoByOrderCode(dto.getOrderCode()); OrderBasicInfo orderInfo = orderBasicInfoService.getOrderInfoByOrderCode(dto.getOrderCode());
BigDecimal payAmount = dto.getPayAmount(); BigDecimal payAmount = dto.getPayAmount();
@@ -452,7 +452,7 @@ public class OrderService {
} }
} }*/
/** /**
* 保存订单信息到数据库 * 保存订单信息到数据库
@@ -726,7 +726,7 @@ public class OrderService {
.payMode(OrderPayModeEnum.PAYMENT_OF_WECHATPAY.getValue()) .payMode(OrderPayModeEnum.PAYMENT_OF_WECHATPAY.getValue())
.build(); .build();
// 订单支付成功 支付回调 // 订单支付成功 支付回调
payOrderSuccessCallback(callbackDTO); orderBasicInfoService.payOrderSuccessCallback(callbackDTO);
// 记录订单支付流水 // 记录订单支付流水
OrderPayRecord orderPayRecord = OrderPayRecord.builder() OrderPayRecord orderPayRecord = OrderPayRecord.builder()
@@ -1363,7 +1363,7 @@ public class OrderService {
.payMode(OrderPayModeEnum.PAYMENT_OF_WECHATPAY.getValue()) .payMode(OrderPayModeEnum.PAYMENT_OF_WECHATPAY.getValue())
.build(); .build();
// 订单支付成功 支付回调 // 订单支付成功 支付回调
payOrderSuccessCallback(callbackDTO); orderBasicInfoService.payOrderSuccessCallback(callbackDTO);
// 记录订单支付流水 // 记录订单支付流水
OrderPayRecord orderPayRecord = OrderPayRecord.builder() OrderPayRecord orderPayRecord = OrderPayRecord.builder()

View File

@@ -291,4 +291,12 @@ public interface IOrderBasicInfoService {
Map<String, Object> payOrder(PayOrderDTO dto) throws Exception; Map<String, Object> payOrder(PayOrderDTO dto) throws Exception;
void batchRefund(QueryOrderDTO dto); void batchRefund(QueryOrderDTO dto);
/**
* 订单支付成功 支付回调
* 支付成功后掉用这个方法
* 1. 修改订单支付状态
* 2. 发送启动充电指令
*/
void payOrderSuccessCallback(PayOrderSuccessCallbackDTO dto);
} }

View File

@@ -2244,7 +2244,8 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
* 1. 修改订单支付状态 * 1. 修改订单支付状态
* 2. 发送启动充电指令 * 2. 发送启动充电指令
*/ */
private void payOrderSuccessCallback(PayOrderSuccessCallbackDTO dto) { @Override
public void payOrderSuccessCallback(PayOrderSuccessCallbackDTO dto) {
OrderBasicInfo orderInfo = this.getOrderInfoByOrderCode(dto.getOrderCode()); OrderBasicInfo orderInfo = this.getOrderInfoByOrderCode(dto.getOrderCode());
BigDecimal payAmount = dto.getPayAmount(); BigDecimal payAmount = dto.getPayAmount();
@@ -2256,10 +2257,38 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
this.updateOrderBasicInfo(orderInfo); this.updateOrderBasicInfo(orderInfo);
// 如果是鉴权卡启动或者vin启动不发启动充电指令 // 如果是鉴权卡启动或者vin启动不发启动充电指令
if (!(StringUtils.equals(dto.getStartMode(), StartModeEnum.AUTH_CARD.getValue()) // if (!(StringUtils.equals(dto.getStartMode(), StartModeEnum.AUTH_CARD.getValue())
|| StringUtils.equals(dto.getStartMode(), StartModeEnum.VIN_CODE.getValue()))) { // || StringUtils.equals(dto.getStartMode(), StartModeEnum.VIN_CODE.getValue()))) {
//
// if (StringUtils.equals(orderInfo.getStartType(), StartTypeEnum.NOW.getValue())) { // 立即启动充电
// String pileSn = orderInfo.getPileSn();
// // 发送启动充电指令前,再次下发计费模板
// BillingTemplateVO billingTemplateVO = pileBillingTemplateService.selectBillingTemplateDetailByPileSn(pileSn);
// if (billingTemplateVO != null) {
// pileRemoteService.publishPileBillingTemplate(pileSn, billingTemplateVO);
// }
// // 发送启动指令
// pileRemoteService.remoteStartCharging(pileSn, orderInfo.getConnectorCode(), orderInfo.getTransactionCode(), orderInfo.getPayAmount());
// } else { // 预约充电
// // 修改枪口状态为 占用预约
//
// // 下发修改充电桩设置指令
//
// }
// }
if (StringUtils.equals(orderInfo.getStartType(), StartTypeEnum.NOW.getValue())) { // 立即启动充电 // 是否发送启动指令
boolean sendStartCharging = true;
if (StartModeEnum.AUTH_CARD.getValue().equals(dto.getStartMode())) {
sendStartCharging = false;
} else if (StartModeEnum.VIN_CODE.getValue().equals(dto.getStartMode())) {
sendStartCharging = false;
} else if (StartTypeEnum.APPOINTMENT.getValue().equals(orderInfo.getStartType())) {
sendStartCharging = false;
}
if (sendStartCharging) {
String pileSn = orderInfo.getPileSn(); String pileSn = orderInfo.getPileSn();
// 发送启动充电指令前,再次下发计费模板 // 发送启动充电指令前,再次下发计费模板
BillingTemplateVO billingTemplateVO = pileBillingTemplateService.selectBillingTemplateDetailByPileSn(pileSn); BillingTemplateVO billingTemplateVO = pileBillingTemplateService.selectBillingTemplateDetailByPileSn(pileSn);
@@ -2268,14 +2297,9 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
} }
// 发送启动指令 // 发送启动指令
pileRemoteService.remoteStartCharging(pileSn, orderInfo.getConnectorCode(), orderInfo.getTransactionCode(), orderInfo.getPayAmount()); pileRemoteService.remoteStartCharging(pileSn, orderInfo.getConnectorCode(), orderInfo.getTransactionCode(), orderInfo.getPayAmount());
} else { // 预约充电
// 修改枪口状态为 占用预约
// 下发修改充电桩设置指令
}
} }
} }
/** /**