| | |
| | | import com.xiaopeng.api.dto.operation.CruisePointDto; |
| | | import com.xiaopeng.api.dto.operation.LonLatDto; |
| | | import com.xiaopeng.api.dto.operation.ReassignOrderDTO; |
| | | import com.xiaopeng.api.dto.order.AddCruiseMissionDto; |
| | | import com.xiaopeng.api.dto.order.PopOrderDto; |
| | | import com.xiaopeng.api.dto.pushMessage.PushOrderRouteDTO; |
| | | import com.xiaopeng.api.dto.pushMessage.SendMessageDTO; |
| | |
| | | import com.xiaopeng.api.feignClient.vehicleConvoy.XpVehicleClient; |
| | | import com.xiaopeng.api.model.order.XpCruiseOrder; |
| | | import com.xiaopeng.api.model.order.XpOrder; |
| | | import com.xiaopeng.api.model.vehicleConvoy.XpFleet; |
| | | import com.xiaopeng.api.model.vehicleConvoy.XpVehicle; |
| | | import com.xiaopeng.api.vo.OrderType; |
| | | import com.xiaopeng.api.vo.SystemEventType; |
| | |
| | | |
| | | @Resource |
| | | private XpCruisePlanClient xpCruisePlanClient; |
| | | |
| | | |
| | | |
| | | |
| | |
| | | //下车完成 |
| | | buildPushOrderStatus(orderId, OrderStatusEnum.APPROVAL_REJECTION, sequence); |
| | | xpOrderClient.updateOrderStatus(Long.parseLong(orderId), OrderStatusEnum.APPROVAL_REJECTION.getCode()); |
| | | |
| | | |
| | | // 下发巡游任务 |
| | | R<XpOrder> xpOrderR = xpOrderClient.queryOrderById(Long.parseLong(orderId)); |
| | | if(xpOrderR.getCode()==200){ |
| | | XpOrder orderData = xpOrderR.getData(); |
| | | Long vehicleId =orderData.getVehicleId(); |
| | | R<XpVehicle> xpVehicleR = xpVehicleClient.queryById(vehicleId); |
| | | if(xpVehicleR.getData()!=null){ |
| | | XpVehicle xpVehicle = xpVehicleR.getData(); |
| | | |
| | | AddCruiseMissionDto addCruiseMissionDto = new AddCruiseMissionDto(); |
| | | addCruiseMissionDto.setOrder(orderData); |
| | | addCruiseMissionDto.setVehicle(xpVehicle); |
| | | xpCruiseOrderClient.addCruiseMission(addCruiseMissionDto); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | break; |
| | | case ORDER_COMPLETED: |
| | | //已完成 |
| | |
| | | lastXpCruiseOrder.setId("XU"+ IdUtil.fastUUID()); |
| | | lastXpCruiseOrder.setStatus(1); |
| | | xpCruiseOrderClient.addCruiseOrder(lastXpCruiseOrder); |
| | | |
| | | |
| | | |
| | | // 获取点位id |
| | | Long endPointId = xpCruiseOrder.getEndPointId(); |
| | | // 获取点位信息 获取点位是否需要停车 |
| | | // xpCruisePlanClient.getPlanPointInfo(endPointId); |
| | | |
| | | |
| | | |
| | | //构建下发XPU订单报文数据 |
| | | RtTask.Builder taskBuilder = RtTask.newBuilder(); |
| | | taskBuilder.setOrderId(lastXpCruiseOrder.getId()); |
| | | taskBuilder.setTaskId("MISSION_"+ IdUtil.fastUUID()); |
| | | taskBuilder.setTaskType(com.xiaopeng.api.vo.automaticPilot.protobuf.OrderType.ORDER_TYPE_CRUISE); |
| | | //构建点位信息 |
| | | Waypoint.Builder pointBuilder = Waypoint.newBuilder(); |
| | | pointBuilder.setPointType(PointType.CRUISE_END_POINT); |
| | | pointBuilder.setSequence(1); |
| | | //构建终点坐标 |
| | | GeoPoint.Builder geoPointBuilder = GeoPoint.newBuilder(); |
| | | geoPointBuilder.setLatitude(lastXpCruiseOrder.getEndLat()); |
| | | geoPointBuilder.setLongitude(lastXpCruiseOrder.getEndLat()); |
| | | // geoPointBuilder.setPoiName("Start Point"); // GeoPoint might not have poi_name |
| | | pointBuilder.setPoint(geoPointBuilder.build()); |
| | | taskBuilder.addPoints(pointBuilder); |
| | | |
| | | RtTask task = taskBuilder.build(); |
| | | RtTaskList taskList = RtTaskList.newBuilder().addTasks(task).build(); |
| | | |
| | | |
| | | SnowFlake snowFlake = new SnowFlake(0, 0); |
| | | snowFlake.withStartTimestamp(1420041600000L); |
| | |
| | | if(cruisePoint!=null){ |
| | | xpCruiseOrderClient.addCruiseOrder(cruisePoint.getData()); |
| | | RtTask.Builder taskBuilder = RtTask.newBuilder(); |
| | | //TODO 设置目标地点信息 |
| | | |
| | | taskBuilder.setOrderId(newXpCruiseOrder.getId()); |
| | | taskBuilder.setTaskId("MISSION_"+ IdUtil.fastUUID()); |
| | | taskBuilder.setTaskType(com.xiaopeng.api.vo.automaticPilot.protobuf.OrderType.ORDER_TYPE_CRUISE); |
| | | |
| | | //构建点位信息 |
| | | Waypoint.Builder pointBuilder = Waypoint.newBuilder(); |
| | | pointBuilder.setPointType(PointType.CRUISE_END_POINT); |
| | | pointBuilder.setSequence(1); |
| | | //构建终点坐标 |
| | | GeoPoint.Builder geoPointBuilder = GeoPoint.newBuilder(); |
| | | geoPointBuilder.setLatitude(cruisePoint.getData().getEndLat()); |
| | | geoPointBuilder.setLongitude(cruisePoint.getData().getEndLat()); |
| | | // geoPointBuilder.setPoiName("Start Point"); // GeoPoint might not have poi_name |
| | | pointBuilder.setPoint(geoPointBuilder.build()); |
| | | taskBuilder.addPoints(pointBuilder); |
| | | |
| | | RtTaskList.Builder taskListBuilder = RtTaskList.newBuilder(); |
| | | taskListBuilder.addTasks(taskBuilder.build()); |
| | | |