package com.xiaopeng.order.service;
|
|
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.xiaopeng.api.dto.order.GetOrderNumDto;
|
import com.xiaopeng.api.dto.order.PopOrderDto;
|
import com.xiaopeng.api.dto.statistics.OrderStatisticsDTO;
|
import com.xiaopeng.api.dto.statistics.StatisticsQueryDTO;
|
import com.xiaopeng.api.model.order.XpOrder;
|
import com.xiaopeng.api.model.order.XpTestOrder;
|
import com.xiaopeng.api.model.vehicleConvoy.XpVehicle;
|
import com.xiaopeng.api.vo.order.FareBreakdownVo;
|
import com.xiaopeng.api.vo.order.XpHistoryEndPointsVo;
|
import com.xiaopeng.api.vo.order.XpHistoryStartPointsVo;
|
import com.xiaopeng.api.vo.order.XpPointInfoVo;
|
import com.xiaopeng.common.core.domain.R;
|
import com.xiaopeng.common.core.web.page.PageInfo;
|
import com.xiaopeng.order.mangodb.model.OrderTrajectory;
|
import com.xiaopeng.order.model.dto.XpOrderCommentDto;
|
import com.xiaopeng.order.model.dto.XpOrderPayDto;
|
import com.xiaopeng.order.model.query.XpHistoryOrderListQuery;
|
import com.xiaopeng.order.model.query.XpOrderExcelQuery;
|
import com.xiaopeng.order.model.query.XpOrderPageQuery;
|
import com.xiaopeng.order.model.query.XpTestOrderPageQuery;
|
import com.xiaopeng.order.model.vo.*;
|
import com.xiaopeng.order.vo.OrderDetailVo;
|
import org.springframework.web.bind.annotation.RequestBody;
|
|
import java.math.BigDecimal;
|
import java.util.List;
|
|
/**
|
* <p>
|
* 订单 服务类
|
* </p>
|
*
|
* @author mitao
|
* @since 2026-02-03
|
*/
|
public interface IXpTestOrderService extends IService<XpTestOrder> {
|
|
/**
|
* 添加测试单
|
* @param query
|
*/
|
void addTestOrder(AddTestOrderVo query);
|
|
|
/**
|
* 订单分页列表
|
*
|
* @param query 分页查询参数
|
* @return 分页结果
|
*/
|
PageInfo<XpTestOrderPageVO> pageList(XpTestOrderPageQuery query);
|
|
/**
|
* 获取订单详情
|
*
|
* @param id 订单ID
|
* @return 订单详情
|
*/
|
XpTestOrderDetailVO getOrderDetail(Long id);
|
|
/**
|
* 删除订单(逻辑删除)
|
*
|
* @param id 订单ID
|
*/
|
void deleteOrder(Long id);
|
|
|
/**
|
* 取消或关闭订单
|
*
|
* @param orderId 订单ID
|
* @param type 操作类型:1=取消订单,2=关闭订单
|
*/
|
void cancelOrCloseOrder(Long orderId, Integer type);
|
|
/**
|
* 改派订单
|
*
|
* @param orderId 订单ID
|
* @param newVehicleId 新车辆ID
|
* @param reassignReason 改派原因(可选)
|
*/
|
void reassignOrder(Long orderId, Long newVehicleId, String reassignReason);
|
|
|
/**
|
* 修改订单状态
|
* @param orderId 订单id
|
* @param status 状态 0=已取消,1=待接单,2=待出发,3=接驾中,4=待客上车,5=乘客已上车,6=服务中,7=待客下车,8=待付款,9=待评价,10=已完成
|
* @return 修改结果
|
*/
|
R<String> updateOrderStatus(Long orderId, Integer status);
|
|
|
|
Boolean endTrip(Long orderId);
|
|
|
|
/**
|
* 获取订单数量
|
* @return
|
*/
|
Integer getOrderNum(GetOrderNumDto dto);
|
|
|
/**
|
* 保存车辆位置信息
|
* @param orderTrajectory
|
*/
|
void saveVehicleLocation(OrderTrajectory orderTrajectory);
|
|
|
/**
|
* 订单改价
|
* @param id
|
* @param amount
|
*/
|
void changeAmount(Long id, BigDecimal amount);
|
}
|