rk
19 小时以前 ab9cd2c82bd64de8e33510db1d1e78a5b3b4de70
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.doumee.service.business;
 
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.dao.dto.DriverActiveOrderDTO;
import com.doumee.dao.dto.DriverGrabOrderDTO;
import com.doumee.dao.business.model.DriverInfo;
import com.doumee.dao.dto.DriverLoginRequest;
import com.doumee.dao.dto.DriverPickupDTO;
import com.doumee.dao.dto.DriverRegisterRequest;
import com.doumee.dao.dto.DriverVerifyRequest;
import com.doumee.dao.vo.AccountResponse;
 
import java.util.List;
 
/**
 * 司机注册信息Service定义
 * @author rk
 * @date 2026/04/08
 */
public interface DriverInfoService {
 
    /**
     * 创建
     *
     * @param driverInfo 实体对象
     * @return Integer
     */
    Integer create(DriverInfo driverInfo);
 
    /**
     * 主键删除
     *
     * @param id 主键
     */
    void deleteById(Integer id);
 
    /**
     * 删除
     *
     * @param driverInfo 实体对象
     */
    void delete(DriverInfo driverInfo);
 
    /**
     * 批量主键删除
     *
     * @param ids 主键集
     */
    void deleteByIdInBatch(List<Integer> ids);
 
    /**
     * 主键更新
     *
     * @param driverInfo 实体对象
     */
    void updateById(DriverInfo driverInfo);
 
    /**
     * 批量主键更新
     *
     * @param driverInfos 实体集
     */
    void updateByIdInBatch(List<DriverInfo> driverInfos);
 
    /**
     * 主键查询
     *
     * @param id 主键
     * @return DriverInfo
     */
    DriverInfo findById(Integer id);
 
    /**
     * 条件查询单条记录
     *
     * @param driverInfo 实体对象
     * @return DriverInfo
     */
    DriverInfo findOne(DriverInfo driverInfo);
 
    /**
     * 条件查询
     *
     * @param driverInfo 实体对象
     * @return List<DriverInfo>
     */
    List<DriverInfo> findList(DriverInfo driverInfo);
 
    /**
     * 分页查询
     *
     * @param pageWrap 分页对象
     * @return PageData<DriverInfo>
     */
    PageData<DriverInfo> findPage(PageWrap<DriverInfo> pageWrap);
 
    /**
     * 条件统计
     *
     * @param driverInfo 实体对象
     * @return long
     */
    long count(DriverInfo driverInfo);
 
    /**
     * 司机验证码登录(手机号+短信验证码,无账号自动注册)
     *
     * @param request 验证码登录请求
     * @return AccountResponse
     */
    AccountResponse register(DriverRegisterRequest request);
 
    /**
     * 发送司机验证码登录验证码
     *
     * @param telephone 手机号
     */
    void sendRegisterCode(String telephone);
 
    /**
     * 司机手机号+密码登录
     *
     * @param request 登录请求
     * @return AccountResponse
     */
    AccountResponse login(DriverLoginRequest request);
 
    /**
     * 提交实名认证(初次提交或驳回后修改)
     *
     * @param memberId 会员主键
     * @param request  认证请求
     */
    void submitVerify(Integer memberId, DriverVerifyRequest request);
 
    /**
     * 查询司机实名认证详情
     *
     * @param memberId 会员主键
     * @return DriverInfo
     */
    DriverInfo getVerifyDetail(Integer memberId);
 
    /**
     * 审批司机实名认证(管理端)
     *
     * @param auditDTO 审批参数
     */
    void auditVerify(com.doumee.dao.dto.AuditDTO auditDTO);
 
    /**
     * 管理端查询司机详情(含附件图片、车辆类型名称)
     *
     * @param id 司机主键
     * @return DriverInfo
     */
    DriverInfo getDetail(Integer id);
 
    /**
     * 修改司机状态(启用/禁用)
     *
     * @param dto 修改状态请求
     */
    void changeStatus(com.doumee.dao.dto.ChangeStatusDTO dto);
 
    /**
     * 切换司机接单状态
     *
     * @param memberId 会员主键
     * @param status   接单状态:0=未接单;1=接单中
     */
    void updateAcceptingStatus(Integer memberId, Integer status);
 
    /**
     * 更新司机实时定位
     *
     * @param memberId  会员主键
     * @param longitude 经度
     * @param latitude  纬度
     */
    void updateLocation(Integer memberId, Double longitude, Double latitude);
 
    /**
     * 获取司机端首页信息
     *
     * @param memberId 会员主键
     * @return DriverCenterVO
     */
    com.doumee.dao.vo.DriverCenterVO getDriverCenterInfo(Integer memberId);
 
    /**
     * 司机抢单大厅 - 分页查询可抢订单
     *
     * @param memberId  当前登录会员主键
     * @param pageWrap  分页请求
     * @return PageData<DriverGrabOrderVO>
     */
    com.doumee.core.model.PageData<com.doumee.dao.vo.DriverGrabOrderVO> grabOrderHall(Integer memberId, PageWrap<DriverGrabOrderDTO> pageWrap);
 
    /**
     * 司机进行中订单列表
     *
     * @param memberId 会员主键
     * @param dto      查询条件(status: 3=已抢单, 4=派送中)
     * @return 订单列表
     */
    java.util.List<com.doumee.dao.vo.DriverGrabOrderVO> activeOrders(Integer memberId, DriverActiveOrderDTO dto);
 
    /**
     * 司机端订单详情
     *
     * @param driverId 司机主键
     * @param orderId  订单主键
     * @return DriverOrderDetailVO
     */
    com.doumee.dao.vo.DriverOrderDetailVO driverOrderDetail(Integer driverId, Integer orderId);
 
    /**
     * 司机取消订单(已接单status=2时取消,释放回抢单大厅)
     *
     * @param driverId 司机主键
     * @param orderId  订单主键
     * @param reason   取消原因
     */
    void cancelOrder(Integer driverId, Integer orderId, String reason);
 
    /**
     * 司机抢单,订单状态从已寄存(2)变为已接单(3)
     *
     * @param driverId 司机主键
     * @param orderId  订单主键
     */
    void grabOrder(Integer driverId, Integer orderId);
 
    /**
     * 司机完成取件,订单状态从已接单(3)变为派送中(4)
     *
     * @param driverId 司机主键
     * @param dto      取件请求参数
     */
    void confirmPickup(Integer driverId, DriverPickupDTO dto);
 
}