xp-robotaxi-api/src/main/java/com/xiaopeng/api/dto/map/RouteAndFareDto.java
@@ -33,7 +33,4 @@ @ApiModelProperty("车辆id") private Long vehicleId; public RouteAndFareDto() { } } xp-robotaxi-automatic-pilot-boot/src/main/java/com/xiaopeng/automaticPilot/service/KafkaConsumerService.java
@@ -443,7 +443,7 @@ // 给连环派单的用户推送 Long nextOrderId = redisService.getCacheObject(CacheConstants.nextOrder(order_id)); if (null != nextOrderId){ dto.setOrderId(orderId); dto.setOrderId(nextOrderId); xpPushMessageClient.pushOrderRoute(dto); } xpOrderClient.saveVehicleLocation(orderTrajectory); @@ -1202,26 +1202,6 @@ log.info("到达目的地,不做任何处理:{}", orderId); break; case ORDER_WAITING_FOR_DROPOFF: Long id = redisService.getCacheObject(CacheConstants.nextOrder(orderId)); if(id != null){ scheduler.schedule(() -> { XpOrder xpOrder = xpOrderClient.queryOrderById(id).getData(); XpVehicle xpVehicle = xpVehicleClient.queryById(xpOrder.getVehicleId()).getData(); PushOrderDto pushOrderDto = new PushOrderDto(); pushOrderDto.setOrderId(xpOrder.getId().toString()); pushOrderDto.setStartLatitude(xpOrder.getStartLat()); pushOrderDto.setStartLongitude(xpOrder.getStartLon()); pushOrderDto.setEndLatitude(xpOrder.getEndLat()); pushOrderDto.setEndLongitude(xpOrder.getEndLon()); pushOrderDto.setEndPoiName(xpOrder.getEndPointName()); pushOrderDto.setOrderType(OrderType.USER_ORDER); pushOrderDto.setStage(1); pushOrderDto.setVin(xpVehicle.getVehicleVin()); orderMissionClient.pushOrder(pushOrderDto); }, 3, TimeUnit.MINUTES); break; } //等待乘客下车,开始倒计时发下巡游单 if(!orderId.contains("XU")){ if(orderId.contains("TEST")){ @@ -1231,7 +1211,6 @@ xpOrderClient.updateOrderStatus(Long.parseLong(orderId), OrderStatusEnum.SEE_OFF_GUESTS.getCode()); } } break; case ORDER_DROPOFF_COMPLETED: //下车完成,不需要处理状态,由后续的乘客主动触发或者定时任务触发 xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java
@@ -1918,6 +1918,8 @@ DateUtils.localDateTimeToDate(LocalDateTime.now().plusMinutes(arriveTime)), endTripJobMaps ); // 添加车辆到达终点后限停时间到后驶离的定时任务 //时间到后将车辆状态回滚到空闲、添加巡游订单,解绑用户和车辆关系,车辆驶离点位 XpPoint point = xpPointClient.queryById(xpOrder.getEndPointId()).getData(); @@ -1927,13 +1929,38 @@ .put("appid", appid) .put("orderType", OrderType.USER_ORDER) .build(); QuartzManager.addJob( AddCruiseMissionJob.class, (AddCruiseMissionJob.name + xpOrder.getId()).toUpperCase(), TimeJobType.ADD_CRUISE_MISSION, DateUtils.localDateTimeToDate(LocalDateTime.now().plusMinutes(point.getParkingTimeLimit())), jobMaps ); Long id = redisService.getCacheObject(CacheConstants.nextOrder(xpOrder.getId().toString())); if(id != null){ XpOrder nextOrder = getById(id); XpVehicle nextVehicle = xpVehicleClient.queryById(nextOrder.getVehicleId()).getData(); PushOrderDto pushOrderDto = new PushOrderDto(); pushOrderDto.setOrderId(nextOrder.getId().toString()); pushOrderDto.setStartLatitude(nextOrder.getStartLat()); pushOrderDto.setStartLongitude(nextOrder.getStartLon()); pushOrderDto.setEndLatitude(nextOrder.getEndLat()); pushOrderDto.setEndLongitude(nextOrder.getEndLon()); pushOrderDto.setEndPoiName(nextOrder.getEndPointName()); pushOrderDto.setOrderType(OrderType.USER_ORDER); pushOrderDto.setStage(1); pushOrderDto.setVin(nextVehicle.getVehicleVin()); orderMissionClient.pushOrder(pushOrderDto); QuartzManager.addJob( AddCruiseMissionJob.class, (AddCruiseMissionJob.name + nextOrder.getId()).toUpperCase(), TimeJobType.ADD_CRUISE_MISSION, DateUtils.localDateTimeToDate(LocalDateTime.now().plusMinutes(point.getParkingTimeLimit())), jobMaps ); } else { QuartzManager.addJob( AddCruiseMissionJob.class, (AddCruiseMissionJob.name + xpOrder.getId()).toUpperCase(), TimeJobType.ADD_CRUISE_MISSION, DateUtils.localDateTimeToDate(LocalDateTime.now().plusMinutes(point.getParkingTimeLimit())), jobMaps ); } break; default: break;