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);
|
|
}
|