From 4edaaf570a2cd8af8a9c35694a46289cdf9278b3 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期五, 17 四月 2026 11:58:16 +0800
Subject: [PATCH] Merge branch '1.0' of http://120.76.84.145:10101/gitblit/r/java/Robotaxi into 1.0
---
xp-robotaxi-itinerary-boot/src/main/java/com/xiaopeng/itinerary/service/impl/XpPricingServiceImpl.java | 42 ++++++++++++++++++++++--------------------
1 files changed, 22 insertions(+), 20 deletions(-)
diff --git a/xp-robotaxi-itinerary-boot/src/main/java/com/xiaopeng/itinerary/service/impl/XpPricingServiceImpl.java b/xp-robotaxi-itinerary-boot/src/main/java/com/xiaopeng/itinerary/service/impl/XpPricingServiceImpl.java
index 8c34a74..9d4104f 100644
--- a/xp-robotaxi-itinerary-boot/src/main/java/com/xiaopeng/itinerary/service/impl/XpPricingServiceImpl.java
+++ b/xp-robotaxi-itinerary-boot/src/main/java/com/xiaopeng/itinerary/service/impl/XpPricingServiceImpl.java
@@ -11,6 +11,7 @@
import com.xiaopeng.api.dto.map.RouteStaleCheckDto;
import com.xiaopeng.api.dto.map.SelectNavigationRouteDto;
import com.xiaopeng.api.enums.RouteStrategyKind;
+import com.xiaopeng.api.feignClient.account.UserRoutePlanRuleClient;
import com.xiaopeng.api.feignClient.account.XpAppUserClient;
import com.xiaopeng.api.feignClient.account.XpAppUserCouponClient;
import com.xiaopeng.api.feignClient.map.XpMapClient;
@@ -18,18 +19,11 @@
import com.xiaopeng.api.feignClient.order.XpOrderClient;
import com.xiaopeng.api.feignClient.pushMessage.XpPushMessageClient;
import com.xiaopeng.api.feignClient.vehicleConvoy.XpVehicleClient;
+import com.xiaopeng.api.model.account.XpUserRoutePlanRule;
import com.xiaopeng.api.model.operation.*;
import com.xiaopeng.api.model.order.XpOrder;
-import com.xiaopeng.api.model.vehicleConvoy.XpVehicle;
-import com.xiaopeng.api.service.BootCommonService;
import com.xiaopeng.api.vo.account.UserCouponVo;
-import com.xiaopeng.api.vo.operation.FareVo;
-import com.xiaopeng.api.vo.operation.MultiRouteAndFareVo;
-import com.xiaopeng.api.vo.operation.RouteAndFareVo;
-import com.xiaopeng.api.vo.operation.RouteOptionVo;
-import com.xiaopeng.api.vo.operation.RoutePreferenceItemVo;
-import com.xiaopeng.api.vo.operation.RouteStaleCheckVo;
-import com.xiaopeng.api.vo.operation.RouteVo;
+import com.xiaopeng.api.vo.operation.*;
import com.xiaopeng.api.vo.order.XpPricingCardVo;
import com.xiaopeng.common.core.constant.CacheConstants;
import com.xiaopeng.common.core.domain.R;
@@ -38,16 +32,17 @@
import com.xiaopeng.common.redis.service.RedisService;
import com.xiaopeng.itinerary.constant.I18nKeyConstant;
import com.xiaopeng.itinerary.dto.XpOrderDto;
-import com.xiaopeng.itinerary.navigation.MultiRouteSnapshotPayload;
import com.xiaopeng.itinerary.mapper.*;
+import com.xiaopeng.itinerary.navigation.MultiRouteSnapshotPayload;
+import com.xiaopeng.itinerary.service.BootCommonService;
import com.xiaopeng.itinerary.service.IXpGeoQueryEntityService;
import com.xiaopeng.itinerary.service.XpPointService;
import com.xiaopeng.itinerary.service.XpPricingService;
-import com.xiaopeng.itinerary.vo.QueueStatusVo;
import com.xiaopeng.itinerary.utils.XpPricingUtil;
import com.xiaopeng.itinerary.utils.holiday.HolidayUtil;
import com.xiaopeng.itinerary.utils.map.FastDistanceCalculator;
import com.xiaopeng.itinerary.utils.map.GDMapGeocodingUtil;
+import com.xiaopeng.itinerary.vo.QueueStatusVo;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -138,6 +133,9 @@
@Resource
private XpPointClient xpPointClient;
+ @Resource
+ private UserRoutePlanRuleClient userRoutePlanRuleClient;
+
@Value("${navigation.route.stale-seconds:60}")
private int navigationStaleSeconds;
@@ -212,7 +210,7 @@
if(vehicleModel != null){
queryWrapper.eq(XpPricing::getVehicleModel, vehicleModel);
}
- return super.getOne(queryWrapper,true);
+ return super.getOne(queryWrapper);
}
@@ -240,17 +238,12 @@
if (openCities == null ) {
throw new ServiceException("获取城市信息失败", I18nKeyConstant.CITY_NOT_FOUND);
}
+ routeAndFareDto.setOpenCityId(openCities.getId());
//根据订单获取车型 获取定价策略
- String vehicleModel = bootCommonService.getVehicleModelId(routeAndFareDto.getOrderId());
-
- XpPricing xpPricing = this.getInfo(routeAndFareDto.getOpenCityId(),vehicleModel);
+ XpPricing xpPricing = bootCommonService.getXpPricing(routeAndFareDto.getOpenCityId(), routeAndFareDto.getOrderId(), null);
if (xpPricing == null) {
throw new ServiceException("当前区域未开通服务", I18nKeyConstant.NO_CURRENT_REGION);
}
-
-
- XpOpenCity xpOpenCity = openCities;
- routeAndFareDto.setOpenCityId(xpOpenCity.getId());
List<XpRoutePlan> xpRoutePlan = xpRoutePlanMapper.selectList(new LambdaQueryWrapper<XpRoutePlan>().eq(XpRoutePlan::getAuditStatus, 2).eq(XpRoutePlan::getCityCode, cityCode));
// 找出用户偏好
@@ -659,7 +652,16 @@
XpOpenCity xpOpenCity = openCities;
dto.setOpenCityId(xpOpenCity.getId());
xpOrder.setCityCode(xpOpenCity.getCityCode());
- XpRoutePlan xpRoutePlan = xpRoutePlanMapper.selectOne(new LambdaQueryWrapper<XpRoutePlan>().eq(XpRoutePlan::getAuditStatus, 2).eq(XpRoutePlan::getCityCode, xpOpenCity.getCityCode()));
+ XpUserRoutePlanRule xpUserRoutePlanRule = userRoutePlanRuleClient.getXpUserRoutePlanRule(uid).getData();
+ XpRoutePlan xpRoutePlan = null;
+ if(null != xpUserRoutePlanRule){
+ xpRoutePlan = xpRoutePlanMapper.selectOne(new LambdaQueryWrapper<XpRoutePlan>().eq(XpRoutePlan::getAuditStatus, 2)
+ .eq(XpRoutePlan::getCityCode, xpOpenCity.getCityCode()).eq(XpRoutePlan::getRoutePlanRule, xpUserRoutePlanRule.getRoutePlanRule()));
+ xpRoutePlanMapper.selectById(xpUserRoutePlanRule.getRoutePlanRule());
+ }else{
+ xpRoutePlan = xpRoutePlanMapper.selectOne(new LambdaQueryWrapper<XpRoutePlan>().eq(XpRoutePlan::getAuditStatus, 2)
+ .eq(XpRoutePlan::getCityCode, xpOpenCity.getCityCode()).last(" limit 1"));
+ }
Integer distance = 0;
Integer duration = 0;
--
Gitblit v1.7.1