kong
2026-04-12 6e1d45b41deffba06e9c4092db07630d4fbd5078
xp-robotaxi-itinerary-boot/src/main/java/com/xiaopeng/itinerary/controller/XpPricingController.java
@@ -3,6 +3,12 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.xiaopeng.api.dto.map.RouteAndFareDto;
import com.xiaopeng.api.dto.map.RoutePreferenceSaveDto;
import com.xiaopeng.api.dto.map.RouteStaleCheckDto;
import com.xiaopeng.api.dto.map.SelectNavigationRouteDto;
import com.xiaopeng.api.vo.operation.MultiRouteAndFareVo;
import com.xiaopeng.api.vo.operation.RoutePreferenceItemVo;
import com.xiaopeng.api.vo.operation.RouteStaleCheckVo;
import com.xiaopeng.api.dto.operation.LonLatDto;
import com.xiaopeng.api.model.operation.XpPricing;
import com.xiaopeng.api.vo.operation.RouteAndFareVo;
@@ -24,6 +30,7 @@
import javax.servlet.http.HttpServletRequest;
import javax.validation.Valid;
import java.util.List;
/**
 * <p>
@@ -145,4 +152,47 @@
        hotFixInfoVo.setHotfixStatus(0);
        return R.ok(hotFixInfoVo);
    }
    @PostMapping("/base/v1/mini-program/navigation/multi-route-and-fare")
    @ApiOperation(value = "导航-多策略路线合并与费用", tags = {"小程序-路线选择"}, response = MultiRouteAndFareVo.class)
    @XpClientCheck(checkToken = false, checkOtpToken = true)
    public R<MultiRouteAndFareVo> getMultiRouteAndFare(@RequestBody @Valid RouteAndFareDto routeAndFareDto, HttpServletRequest request) {
        String uid = request.getHeader("XP-Uid");
        return R.ok(xpPricingService.getMultiRouteAndFare(routeAndFareDto, uid));
    }
    @PostMapping("/base/v1/mini-program/navigation/select-route")
    @ApiOperation(value = "选中某条路线并写入导航缓存", tags = {"小程序-路线选择"})
    @XpClientCheck(checkToken = false, checkOtpToken = true)
    public R<Void> selectNavigationRoute(@RequestBody @Valid SelectNavigationRouteDto dto, HttpServletRequest request) {
        String uid = request.getHeader("XP-Uid");
        xpPricingService.selectNavigationRoute(dto, uid);
        return R.ok();
    }
    @PostMapping("/base/v1/mini-program/navigation/route-stale-check")
    @ApiOperation(value = "路线/价格过期静默校验", tags = {"小程序-路线选择"}, response = RouteStaleCheckVo.class)
    @XpClientCheck(checkToken = false, checkOtpToken = true)
    public R<RouteStaleCheckVo> checkRouteStale(@RequestBody @Valid RouteStaleCheckDto dto, HttpServletRequest request) {
        String uid = request.getHeader("XP-Uid");
        return R.ok(xpPricingService.checkRouteStale(dto, uid));
    }
    @GetMapping("/base/v1/mini-program/navigation/route-preferences")
    @ApiOperation(value = "路线偏好可选项", tags = {"小程序-路线选择"}, response = RoutePreferenceItemVo.class)
    @XpClientCheck(checkToken = false, checkOtpToken = true)
    public R<List<RoutePreferenceItemVo>> listRoutePreferences(@RequestParam Long openCityId) {
        return R.ok(xpPricingService.listRoutePreferences(openCityId));
    }
    @PostMapping("/base/v1/mini-program/navigation/route-preference")
    @ApiOperation(value = "保存用户路线偏好", tags = {"小程序-路线选择"})
    @XpClientCheck(checkToken = false, checkOtpToken = true)
    public R<Void> saveUserRoutePreference(@RequestBody @Valid RoutePreferenceSaveDto dto, HttpServletRequest request) {
        String uid = request.getHeader("XP-Uid");
        xpPricingService.saveUserRoutePreference(dto.getCode(), uid);
        return R.ok();
    }
}