package com.xiaopeng.vehicleConvoy.service;
|
|
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.account.XpOperationsUser;
|
import com.xiaopeng.api.model.vehicleConvoy.XpVehicle;
|
import com.xiaopeng.api.vo.vehicleConvoy.VehicleDoorStatusVo;
|
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.api.vo.vehicleConvoy.XpVehicleVO;
|
|
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);
|
|
|
/**
|
* 运维APP解锁车门和开关后备箱
|
* @param dto
|
* @return
|
*/
|
Integer unlockDoor(UnlockAppDTO dto, XpOperationsUser xpOperationsUser);
|
|
|
/**
|
* 根据订单id获取空调开关状态
|
* @param orderId
|
* @param uid
|
* @return
|
*/
|
Boolean queryVehicleAirConditionerSwitch(Long orderId, String uid);
|
|
|
/**
|
* 开关空调
|
* @param dto
|
* @param uid
|
* @return
|
*/
|
Integer airConditionerUnlock(AirConditionerUnlockDTO dto, String uid);
|
|
|
/**
|
* 获取车辆车门和后备箱状态
|
* @param vehicleId
|
* @return
|
*/
|
VehicleDoorStatusVo getVehicleDoorStatus(Long orderId);
|
}
|