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);
|
|
}
|