增加同步租电订单的接口

This commit is contained in:
2025-09-28 17:15:24 +08:00
parent 5f56194f0c
commit 70a6b578ef
2 changed files with 19 additions and 10 deletions

View File

@ -1182,8 +1182,10 @@ public class OrderServiceImpl implements OrderService {
.last(" limit 1"); .last(" limit 1");
OrderSubPO renBatteryOrderSubPO = orderSubRepo.getOne(querySubBatteryWrapper); OrderSubPO renBatteryOrderSubPO = orderSubRepo.getOne(querySubBatteryWrapper);
if(renBatteryOrderSubPO!=null){ if(renBatteryOrderSubPO!=null){
Long batterySubOrderId = renBatteryOrderSubPO.getSuborderId(); //异步同步租电订单
syncInteg.sendSubOrderId(batterySubOrderId); ThreadPoolUtils.getThreadPool().execute(() -> {
syncInteg.sendSubOrderId(renBatteryOrderSubPO.getSuborderId());
});
} }
return getOrderInfoByOrderNo(bindCarToOrderReq.getOrderNo()); return getOrderInfoByOrderNo(bindCarToOrderReq.getOrderNo());
} catch (Exception e){ } catch (Exception e){
@ -1487,8 +1489,7 @@ public class OrderServiceImpl implements OrderService {
updateWrapper.eq(OrderSubPO::getPaymentId, orderSubList.get(0).getPaymentId()); updateWrapper.eq(OrderSubPO::getPaymentId, orderSubList.get(0).getPaymentId());
orderSubRepo.update(updateWrapper); orderSubRepo.update(updateWrapper);
//租车订单
OrderSubPO rentSubPO = orderSubList.stream().filter(orderSubPO -> SubOrderTypeEnum.RENTCAR.getCode().equalsIgnoreCase(orderSubPO.getSuborderType())).findFirst().orElse( null);
LambdaUpdateWrapper<OrderMainPO> updateWrapper2 = new LambdaUpdateWrapper<>(); LambdaUpdateWrapper<OrderMainPO> updateWrapper2 = new LambdaUpdateWrapper<>();
updateWrapper2.eq(OrderMainPO::getOrderId, orderMainPO.getOrderId()); updateWrapper2.eq(OrderMainPO::getOrderId, orderMainPO.getOrderId());
@ -1496,6 +1497,8 @@ public class OrderServiceImpl implements OrderService {
updateWrapper2.set(OrderMainPO::getOrderStatus, OrderStatusEnum.WAIT_PICK.getCode()); updateWrapper2.set(OrderMainPO::getOrderStatus, OrderStatusEnum.WAIT_PICK.getCode());
orderStatus = OrderStatusEnum.WAIT_PICK.getCode(); orderStatus = OrderStatusEnum.WAIT_PICK.getCode();
} else if(OrderStatusEnum.RERENT_WAIT_PAY.getCode().equalsIgnoreCase(orderMainPO.getOrderStatus())){ } 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); BigDecimal rentCarOrderAmount = orderSubList.stream().map(OrderSubPO::getAmount).reduce(BigDecimal.ZERO,BigDecimal::add);
updateWrapper2.set(OrderMainPO::getOrderAmount, orderMainPO.getOrderAmount().add(rentCarOrderAmount)); updateWrapper2.set(OrderMainPO::getOrderAmount, orderMainPO.getOrderAmount().add(rentCarOrderAmount));
if(rentSubPO!=null){ if(rentSubPO!=null){
@ -1506,11 +1509,18 @@ public class OrderServiceImpl implements OrderService {
updateWrapper2.set(OrderMainPO::getOverdueDays, 0); updateWrapper2.set(OrderMainPO::getOverdueDays, 0);
} }
orderStatus = OrderStatusEnum.RENT_ING.getCode(); orderStatus = OrderStatusEnum.RENT_ING.getCode();
}
//如果是续租订单,增加续租次数 //如果是续租订单,增加续租次数
if(rentSubPO!=null){ if(rentSubPO!=null){
updateWrapper2.set(OrderMainPO::getRenewalTimes, orderMainPO.getRenewalTimes()+1); 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);
}));
}
orderMainRepo.update(updateWrapper2); orderMainRepo.update(updateWrapper2);
return orderStatus; return orderStatus;
} }

View File

@ -18,12 +18,11 @@ public class SyncInteg {
public Map<String, String> sendSubOrderId(Long subOrderId){ public Map<String, String> sendSubOrderId(Long subOrderId){
try{ try{
Map<String, String> result = syncFacade.sendSubOrderId(subOrderId); Map<String, String> result = syncFacade.sendSubOrderId(subOrderId);
if(result.get("code") == "200"){ if( "200".equals(result.get("code"))){
return result; return result;
} }
} catch (Exception e){ } catch (Exception e){
log.error("发送租电订单同步失败",e); log.error("发送租电订单同步失败",e);
throw new InnerException("发送租电订单同步失败");
} }
return null; return null;
} }