package com.stylefeng.guns.modular.crossCity.server; import com.baomidou.mybatisplus.service.IService; import com.stylefeng.guns.modular.crossCity.model.OrderCrossCity; import com.stylefeng.guns.modular.crossCity.warpper.OrderCrossCityOnBehalfWarpper; import com.stylefeng.guns.modular.crossCity.warpper.OrderCrossCityWarpper; import com.stylefeng.guns.modular.system.model.OrderPosition; import com.stylefeng.guns.modular.system.util.ResultUtil; import com.stylefeng.guns.modular.system.warpper.BaseWarpper; import java.util.List; import java.util.Map; public interface IOrderCrossCityService extends IService { /** * 获取司机的抢单页面订单详情 * @param orderId * @return * @throws Exception */ Map queryPushOrder(Integer orderId) throws Exception; /** * 获取司机端首页订单列表 * @param state 1=服务中,2=待服务(30分钟定义预约) * @param driverId * @return * @throws Exception */ List> queryOrderList(Integer state, Integer driverId) throws Exception; /** * 获取司机端我的订单列表 * @param state 1=全部,2=待支付,3=已取消 * @param uid * @return * @throws Exception */ List> queryMyAllOrder(Integer state, Integer uid) throws Exception; /** * 获取订单详情页(服务中的页面) * @param orderId * @return * @throws Exception */ Map queryOrderInfo(Integer orderId) throws Exception; /** * 走订单流程操作 * @param orderId * @param state * @return * @throws Exception */ ResultUtil process(Integer orderId, Integer state, Double lon, Double lat, String address) throws Exception; /** * 获取订单明细 * @param orderId * @return * @throws Exception */ Map queryOrderCrossCityInfo(Integer orderId) throws Exception; /** * 修改跨城订单顺序 * @param orderId * @throws Exception */ void setOrderCrossCitySort(Integer orderId) throws Exception; /** * 跨城下单操作 * @param orderCrossCityWarpper * @param uid * @return * @throws Exception */ ResultUtil orderCrossCity(OrderCrossCityWarpper orderCrossCityWarpper, Integer uid) throws Exception; /** * 扫码支付回调处理 * @param orderId 订单id * @param order_id 工行订单号 * @throws Exception */ void generatePayCallback(Integer orderId, String order_id) throws Exception; /** * 计算支付金额 * @param startLonLat * @param endLonLat * @param peopleNumber * @param travelMode * @param lineId * @param serverCarModelId * @return * @throws Exception */ ResultUtil queryOrderMoney(String startLonLat, String endLonLat, Integer peopleNumber, Integer travelMode, Integer lineId, Integer serverCarModelId, Integer totalSeat, String seatNumber) throws Exception; /** * 订单完成支付订单操作 * @param payType * @param orderId * @return * @throws Exception */ ResultUtil payCrossCityOrder(Integer payType, Integer orderId, Integer couponId, Integer type)throws Exception; /** * 支付完成后的订单处理 * @param id 订单=id * @param order_id 工行支付单号 * @param type 1=微信,2=支付宝 * @throws Exception */ void payOrderCrossCityCallback(Integer id, String order_id, Integer type) throws Exception; /** * 计算已服务的实时里程 */ boolean calculateMileage(OrderPosition orderPosition) throws Exception; List queryListOrder(Integer driverId, Integer lineShiftId, List state, String day) throws Exception; /** * 获取所有快到期的预约单(出行时间在30分钟内) * @return * @throws Exception */ List queryMaturity() throws Exception; /** * 获取需要解绑小号的订单数据 * @return * @throws Exception */ List taskMidAxbUnBindSend() throws Exception; ResultUtil cancleOrder(Integer orderId) throws Exception; /** * 跨城代客下单操作 * @param warpper 代客下单参数 * @param driverId 司机ID * @return 订单ID * @throws Exception */ ResultUtil orderCrossCityOnBehalf(OrderCrossCityOnBehalfWarpper warpper, Integer driverId) throws Exception; /** * 代客下单支付 * @param crossCityOrderId * @param type * @return */ ResultUtil orderOnBehalfPay(int crossCityOrderId, int type,Integer driverId) throws Exception; }