update 并充逻辑

This commit is contained in:
Lemon
2025-06-19 14:51:31 +08:00
parent 5344d63aea
commit 168259421a
3 changed files with 28 additions and 2 deletions

View File

@@ -4522,6 +4522,12 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
*/
@Override
public OrderBasicInfo saveOrderForEV(GenerateOrderDTO dto) throws ParseException {
String pileConnectorCode = dto.getPileSn() + dto.getConnectorCode();
// 先根据枪口号查询是否有未启动的并充订单
OrderBasicInfo orderBasicInfo = selectNotStartMergeOrder(pileConnectorCode);
if (orderBasicInfo != null) {
return orderBasicInfo;
}
String orderCode = generateNewOrderCode();
String transactionCode = dto.getTransactionCode();
if (StringUtils.isBlank(transactionCode)) {
@@ -4538,7 +4544,7 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
String merchantId = pileStationInfo != null ? String.valueOf(pileStationInfo.getMerchantId()) : "";
String plateNumber = dto.getPlateNumber() != null ? dto.getPlateNumber() : "";
// 订单基本信息
OrderBasicInfo orderBasicInfo = OrderBasicInfo.builder()
orderBasicInfo = OrderBasicInfo.builder()
.orderCode(orderCode)
.transactionCode(transactionCode)
.orderStatus(OrderStatusEnum.NOT_START.getValue())
@@ -4548,7 +4554,7 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
.merchantId(merchantId)
.pileSn(dto.getPileSn())
.connectorCode(dto.getConnectorCode())
.pileConnectorCode(dto.getPileSn() + dto.getConnectorCode())
.pileConnectorCode(pileConnectorCode)
.startMode(dto.getStartMode())
.payStatus(Constants.ZERO)
// .payAmount(dto.getChargeAmount()) // 支付完成后填入支付金额
@@ -4645,6 +4651,19 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
return orderBasicInfo;
}
/**
* 查询未启动的并充订单
* @param pileConnectorCode
* @return
*/
private OrderBasicInfo selectNotStartMergeOrder(String pileConnectorCode) {
OrderBasicInfo orderBasicInfo = new OrderBasicInfo();
orderBasicInfo.setOrderType(OrderTypeEnum.MERGE_CHARGE_ORDER.getValue());
orderBasicInfo.setOrderStatus(OrderStatusEnum.NOT_START.getValue());
orderBasicInfo.setPileConnectorCode(pileConnectorCode);
return getOrderBasicInfo(orderBasicInfo);
}
/**
* 保存电单车订单信息
* @param dto