From 70a6b578efff9f5426235f0389dec799784de364 Mon Sep 17 00:00:00 2001 From: zhangli <123879394@qq.com> Date: Sun, 28 Sep 2025 17:15:24 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=90=8C=E6=AD=A5=E7=A7=9F?= =?UTF-8?q?=E7=94=B5=E8=AE=A2=E5=8D=95=E7=9A=84=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../order/service/impl/OrderServiceImpl.java | 26 +++++++++++++------ .../thirdpart/integration/SyncInteg.java | 3 +-- 2 files changed, 19 insertions(+), 10 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 acd7fba..a7a000a 100644 --- a/src/main/java/com/sczx/order/service/impl/OrderServiceImpl.java +++ b/src/main/java/com/sczx/order/service/impl/OrderServiceImpl.java @@ -1182,8 +1182,10 @@ public class OrderServiceImpl implements OrderService { .last(" limit 1"); OrderSubPO renBatteryOrderSubPO = orderSubRepo.getOne(querySubBatteryWrapper); if(renBatteryOrderSubPO!=null){ - Long batterySubOrderId = renBatteryOrderSubPO.getSuborderId(); - syncInteg.sendSubOrderId(batterySubOrderId); + //异步同步租电订单 + ThreadPoolUtils.getThreadPool().execute(() -> { + syncInteg.sendSubOrderId(renBatteryOrderSubPO.getSuborderId()); + }); } return getOrderInfoByOrderNo(bindCarToOrderReq.getOrderNo()); } catch (Exception e){ @@ -1487,8 +1489,7 @@ public class OrderServiceImpl implements OrderService { updateWrapper.eq(OrderSubPO::getPaymentId, orderSubList.get(0).getPaymentId()); orderSubRepo.update(updateWrapper); - //租车订单 - OrderSubPO rentSubPO = orderSubList.stream().filter(orderSubPO -> SubOrderTypeEnum.RENTCAR.getCode().equalsIgnoreCase(orderSubPO.getSuborderType())).findFirst().orElse( null); + LambdaUpdateWrapper updateWrapper2 = new LambdaUpdateWrapper<>(); updateWrapper2.eq(OrderMainPO::getOrderId, orderMainPO.getOrderId()); @@ -1496,6 +1497,8 @@ public class OrderServiceImpl implements OrderService { updateWrapper2.set(OrderMainPO::getOrderStatus, OrderStatusEnum.WAIT_PICK.getCode()); orderStatus = OrderStatusEnum.WAIT_PICK.getCode(); } else if(OrderStatusEnum.RERENT_WAIT_PAY.getCode().equalsIgnoreCase(orderMainPO.getOrderStatus())){ + //租车订单 + OrderSubPO rentSubPO = orderSubList.stream().filter(orderSubPO -> SubOrderTypeEnum.RENTCAR.getCode().equalsIgnoreCase(orderSubPO.getSuborderType())).findFirst().orElse( null); BigDecimal rentCarOrderAmount = orderSubList.stream().map(OrderSubPO::getAmount).reduce(BigDecimal.ZERO,BigDecimal::add); updateWrapper2.set(OrderMainPO::getOrderAmount, orderMainPO.getOrderAmount().add(rentCarOrderAmount)); if(rentSubPO!=null){ @@ -1506,11 +1509,18 @@ public class OrderServiceImpl implements OrderService { updateWrapper2.set(OrderMainPO::getOverdueDays, 0); } orderStatus = OrderStatusEnum.RENT_ING.getCode(); + //如果是续租订单,增加续租次数 + if(rentSubPO!=null){ + updateWrapper2.set(OrderMainPO::getRenewalTimes, orderMainPO.getRenewalTimes()+1); + } + //异步同步租电订单 + orderSubList.stream().filter(orderSubPO -> SubOrderTypeEnum.RENTBATTEY.getCode().equalsIgnoreCase(orderSubPO.getSuborderType())).findFirst() + .ifPresent(rentBatteySubPO -> ThreadPoolUtils.getThreadPool().execute(() -> { + Long batterySubOrderId = rentBatteySubPO.getSuborderId(); + syncInteg.sendSubOrderId(batterySubOrderId); + })); } - //如果是续租订单,增加续租次数 - if(rentSubPO!=null){ - updateWrapper2.set(OrderMainPO::getRenewalTimes, orderMainPO.getRenewalTimes()+1); - } + orderMainRepo.update(updateWrapper2); return orderStatus; } 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 dc327b3..ca64cfe 100644 --- a/src/main/java/com/sczx/order/thirdpart/integration/SyncInteg.java +++ b/src/main/java/com/sczx/order/thirdpart/integration/SyncInteg.java @@ -18,12 +18,11 @@ public class SyncInteg { public Map sendSubOrderId(Long subOrderId){ try{ Map result = syncFacade.sendSubOrderId(subOrderId); - if(result.get("code") == "200"){ + if( "200".equals(result.get("code"))){ return result; } } catch (Exception e){ log.error("发送租电订单同步失败",e); - throw new InnerException("发送租电订单同步失败"); } return null; }