puzhibing
2026-02-12 9aafc10be83aaec35e809a10d99b7b90b09c243f
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
package com.xiaopeng.vehicleConvoy.service;
 
import com.baomidou.mybatisplus.extension.service.IService;
import com.xiaopeng.api.dto.vehicleConvoy.VehicleTemperatureDto;
import com.xiaopeng.api.model.vehicleConvoy.XpVehicle;
import com.xiaopeng.api.vo.vehicleConvoy.VehicleTemperatureVo;
import com.xiaopeng.common.core.web.page.PageInfo;
import com.xiaopeng.vehicleConvoy.model.dto.*;
import com.xiaopeng.vehicleConvoy.model.importExcel.XpVehicleImportExcel;
import com.xiaopeng.vehicleConvoy.model.query.*;
 
import java.util.List;
 
/**
 * <p>
 * 车辆管理 服务类
 * </p>
 *
 * @author mitao
 * @since 2026-02-03
 */
public interface IXpVehicleService extends IService<XpVehicle> {
    /**
     * 根据ID列表批量查询车辆信息
     *
     * @param ids 车辆ID列表
     * @return 车辆列表
     */
    List<XpVehicle> listByIds(List<Long> ids);
 
    /**
     * 查询可改派的车辆列表
     *
     * @return 车辆列表
     */
    List<XpVehicle> listAvailableVehicles();
 
    /**
     * 查询车辆列表接口-地图
     *
     * @return 车辆列表
     */
    PageInfo<XpVehicle> pageList(VehicleMapQuery query);
 
    /**
     * 根据车牌号查询车辆信息
     * @param plateNumber
     * @return
     */
    List<XpVehicle> listByPlateNumber(String plateNumber);
 
    /**
     * 根据围栏ID查询车辆信息
     * @param fenceId
     * @return
     */
    List<XpVehicle> listByFenceId(Long fenceId);
 
 
    /**
     * 车辆详情-车门解锁/后备箱解锁
     * @param dto 车门解锁/后备箱解锁参数
     * @return
     */
    Integer unlock(UnlockAppletDTO dto);
 
    /**
     * 车辆详情-设定温度
     * @param dto 设定温度参数
     * @return
     */
    Integer setTemperature(SetTemperatureDTO dto);
 
    /**
     * 新增车辆
     *
     * @param dto 新增车辆数据传输对象
     */
    void addVehicle(VehicleAddDTO dto);
 
    /**
     * 编辑车辆
     *
     * @param dto 编辑车辆数据传输对象
     */
    void editVehicle(VehicleEditDTO dto);
 
    /**
     * 完善/更新车辆信息(保险、年检、运营资质等)
     *
     * @param dto 完善车辆信息数据传输对象
     */
    void improveInfo(VehicleImproveInfoDTO dto);
 
    /**
     * 批量运营(在库→运营)
     *
     * @param idStr 车辆ID列表
     */
    void batchOperation(String idStr);
 
    /**
     * 批量在库(运营→在库)
     *
     * @param idStr 车辆ID列表
     */
    void batchStock(String idStr);
 
    /**
     * 批量设置运营区域
     *
     * @param ids          车辆ID列表
     * @param electronicId 运营区域ID(围栏ID)
     */
    void batchSetElectronic(List<Long> ids, Long electronicId);
 
    /**
     * 在库车辆管理分页列表
     *
     * @param query 查询参数
     * @return 分页结果
     */
    PageInfo<XpVehicle> vehiclePageList(VehiclePageQuery query);
 
    /**
     * 在库车辆导出列表
     *
     * @param query 查询参数
     * @return 车辆列表
     */
    List<XpVehicle> vehicleExportList(VehicleExportQuery query);
 
    /**
     * 导入车辆
     *
     * @param importList 导入数据列表
     */
    void importVehicles(List<XpVehicleImportExcel> importList);
 
    /**
     * 车辆详情(含围栏名称)
     *
     * @param id 车辆ID
     * @return 车辆详情
     */
    XpVehicle getVehicleDetail(Long id);
 
    /**
     * 运营车辆管理分页列表
     * @param query
     * @return
     */
    PageInfo<XpVehicle> operationPageList(OperationVehiclePageQuery query);
 
    /**
     * 导出在库车辆列表
     *
     * @param query 查询参数
     */
    List<XpVehicle> operationVehicleExportList(OperationVehicleExportQuery query);
 
    /**
     * 查询车辆温度
     *
     * @param orderId 订单ID
     * @return 车辆温度
     */
    VehicleTemperatureDto queryTemperatureByOrderId(Long orderId, String uid);
}