package com.stylefeng.guns.modular.system.service; 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 com.stylefeng.guns.modular.system.warpper.OrderListWarpper; import java.util.Date; import java.util.List; import java.util.Map; public interface IOrderService { /** * 获取司机首页的订单列表 * @param uid * @return * @throws Exception */ List> queryOrderList(Integer state, Integer pageNum, Integer size, Integer uid) throws Exception; /** * 获取司机首页的订单列表 * @param uid * @return * @throws Exception */ List> queryOrderList1(Integer state, Integer type, Integer pageNum, Integer size, Integer uid) throws Exception; /** * 获取司机端我的订单列表 * @param state 1=全部,2=待支付,3=已取消,4=已完成 * @param pageNum * @param size * @param uid * @return * @throws Exception */ List queryMyAllOrder(Integer state, Integer pageNum, Integer size, Integer uid) throws Exception; /** * 获取司机端我的订单列表 * @param pageNum * @param size * @param uid * @return * @throws Exception */ List queryMyAllOrder1(Integer pageNum, Integer size, Integer uid) throws Exception; /** * 司机端获取抢单页面订单详情 * @param orderId * @param orderType * @return * @throws Exception */ Map queryPushOrder(Integer orderId, Integer orderType, String lon, String lat) throws Exception; /** * 司机执行抢单操作 * @param orderId * @param orderType * @param uid * @return * @throws Exception */ ResultUtil grabOrder(Integer orderId, Integer orderType, Integer uid) throws Exception; /** * 司机执行抢单操作 * @param orderId * @param orderType * @param uid * @return * @throws Exception */ ResultUtil grabOrder_(Integer orderId, Integer orderType, Integer uid) throws Exception; /** * 获取订单详情(服务中的订单页面) * @param orderId * @param orderType * @return * @throws Exception */ Map queryOrderInfo(Integer uid, Integer orderId, Integer orderType) throws Exception; /** * 获取改派收费金额 * @param orderId * @return * @throws Exception */ Double queryReassignMoney(Integer orderId, Integer orderType) throws Exception; /** * 走订单流程操作 * @param orderId * @param orderType * @param state * @param uid * @return * @throws Exception */ ResultUtil process(Integer orderId, Integer orderType, Integer state, Integer uid, Double lon, Double lat, String driverImg) throws Exception; /** * 确认费用操作 * @param orderId * @param orderType * @param type * @param travelFee * @param parkingFee * @param crossingFee * @return * @throws Exception */ ResultUtil confirmFees(Integer orderId, Integer orderType, Integer type, Double travelFee, Double parkingFee, Double crossingFee) throws Exception; ResultUtil cancleOrder(Integer orderId, Integer orderType) throws Exception; ResultUtil updatePeopleNum(Integer orderId, Integer peopleNum) throws Exception; /** * 确认费用操作 * @param orderId * @param orderType * @param type * @param travelFee * @return * @throws Exception */ ResultUtil confirmFees1(Integer orderId, Integer orderType, Integer type, Double travelFee, String additionalFee) throws Exception; /** * 确认费用操作 * @param orderId * @param orderType * @param type * @param travelFee * @return * @throws Exception */ ResultUtil confirmFees_(Integer orderId, Integer orderType, Integer type, Double travelFee, Double lon, Double lat) throws Exception; /** * 司机确认费用(车载端)不管之前数据状态直接修改到待支付(流程断网情况的处理流程) * @param orderId * @param orderType * @param type * @param travelFee * @return * @throws Exception */ ResultUtil confirmFees$(Integer orderId, Integer orderType, Integer type, Double travelFee, Double lon, Double lat) throws Exception; /** * 获取司机端待支付页面的详情 * @param orderId * @param orderType * @return */ Map queryToBePaidPage(Integer orderId, Integer orderType) throws Exception; /** * 实时计算行驶里程 * @throws Exception */ boolean calculateMileage(OrderPosition orderPosition) throws Exception; /** * 获取完成的订单数量 * @param driverId * @param start * @param end * @return * @throws Exception */ Integer queryOrderNum(Integer driverId, Date start, Date end) throws Exception; /** * 处理预约单快到出行时间(30分钟内),将司机调整为服务中 * @throws Exception */ void reservationOrder() throws Exception; /** * 定时任务处理结束订单后30分钟解绑小号功能 * @throws Exception */ void taskMidAxbUnBindSend() throws Exception; /** * 更新绑定关系 * @param orderId * @param orderType * @throws Exception */ void RebindMidAxbBindSend(Integer orderId, Integer orderType) throws Exception; /** * 获取接单后的语音播报 * @param orderId * @param orderType * @return * @throws Exception */ String queryVoiceBroadcast(Integer orderId, Integer orderType, String lon, String lat) throws Exception; /** * 完成订单操作 * @param orderId * @param orderType * @return * @throws Exception */ ResultUtil completeOrder(Integer orderId, Integer orderType) throws Exception; /** * 获取订单费用明细 * @param orderId * @param orderType * @return * @throws Exception */ Map queryMoneyInfo(Integer orderId, Integer orderType) throws Exception; /** * 获取附加费配置 * @param orderType * @param orderId * @return * @throws Exception */ List queryAdditionalFee(Integer orderType, Integer orderId, Integer uid) throws Exception; }