增加同步租电订单的接口

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");
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<OrderMainPO> 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;
}

View File

@ -18,12 +18,11 @@ public class SyncInteg {
public Map<String, String> sendSubOrderId(Long subOrderId){
try{
Map<String, String> 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;
}