xuhy
2026-04-18 5c66a7f02f62ce8f5293a59b467461b0468c4e51
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
package com.xiaopeng.vehicleConvoy.service;
 
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.xiaopeng.api.dto.vehicleConvoy.ServiceVehicleListDto;
import com.xiaopeng.api.dto.vehicleConvoy.VehicleTemperatureDto;
import com.xiaopeng.api.model.vehicleConvoy.XpVehicle;
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 com.xiaopeng.vehicleConvoy.model.vo.XpVehicleVO;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
 
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(Long orderId, Integer orderType);
 
    /**
     * 查询车辆列表接口-地图
     *
     * @return 车辆列表
     */
    PageInfo<XpVehicleVO> pageList(VehicleMapQuery query);
 
    /**
     * 根据车牌号查询车辆信息
     * @param plateNumber
     * @return
     */
    List<XpVehicle> listByPlateNumber(String plateNumber);
 
    /**
     * 根据围栏ID查询车辆信息
     * @param fenceId
     * @return
     */
    List<XpVehicle> listByFenceId(Long fenceId);
 
    /**
     * 根据围栏ID查询所有绑定车辆(不过滤状态)
     * @param fenceId
     * @return
     */
    List<XpVehicle> listAllByFenceId(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);
 
 
    /**
     * 查询车辆温度
     *
     * @param orderId 订单ID
     * @return 车辆温度
     */
    Boolean queryTrunkOpenStatusByOrderId(Long orderId, String uid);
 
    /**
     * 车辆分页列表
     *
     * @param query@return
     */
    PageInfo<XpVehicleVO> getVehiclePageList(VehicleSelectPageQuery query);
 
 
    /**
     * 获取车辆后备箱是否打开状态
     * @param id
     * @return
     */
    Boolean getVehicleTrunkOpenStatus(String uid, Long id);
 
 
    /**
     * 分页获取运营车辆列表
     * @param dto
     * @return
     */
    List<XpVehicle> getServiceVehicleList(ServiceVehicleListDto dto);
}