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 04e727c65..d21737ebc 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 @@ -3001,22 +3001,16 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService { OrderBasicInfo orderInfo = this.getOrderInfoByOrderCode(dto.getOrderCode()); BigDecimal payAmount = dto.getPayAmount(); - // 修改订单 - orderInfo.setPayMode(dto.getPayMode()); - orderInfo.setPayStatus(Constants.ONE); - orderInfo.setPayAmount(payAmount); - orderInfo.setPayTime(new Date()); - this.updateOrderBasicInfo(orderInfo); - // 是否发送启动指令 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; + } else if (OrderStatusEnum.STAY_RETROACTIVE_AMOUNT.getValue().equals(orderInfo.getOrderStatus())) { + sendStartCharging = false; } if (sendStartCharging) { @@ -3032,6 +3026,17 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService { pileRemoteService.remoteStartCharging(pileSn, orderInfo.getConnectorCode(), orderInfo.getTransactionCode(), chargeAmount); logger.info("订单:{}支付成功, 发送启动指令", dto.getOrderCode()); } + + // 修改订单 + orderInfo.setPayMode(dto.getPayMode()); + orderInfo.setPayStatus(OrderPayStatusEnum.paid.getValue()); + BigDecimal orderPayAmount = orderInfo.getPayAmount() == null ? BigDecimal.ZERO : orderInfo.getPayAmount(); + orderInfo.setPayAmount(orderPayAmount.add(payAmount)); + orderInfo.setPayTime(new Date()); + if (OrderStatusEnum.STAY_RETROACTIVE_AMOUNT.getValue().equals(orderInfo.getOrderStatus())) { + orderInfo.setOrderStatus(OrderStatusEnum.ORDER_COMPLETE.getValue()); + } + this.updateOrderBasicInfo(orderInfo); } /**