| | |
| | | //乘客单处理逻辑 |
| | | if(OrderType.USER_ORDER.equals(orderType)){ |
| | | XpOrder order = this.getById(orderId); |
| | | Long appUserId = order.getAppUserId(); |
| | | //订单为待接单状态 |
| | | if(order.getStatus() == 1){ |
| | | if(order.getStatus() < 4){ |
| | | AddTaxiPassengerVo addTaxiPassengerVo = new AddTaxiPassengerVo(); |
| | | order.setAcceptanceTime(LocalDateTime.now()); |
| | | R<XpVehicle> byVehicleVin = xpVehicleClient.findByVehicleVin(dto.getXpVehicleVin()); |
| | |
| | | xpGeoQueryEntity.setOrderId(split[0]); |
| | | // 存mongo数据 |
| | | xpPricingClient.updateXpGeoQueryEntity(split[0]); |
| | | order.setAppUserId(null); |
| | | |
| | | |
| | | // 修改车辆信息 |
| | |
| | | xpVehicleClient.updateVehicleById(vehicle); |
| | | |
| | | //绑定用户和车辆关系 |
| | | addTaxiPassengerVo.setUid(order.getAppUserId().toString()); |
| | | addTaxiPassengerVo.setUid(appUserId.toString()); |
| | | |
| | | order.setAppUserId(null); |
| | | this.updateById(order); |
| | | addTaxiPassengerVo.setOrderNo(order.getOrderNumber()); |
| | | // TODO appid |
| | | addTaxiPassengerVo.setAppId(""); |
| | | userVehicleClient.addTaxiPassenger(addTaxiPassengerVo); |
| | | //推送乘客车辆到达预约点的导航数据 |
| | | sendRoute(order.getAppUserId().toString(), orderId, "ORDER_NAVIGATION_START_DATA", dto.getXpVehicleVin()); |
| | | sendRoute(appUserId.toString(), orderId, "ORDER_NAVIGATION_START_DATA", dto.getXpVehicleVin()); |
| | | }else{ |
| | | //推送行起点到终点的驶轨迹给乘客端 |
| | | sendRoute(order.getAppUserId().toString(), orderId, "ORDER_NAVIGATION_END_DATA", dto.getXpVehicleVin()); |
| | | sendRoute(appUserId.toString(), orderId, "ORDER_NAVIGATION_END_DATA", dto.getXpVehicleVin()); |
| | | } |
| | | } |
| | | } |
| | |
| | | jsonObject.put("type", "ORDER_ROUTE"); |
| | | jsonObject.put("timestamp", System.currentTimeMillis()); |
| | | JSONObject content = new JSONObject(); |
| | | content.put("orderId", orderId); |
| | | content.put("orderId", orderId.toString()); |
| | | content.put("routeType", "ORDER_NAVIGATION_START_DATA".equals(keyStr) ? 1 : 2); |
| | | content.put("direction", null != vehiclePosition ? vehiclePosition.getCourse() : 90); |
| | | JSONObject route = new JSONObject(); |
| | |
| | | SendMessageDTO messageDTO = new SendMessageDTO(); |
| | | messageDTO.setAppUserId(appUserId); |
| | | messageDTO.setMessage(jsonObject.toJSONString()); |
| | | System.err.println(messageDTO); |
| | | xpPushMessageClient.sendRoute(messageDTO); |
| | | } |
| | | } |