longz
2026-06-30 80fd77e1bcb47726e440b8a728838189cd39a56a
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
package com.stylefeng.guns.modular.crossCity.server;
 
import com.baomidou.mybatisplus.service.IService;
import com.stylefeng.guns.modular.crossCity.model.LineShiftDriver;
import com.stylefeng.guns.modular.crossCity.warpper.AddSelfTripWarpper;
import com.stylefeng.guns.modular.crossCity.warpper.DriverShiftListWarpper;
import com.stylefeng.guns.modular.crossCity.warpper.LineShiftItemWarpper;
import com.stylefeng.guns.modular.crossCity.warpper.OtherDriverShiftWarpper;
import com.stylefeng.guns.modular.crossCity.warpper.ScanOrderDetailWarpper;
import com.stylefeng.guns.modular.system.util.ResultUtil;
 
import java.util.List;
import java.util.Map;
 
public interface ILineShiftDriverService extends IService<LineShiftDriver> {
 
 
    /**
     * 预约班次操作
     * @param lineShiftId
     * @param time
     * @param driverId
     * @return
     * @throws Exception
     */
    ResultUtil reservation(Integer type, Integer lineShiftId, String time, Integer driverId) throws Exception;
 
    /**
     * 【202601】查询司机排班列表
     * @param driverId 司机id
     * @param date 日期(yyyy-MM-dd),为空则默认当天
     * @return
     * @throws Exception
     */
    DriverShiftListWarpper queryDriverShiftList(Integer driverId, String date) throws Exception;
 
    /**
     * 【202604】查询司机本人已领取/被分配的排班列表(今天及之后)
     * @param driverId 司机id
     * @param date 日期(yyyy-MM-dd),为空查今天及之后,不为空查当天
     * @param pageNum 页码(首页1)
     * @param size 每页条数
     * @return 排班列表
     * @throws Exception
     */
    List<LineShiftItemWarpper> queryMyDriverShiftList(Integer driverId, String date, Integer pageNum, Integer size) throws Exception;
 
    /**
     * 【202604】根据司机排班id查询同班次其他司机信息
     * @param driverShiftId 司机排班id
     * @param orderIds 订单id(可选,多个以逗号分隔,用于改派场景判断是否需要确认)
     * @return 其他司机列表
     * @throws Exception
     */
    List<OtherDriverShiftWarpper> queryOtherDriverShiftListWithShiftId(Long driverShiftId, String orderIds) throws Exception;
 
    /**
     * 【202604】新增司机自主行程
     * @param driverId 司机id
     * @param warpper 参数
     * @return lineShiftDriverId、customerId
     * @throws Exception
     */
    ResultUtil<Map<String, Object>> addSelfTrip(Integer driverId, AddSelfTripWarpper warpper) throws Exception;
 
    /**
     * 【202601】查询班次详情
     * @param lineShiftDriverId 班次id
     * @return
     * @throws Exception
     */
    ResultUtil<ScanOrderDetailWarpper> getDetail(Integer lineShiftDriverId);
 
    /**
     * 自动取消已超时且无订单的司机排班
     * @return 取消数量
     * @throws Exception
     */
    Integer autoCancelExpiredNoOrderShifts() throws Exception;
}