liujie
2026-04-13 c6b34f2e65bb31e7dfe42657ccb1717324e5249b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
package com.xiaopeng.itinerary.service;
 
 
import com.baomidou.mybatisplus.extension.service.IService;
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.model.operation.XpPricing;
import com.xiaopeng.api.vo.operation.MultiRouteAndFareVo;
import com.xiaopeng.api.vo.operation.RouteAndFareVo;
import com.xiaopeng.api.vo.operation.RoutePreferenceItemVo;
import com.xiaopeng.api.vo.operation.RouteStaleCheckVo;
import com.xiaopeng.itinerary.dto.XpOrderDto;
import com.xiaopeng.itinerary.vo.QueueStatusVo;
 
import java.util.List;
 
/**
 * <p>
 * 定价管理 服务类
 * </p>
 *
 * @author liu
 * @since 2026-02-03
 */
public interface XpPricingService extends IService<XpPricing> {
 
    /**
     * +
     * 获取导航-获取路线和费用
     * @param routeAndFareDto dto对象
     * @param userId 用户id
     * @return
     */
    RouteAndFareVo getRouteAndFare(RouteAndFareDto routeAndFareDto, String userId);
 
 
 
    /**
     * 获取等待时间
     * @param lon 经度
     * @param lat 纬度
     * @return
     */
    Integer getWaitTime(double lon,double lat);
    /**
     * 获取等待时间
     * @param lon 经度
     * @param lat 纬度
     * @return
     */
    Integer getWaitTimeTimeSlot(double lon,double lat,String timeSlot);
 
 
    /**
     * 保存订单
     * @param dto
     * @param uid
     * @return
     */
    String saveOrder(XpOrderDto dto, String uid);
 
    /**
     * 多策略路径规划合并、计价与快照
     */
    MultiRouteAndFareVo getMultiRouteAndFare(RouteAndFareDto routeAndFareDto, String userId);
 
    /**
     * 用户选中某条路径后,写入导航缓存(与单路线下单一致)
     */
    void selectNavigationRoute(SelectNavigationRouteDto dto, String userId);
 
    /**
     * 停留超时后的静默校验
     */
    RouteStaleCheckVo checkRouteStale(RouteStaleCheckDto dto, String userId);
 
    /**
     * 路线偏好可选项(后台可扩展为配置表)
     */
    List<RoutePreferenceItemVo> listRoutePreferences(Long openCityId, String userId);
 
    /**
     * 保存用户默认路线偏好(影响后续起终点规划策略)
     */
    void saveUserRoutePreference(String code, String userId);
 
    /**
     * 查询排队状态
     * @param orderId 订单ID
     * @param uid 用户ID
     * @return 排队状态信息
     */
    QueueStatusVo getQueueStatus(String orderId, String uid);
 
}