puzhibing
2023-07-09 d9c4252c54adc1684de9b56ad810465945e442a8
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
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
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.OrderListWarpper;
 
import java.util.Date;
import java.util.List;
import java.util.Map;
 
public interface IOrderService {
 
    /**
     * 获取司机首页的订单列表
     * @param uid
     * @return
     * @throws Exception
     */
    List<Map<String, Object>> queryOrderList(Integer state, Integer pageNum, Integer size, Integer uid) throws Exception;
 
 
    /**
     * 获取司机首页的订单列表
     * @param uid
     * @return
     * @throws Exception
     */
    List<Map<String, Object>> 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<OrderListWarpper> queryMyAllOrder(Integer state, Integer pageNum, Integer size, Integer uid) throws Exception;
 
 
    /**
     * 司机端获取抢单页面订单详情
     * @param orderId
     * @param orderType
     * @return
     * @throws Exception
     */
    Map<String, Object> 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, Integer language) 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<String, Object> queryOrderInfo(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 phone, Integer language) 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;
 
 
    /**
     * 确认费用操作
     * @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<String, Object> 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;
 
    //短信催收定时
    void taskSmsSend() 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, Integer language) throws Exception;
 
 
    /**
     * 获取订单费用明细
     * @param orderId
     * @param orderType
     * @return
     * @throws Exception
     */
    Map<String, Object> queryMoneyInfo(Integer orderId, Integer orderType) throws Exception;
 
 
    /**
     * 司机支付订单
     * @param uid
     * @param orderId
     * @param orderType
     * @return
     * @throws Exception
     */
    ResultUtil payOrder(Integer uid, Integer orderId, Integer orderType, Integer payType, Integer language) throws Exception;
}