From e2958b47cabca50b624ae4a40f474172dc2c8597 Mon Sep 17 00:00:00 2001 From: eric <465889110@qq.com> Date: Mon, 29 Sep 2025 17:14:17 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E7=A7=9F=E7=94=B5=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../order/service/impl/OrderServiceImpl.java | 31 +++++++++++-------- .../thirdpart/integration/SyncInteg.java | 2 ++ 2 files changed, 20 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/sczx/order/service/impl/OrderServiceImpl.java b/src/main/java/com/sczx/order/service/impl/OrderServiceImpl.java index 1443bb2..29c6141 100644 --- a/src/main/java/com/sczx/order/service/impl/OrderServiceImpl.java +++ b/src/main/java/com/sczx/order/service/impl/OrderServiceImpl.java @@ -1155,6 +1155,23 @@ public class OrderServiceImpl implements OrderService { throw new BizException("订单状态异常,非待取车状态"); } + //同步租电订单 + LambdaQueryWrapper querySubBatteryWrapper = new LambdaQueryWrapper<>(); + querySubBatteryWrapper.eq(OrderSubPO::getOrderId, orderMainPO.getOrderId()) + .eq(OrderSubPO::getSuborderType, SubOrderTypeEnum.RENTBATTEY.getCode()) + .orderByDesc(OrderSubPO::getCreatedAt) + .last(" limit 1"); + OrderSubPO renBatteryOrderSubPO = orderSubRepo.getOne(querySubBatteryWrapper); + if(renBatteryOrderSubPO!=null){ + Map result = syncInteg.sendSubOrderId(renBatteryOrderSubPO.getSuborderId()); + String status = result.get("code"); + if (status.equals("40001") || status.equals("40002") || status.equals("40003") || status.equals("40005") || status.equals("40006")){ + throw new BizException("此用户在租电APP还有未完成的订单,请联系用户完成租电订单或是驳回此租车订单"); + } + + } + + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(OrderSubPO::getOrderId, orderMainPO.getOrderId()) .eq(OrderSubPO::getSuborderType, SubOrderTypeEnum.RENTCAR.getCode()) @@ -1205,19 +1222,7 @@ public class OrderServiceImpl implements OrderService { .set(CarPO::getBrsStatus, CarStatusEnum.RENT_ING.getCode()); carRepo.update(carPOLambdaUpdateWrapper); - //同步租电订单 - LambdaQueryWrapper querySubBatteryWrapper = new LambdaQueryWrapper<>(); - querySubBatteryWrapper.eq(OrderSubPO::getOrderId, orderMainPO.getOrderId()) - .eq(OrderSubPO::getSuborderType, SubOrderTypeEnum.RENTBATTEY.getCode()) - .orderByDesc(OrderSubPO::getCreatedAt) - .last(" limit 1"); - OrderSubPO renBatteryOrderSubPO = orderSubRepo.getOne(querySubBatteryWrapper); - if(renBatteryOrderSubPO!=null){ - //异步同步租电订单 - ThreadPoolUtils.getThreadPool().execute(() -> { - syncInteg.sendSubOrderId(renBatteryOrderSubPO.getSuborderId()); - }); - } + return getOrderInfoByOrderNo(bindCarToOrderReq.getOrderNo()); } catch (Exception e){ log.warn("绑定车辆失败",e); diff --git a/src/main/java/com/sczx/order/thirdpart/integration/SyncInteg.java b/src/main/java/com/sczx/order/thirdpart/integration/SyncInteg.java index ca64cfe..e7d8f10 100644 --- a/src/main/java/com/sczx/order/thirdpart/integration/SyncInteg.java +++ b/src/main/java/com/sczx/order/thirdpart/integration/SyncInteg.java @@ -20,6 +20,8 @@ public class SyncInteg { Map result = syncFacade.sendSubOrderId(subOrderId); if( "200".equals(result.get("code"))){ return result; + }else{ + return result; } } catch (Exception e){ log.error("发送租电订单同步失败",e);