diff --git a/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java b/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java index a22e995b6..2601549df 100644 --- a/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java +++ b/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java @@ -210,7 +210,7 @@ public class OrderService { .payAmount(payAmount) .payMode(payMode) .build(); - payOrderSuccessCallback(callbackDTO); + orderBasicInfoService.payOrderSuccessCallback(callbackDTO); } /** @@ -399,7 +399,7 @@ public class OrderService { .payAmount(chargeAmount) .payMode(dto.getPayMode()) .build(); - payOrderSuccessCallback(callbackDTO); + orderBasicInfoService.payOrderSuccessCallback(callbackDTO); // 余额支付订单 记录会员交易流水 MemberTransactionRecord record = MemberTransactionRecord.builder() @@ -425,7 +425,7 @@ public class OrderService { * 1. 修改订单支付状态 * 2. 发送启动充电指令 */ - public void payOrderSuccessCallback(PayOrderSuccessCallbackDTO dto) { + /*public void payOrderSuccessCallback(PayOrderSuccessCallbackDTO dto) { OrderBasicInfo orderInfo = orderBasicInfoService.getOrderInfoByOrderCode(dto.getOrderCode()); BigDecimal payAmount = dto.getPayAmount(); @@ -452,7 +452,7 @@ public class OrderService { } - } + }*/ /** * 保存订单信息到数据库 @@ -726,7 +726,7 @@ public class OrderService { .payMode(OrderPayModeEnum.PAYMENT_OF_WECHATPAY.getValue()) .build(); // 订单支付成功 支付回调 - payOrderSuccessCallback(callbackDTO); + orderBasicInfoService.payOrderSuccessCallback(callbackDTO); // 记录订单支付流水 OrderPayRecord orderPayRecord = OrderPayRecord.builder() @@ -1363,7 +1363,7 @@ public class OrderService { .payMode(OrderPayModeEnum.PAYMENT_OF_WECHATPAY.getValue()) .build(); // 订单支付成功 支付回调 - payOrderSuccessCallback(callbackDTO); + orderBasicInfoService.payOrderSuccessCallback(callbackDTO); // 记录订单支付流水 OrderPayRecord orderPayRecord = OrderPayRecord.builder() diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/IOrderBasicInfoService.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/IOrderBasicInfoService.java index b28d6bda8..f17877892 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/IOrderBasicInfoService.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/IOrderBasicInfoService.java @@ -291,4 +291,12 @@ public interface IOrderBasicInfoService { Map payOrder(PayOrderDTO dto) throws Exception; void batchRefund(QueryOrderDTO dto); + + /** + * 订单支付成功 支付回调 + * 支付成功后掉用这个方法 + * 1. 修改订单支付状态 + * 2. 发送启动充电指令 + */ + void payOrderSuccessCallback(PayOrderSuccessCallbackDTO dto); } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java index 4925abd34..517838583 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java @@ -2244,7 +2244,8 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { * 1. 修改订单支付状态 * 2. 发送启动充电指令 */ - private void payOrderSuccessCallback(PayOrderSuccessCallbackDTO dto) { + @Override + public void payOrderSuccessCallback(PayOrderSuccessCallbackDTO dto) { OrderBasicInfo orderInfo = this.getOrderInfoByOrderCode(dto.getOrderCode()); BigDecimal payAmount = dto.getPayAmount(); @@ -2256,26 +2257,49 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { this.updateOrderBasicInfo(orderInfo); // 如果是鉴权卡启动或者vin启动,不发启动充电指令 - if (!(StringUtils.equals(dto.getStartMode(), StartModeEnum.AUTH_CARD.getValue()) - || StringUtils.equals(dto.getStartMode(), StartModeEnum.VIN_CODE.getValue()))) { + // if (!(StringUtils.equals(dto.getStartMode(), StartModeEnum.AUTH_CARD.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())) { // 立即启动充电 - 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 { // 预约充电 - // 修改枪口状态为 占用预约 + // 是否发送启动指令 + 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(); + // 发送启动充电指令前,再次下发计费模板 + BillingTemplateVO billingTemplateVO = pileBillingTemplateService.selectBillingTemplateDetailByPileSn(pileSn); + if (billingTemplateVO != null) { + pileRemoteService.publishPileBillingTemplate(pileSn, billingTemplateVO); + } + // 发送启动指令 + pileRemoteService.remoteStartCharging(pileSn, orderInfo.getConnectorCode(), orderInfo.getTransactionCode(), orderInfo.getPayAmount()); + } + + } /**