xp-robotaxi-account-boot/src/main/resources/mapper/account/XpAppUserCollectAddrMapper.xml
@@ -14,7 +14,7 @@ from xp_app_user_collect_addr c where c.app_user_id = #{uid} and c.is_deleted = 0 order by c.create_time asc order by c.create_time desc </select> <select id="selectPointCollectTarget" resultType="com.xiaopeng.account.model.vo.CollectAddrTargetVO"> xp-robotaxi-api/src/main/java/com/xiaopeng/api/model/operation/XpWhitelist.java
@@ -63,13 +63,16 @@ @ApiModelProperty(value = "用户id 根据手机号获取") private Long appUserId; public Boolean getStatus() { if(expireTime!= null){ if (LocalDate.now().isAfter(expireTime)) { return false; /*** * 在正常情况下 有效期是否过期 * @return */ public Boolean getIsExpireTime() { if(expireTime!= null && status != null){ if(status){ return !LocalDate.now().isAfter(expireTime); } return status; } return status; return false; } } xp-robotaxi-itinerary-boot/src/main/java/com/xiaopeng/itinerary/service/impl/ActiveOrderServiceImpl.java
@@ -171,7 +171,7 @@ throw new ServiceException("获取行驶中的车辆信息错误"); } //剩余里程xx米,或者 剩余时间xx分钟 禁止修改目的地 //获取订单的 //获取订单的 状态 0=已取消,1=待接单,2=待出发,3=接驾中,4=待客上车,5=乘客已上车,6=服务中,7=待客下车,8=待付款,9=待评价,10=已完成 if(order.getStatus() == 6){ Object cacheObject = redisService.getCacheObject(CacheConstants.navigationEnd(uid)); if(cacheObject != null){ xp-robotaxi-itinerary-boot/src/main/java/com/xiaopeng/itinerary/service/impl/XpPricingServiceImpl.java
@@ -15,6 +15,7 @@ import com.xiaopeng.api.dto.map.RouteAndFareDto; import com.xiaopeng.api.dto.map.RouteStaleCheckDto; import com.xiaopeng.api.dto.map.SelectNavigationRouteDto; import com.xiaopeng.api.dto.operation.LonLatDto; import com.xiaopeng.api.enums.RouteStrategyKind; import com.xiaopeng.api.feignClient.account.UserResourcesClient; import com.xiaopeng.api.feignClient.account.UserRoutePlanRuleClient; @@ -1141,7 +1142,10 @@ List<RouteStrategyKind> kinds = planningConfig.getKinds(); Map<String, RouteVo> routeById = new LinkedHashMap<>(); Map<String, Set<RouteStrategyKind>> strategiesById = new LinkedHashMap<>(); for (RouteStrategyKind kind : kinds) { Set<List<LonLatDto>> routePoints = new HashSet<>(); aa: for (RouteStrategyKind kind : kinds) { RouteAndFareDto copy = new RouteAndFareDto(); copy.setOrigin(routeAndFareDto.getOrigin()); copy.setDestination(routeAndFareDto.getDestination()); @@ -1150,10 +1154,19 @@ if (r.getCode() != 200 || r.getData() == null || r.getData().getRouteID() == null) { continue; } if(CollUtil.isNotEmpty(routePoints)){ for (List<LonLatDto> routePoint : routePoints) { if(CollUtil.isEqualList(routePoint, r.getData().getPolyline())){ continue aa; } } } routePoints.add(r.getData().getPolyline()); String fid = r.getData().getRouteID(); routeById.putIfAbsent(fid, r.getData()); strategiesById.computeIfAbsent(fid, k -> new LinkedHashSet<>()).add(kind); } if (routeById.isEmpty()) { throw new ServiceException("获取导肮信息失败", I18nKeyConstant.PATH_NOT_FOUND); } @@ -1197,15 +1210,6 @@ opt.setOperateFree(operateFree); options.add(opt); } // 根据 pathFingerprint 去重,保留第一次出现的路线 // options = new ArrayList<>(options.stream() // .collect(Collectors.toMap( // RouteOptionVo::getPathFingerprint, // option -> option, // (existing, replacement) -> existing, // LinkedHashMap::new // )).values()); RouteStrategyKind userPref = resolveUserPreferredKind(userId).orElse(RouteStrategyKind.SMART); options.sort((a, b) -> compareRouteOptionByUserPreference(a, b, userPref, strategiesById)); xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/service/impl/XpPointServiceImpl.java
@@ -747,6 +747,12 @@ orderDistanceVo.setAdsorptionDistance(xpSystemSetting.getAdsorptionDistance()); orderDistanceVo.setNearPointDistance(xpSystemSetting.getNearPointDistance()); orderDistanceVo.setTemperatureUnit(xpSystemSetting.getTemperatureUnit()); orderDistanceVo.setXczSyDistance(xpSystemSetting.getXczSyDistance()); orderDistanceVo.setXczSyTime(xpSystemSetting.getXczSyTime()); orderDistanceVo.setXczCaCount(xpSystemSetting.getXczCaCount()); orderDistanceVo.setXczHmSpeedPerHour(xpSystemSetting.getXczHmSpeedPerHour()); orderDistanceVo.setXczHmDuration(xpSystemSetting.getXczHmDuration()); return orderDistanceVo; } return orderDistanceVo; xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/vo/OrderDistanceVo.java
@@ -32,4 +32,18 @@ @ApiModelProperty("下单页停留时长") private Integer maxStandingTiming; @ApiModelProperty(value = "行程中剩余里程") private Integer xczSyDistance; @ApiModelProperty(value = "行程中剩余时间") private Integer xczSyTime; @ApiModelProperty(value = "行程中修改目地次数") private Integer xczCaCount; @ApiModelProperty(value = "行程中豁免时速 km/h") private Integer xczHmSpeedPerHour; @ApiModelProperty(value = "行程中豁免持续时间 分钟") private Integer xczHmDuration; } xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/controller/ActiveOrderController.java
@@ -100,6 +100,9 @@ key = "ORDER_NAVIGATION_END_DATA:" + xpOrder.getAppUserId(); } Object cacheObject = redisService.getCacheObject(key); if(cacheObject == null){ return R.fail("获取路线失败"); } RouteVo routeVo = JSON.parseObject(cacheObject.toString(), RouteVo.class); XpVehicle xpVehicle = xpVehicleClient.queryById(xpOrder.getVehicleId()).getData(); VehiclePosition vehiclePosition = mongoTemplate.findOne(new Query(Criteria.where("vin").is(xpVehicle.getVehicleVin())), VehiclePosition.class); @@ -162,6 +165,7 @@ xpOrderDetailVO.setVehicleId(vehicle.getId()); xpOrderDetailVO.setVehicleVin(vehicle.getVehicleVin()); xpOrderDetailVO.setVehicleModel(vehicle.getVehicleModelName()); xpOrderDetailVO.setVehicleCode(vehicle.getVehicleCode()); xpOrderDetailVO.setVehicleColor(vehicle.getVehicleColor()); xpOrderDetailVO.setPlateNumber(vehicle.getPlateNumber()); xpOrderDetailVO.setVehiclePictures(vehicle.getVehiclePictures());