package com.xiaopeng.operation.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.xiaopeng.api.dto.map.RouteAndFareDto;
import com.xiaopeng.api.model.operation.XpPricing;
import com.xiaopeng.api.vo.operation.RouteAndFareVo;
import com.xiaopeng.common.core.web.page.PageInfo;
import com.xiaopeng.operation.dto.*;
import com.xiaopeng.operation.query.PricingPageListQuery;
import com.xiaopeng.operation.vo.PricingPageListVO;
import javax.validation.Valid;
/**
*
* 定价管理 服务类
*
*
* @author liu
* @since 2026-02-03
*/
public interface XpPricingService extends IService {
/**
* +
* 获取导航-获取路线和费用
* @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 dto
* @param uid
* @return
*/
Long saveOrder(XpOrderDto dto,String uid);
/**
* 管理后台-定价管理分页列表
*
* @param query 查询条件
* @return 分页结果
*/
PageInfo pageList(PricingPageListQuery query);
/**
* 管理后台-新增定价
*
* @param dto 新增参数
*/
Long add(PricingAddDTO dto);
/**
* 编辑定价
* @param dto
* @return
*/
Long edit(@Valid PricingEditDTO dto);
/**
* 管理后台-定价管理-设置价格
*
* @param dto 设置参数
*/
void setPrice(PricingSetPriceDTO dto);
/**
* 管理后台-计费规则富文本配置
*
* @param dto 配置参数
*/
void setRule(PricingSetRuleDTO dto);
}