puzhibing
2023-03-15 79962435853baf5a28e08461f46a831fffa1a4b0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
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.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 com.stylefeng.guns.modular.taxi.model.OrderTaxi;
 
import java.util.List;
import java.util.Map;
 
public interface IOrderCrossCityService extends IService<OrderCrossCity> {
 
 
    /**
     * 获取司机的抢单页面订单详情
     * @param orderId
     * @return
     * @throws Exception
     */
    Map<String, Object> queryPushOrder(Integer orderId) throws Exception;
 
 
    /**
     * 获取司机端首页订单列表
     * @param state     1=服务中,2=待服务(30分钟定义预约)
     * @param driverId
     * @return
     * @throws Exception
     */
    List<Map<String, Object>> queryOrderList(Integer state, Integer driverId) throws Exception;
 
 
 
    /**
     * 获取司机端我的订单列表
     * @param state     1=全部,2=待支付,3=已取消
     * @param uid
     * @return
     * @throws Exception
     */
    List<Map<String, Object>> queryMyAllOrder(Integer state, Integer uid) throws Exception;
 
 
    /**
     * 获取订单详情页(服务中的页面)
     * @param orderId
     * @return
     * @throws Exception
     */
    Map<String, Object> 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<String, Object> queryOrderCrossCityInfo(Integer orderId) throws Exception;
 
 
    /**
     * 修改跨城订单顺序
     * @param orderId
     * @throws Exception
     */
    void setOrderCrossCitySort(Integer orderId) throws Exception;
 
 
 
 
    /**
     * 跨城下单操作
     * @param orderCrossCityWarpper
     * @param uid
     * @return
     * @throws Exception
     */
    ResultUtil<BaseWarpper> 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<OrderCrossCity> queryListOrder(Integer driverId, Integer lineShiftId, List<Integer> state, String day) throws Exception;
 
 
    /**
     * 获取所有快到期的预约单(出行时间在30分钟内)
     * @return
     * @throws Exception
     */
    List<OrderCrossCity> queryMaturity() throws Exception;
}