Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/Robotaxi
| | |
| | | package com.xiaopeng.api.vo.operation; |
| | | |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | |
| | |
| | | @ApiModelProperty(value = "优惠券id") |
| | | private Long couponId; |
| | | |
| | | |
| | | |
| | | @ApiModelProperty("系统优惠金额") |
| | | private Double systemDiscount; |
| | | |
| | | |
| | | @ApiModelProperty(value = "最终价格-字符串") |
| | | private String finalFareStr; |
| | | } |
| | |
| | | vehicleId = 1L; |
| | | } |
| | | if(null == startLat || null == startLon){ |
| | | startLat = 23.157155D; |
| | | startLon = 113.382373D; |
| | | startLat = 30.583407D; |
| | | startLon = 104.040251D; |
| | | } |
| | | XpVehicle xpVehicle = xpVehicleClient.queryById(vehicleId).getData(); |
| | | XpOrder xpOrder = null; |
| | |
| | | dto.setRouteType(1); |
| | | R<RouteVo> routeVoR = xpMapClient.getOrderDistanceAndDuration(dto); |
| | | if (200 != routeVoR.getCode()) { |
| | | // throw new RuntimeException("获取订单线路和运费失败"); |
| | | throw new RuntimeException("获取订单线路和运费失败"); |
| | | } |
| | | RouteVo routeVo = routeVoR.getData(); |
| | | //缓存数据,用于后续推给乘客导航线路 |
| | |
| | | fareVo.setId(id); |
| | | |
| | | // 12. 设置费用信息 |
| | | fareVo.setFinalFareStr(fareVo.getFinalFare() + ""); |
| | | routeAndFareVo.setFareEstimate(fareVo); |
| | | |
| | | |
| | |
| | | redisService.setCacheObject(key, voJsonStr, 5l, TimeUnit.MINUTES); |
| | | //缓存导航数据,用于下单后推送导航给车端和乘客端 |
| | | redisService.setCacheObject("ORDER_NAVIGATION_END_DATA:" + userId, JSON.toJSONString(routeVo), 24L, TimeUnit.HOURS); |
| | | |
| | | |
| | | return routeAndFareVo; |
| | | } |
| | | |
| | |
| | | } |
| | | // 组装数据 并排序 剔除不在运营段的 数据 |
| | | List<XpPointsListVo> resultList = list.stream() |
| | | .peek(vo -> vo.setDistance(BigDecimal.valueOf(FastDistanceCalculator.distanceFast(query.getLat(), query.getLon(), vo.getLatitude(), vo.getLongitude())).setScale(0, RoundingMode.HALF_UP).doubleValue())) |
| | | .peek(vo -> vo.setDistance(BigDecimal.valueOf(FastDistanceCalculator.distanceFastKm(query.getLat(), query.getLon(), vo.getLatitude(), vo.getLongitude())).setScale(2, RoundingMode.HALF_UP).doubleValue())) |
| | | .filter(vo -> vo.getState() == 1).collect(Collectors.toList()); |
| | | |
| | | // 可用点位 |
| | |
| | | order.setStatus(8); |
| | | order.setAppUserId(null); |
| | | order.setTripEnd(LocalDateTime.now()); |
| | | order.setMileageKilometers(80.0); |
| | | // order.setMileageKilometers(80.0); |
| | | baseMapper.updateById(order); |
| | | // 解绑用户与车辆关系 |
| | | CancelTaxiPassengerVo cancelTaxiPassengerVo = new CancelTaxiPassengerVo(); |
| | |
| | | |
| | | // Redis弹出这个队列元素 |
| | | // value 订单Id_经纬度_状态_用户id_订单编号_距离_时间 |
| | | redisService.popFirstElement(order.getQueueName()); |
| | | try { |
| | | redisService.popFirstElement(order.getQueueName()); |
| | | }catch (Exception e){ |
| | | log.error("Redis弹出队列元素出错"); |
| | | } |
| | | XpGeoQueryEntity xpGeoQueryEntity = new XpGeoQueryEntity(); |
| | | xpGeoQueryEntity.setOrderId(order.getId().toString()); |
| | | // 存mongo数据 |
| | |
| | | addTaxiPassengerVo.setAppId(""); |
| | | userVehicleClient.addTaxiPassenger(addTaxiPassengerVo); |
| | | //推送乘客车辆到达预约点的导航数据 |
| | | // sendRoute(addTaxiPassengerVo.getUid(), orderId, "ORDER_NAVIGATION_START_DATA", dto.getXpVehicleVin()); |
| | | sendRoute(addTaxiPassengerVo.getUid(), orderId, "ORDER_NAVIGATION_START_DATA", dto.getXpVehicleVin()); |
| | | }else{ |
| | | //推送行起点到终点的驶轨迹给乘客端 |
| | | sendRoute(appUserId.toString(), orderId, "ORDER_NAVIGATION_END_DATA", dto.getXpVehicleVin()); |