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.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.RequestParam; import java.util.List; /** *

* 车辆管理 服务类 *

* * @author mitao * @since 2026-02-03 */ public interface IXpVehicleService extends IService { /** * 根据ID列表批量查询车辆信息 * * @param ids 车辆ID列表 * @return 车辆列表 */ List listByIds(List ids); /** * 查询可改派的车辆列表 * * @return 车辆列表 */ List listAvailableVehicles(Long orderId, Integer orderType); /** * 查询车辆列表接口-地图 * * @return 车辆列表 */ PageInfo pageList(VehicleMapQuery query); /** * 根据车牌号查询车辆信息 * @param plateNumber * @return */ List listByPlateNumber(String plateNumber); /** * 根据围栏ID查询车辆信息 * @param fenceId * @return */ List 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 ids, Long electronicId); /** * 在库车辆管理分页列表 * * @param query 查询参数 * @return 分页结果 */ PageInfo vehiclePageList(VehiclePageQuery query); /** * 在库车辆导出列表 * * @param query 查询参数 * @return 车辆列表 */ List vehicleExportList(VehicleExportQuery query); /** * 导入车辆 * * @param importList 导入数据列表 */ void importVehicles(List importList); /** * 车辆详情(含围栏名称) * * @param id 车辆ID * @return 车辆详情 */ XpVehicle getVehicleDetail(Long id); /** * 运营车辆管理分页列表 * @param query * @return */ PageInfo operationPageList(OperationVehiclePageQuery query); /** * 导出在库车辆列表 * * @param query 查询参数 */ List operationVehicleExportList(OperationVehicleExportQuery query); /** * 查询车辆温度 * * @param orderId 订单ID * @return 车辆温度 */ VehicleTemperatureDto queryTemperatureByOrderId(Long orderId, String uid); /** * 车辆分页列表 * * @param query@return */ PageInfo getVehiclePageList(VehicleSelectPageQuery query); /** * 获取车辆后备箱是否打开状态 * @param id * @return */ Boolean getVehicleTrunkOpenStatus(Long uid, Long id); }