package com.cdzy.ebikemaintenance.service; import com.cdzy.ebikemaintenance.model.dto.request.*; import com.cdzy.ebikemaintenance.model.dto.response.*; import com.cdzy.ebikemaintenance.model.dto.response.ResEbikeBikeComDto; import com.cdzy.ebikemaintenance.model.pojo.*; import com.ebike.feign.model.res.ReqEcuSnDto; import com.ebike.feign.model.rsp.RspBikeInfo; import com.mybatisflex.core.paginate.Page; import com.mybatisflex.core.service.IService; import java.util.List; /** * 车辆基本信息 服务层。 * * @author zjd * @since 2025-03-17 */ public interface EbikeBikeInfoService extends IService { /** * 根据车辆编号获取车辆基本信息 * * @param bikeCode 车辆编号 * @return */ EbikeBikeInfo getByBikeCode(String bikeCode); /** * 整车信息保存 * * @param ebikeInfoDto 车辆基本信息 * @return */ Boolean saveEbikeInfo(ReqEbikeBikeInfoDto ebikeInfoDto); /** * 更换头盔 * * @param reqUpdateHelmetDto 车辆基本信息 * @return */ Boolean updateEbikeHelmet(ReqUpdateHelmetDto reqUpdateHelmetDto); /** * 更换中控 * * @param reqUpdateEcuDto 车辆基本信息 * @return */ Boolean updateEbikeEcu(ReqUpdateEcuDto reqUpdateEcuDto); /** * 根据车辆编号获取车辆基本信息 * * @param bikeCode 车辆编号 * @return */ ResEbikeBikeAndEcuCodeDto getBikeINfoData(String bikeCode); /** * 根据车辆编号解绑中控 * * @param bikeId 车辆编号 * @return */ Boolean untieEcu(List bikeId); /** * 获取库存车辆详情信息 * * @param bikeId 车辆ID * @return */ ResInventoryBikeDetailsDto getInventoryBikeDetails(String bikeId); /** * 更换二维码 * * @param reqUpBikeCodeDto 更换二维码dto * @return */ Boolean updateBikeQRCode(ReqUpBikeCodeDto reqUpBikeCodeDto); /** * 分页查询车辆入库信息列表 * * @param queryParam 查询参数 * @return */ Page getInventoryBikeList(ReqEbikeCheckinDto queryParam); /** * 车辆批量出库 * * @param reqBulkDeliveryDto 车辆出库信息 * @return */ Boolean vehicleLeaveWarehouse(ReqBulkDeliveryDto reqBulkDeliveryDto); /** * 故障上报提交保存 * * @param reqEbikeBikeFaultReportDto 故障上报信息 * @return */ Boolean faultReporting(ReqEbikeBikeFaultReportDto reqEbikeBikeFaultReportDto); /** * 根据车辆编号获取故障信息详情 * * @param orderId 工单ID * @return */ ResEbikeBikeFaultReportDto getFaultInfo(String orderId) throws Exception; /** * 获取故障上报历史 * * @param reqFaultHistoryListDto 查询参数 * @return */ List getFaultHistoryList(ReqFaultHistoryListDto reqFaultHistoryListDto); /** * 故障处理完成 * * @param ebikeBikeFaultHandleFileDto 故障处理实体 * @return */ Boolean faultHandelComplete(ReqEbikeBikeFaultHandleDto ebikeBikeFaultHandleFileDto); /** * 领取故障创建工单 * * @param reqEbikeBikeOrderDto 工单基本信息 * @return */ String createWorkOrder(ReqEbikeBikeOrderDto reqEbikeBikeOrderDto); /** * 检查是否有工单 * * @param reqEbikeWorkOrderDto 工单基本信息 * @return */ EbikeBikeOrder inspectHaveOrNotWorkOrder(ReqEbikeWorkOrderDto reqEbikeWorkOrderDto); /** * 检查车辆是否存在 * * @param bikeCode 车辆编号 * @return */ Boolean inspectBikeHaveOrNot(String bikeCode); /** * 获取当期车辆所有故障上报列表 * * @param bikeCode 车辆编号 * @return */ List getFaultReportList(String bikeCode); /** * 换电 * * @param changeDto 换电信息 */ void changeBattery(ReqBatteryApplyChangeDto changeDto); /** * 获取指令记录列表 * * @param reqInstructionRecordListDto 查询参数 * @return */ List getInstructionRecordList(ReqInstructionRecordListDto reqInstructionRecordListDto); /** * 获取工单记录列表 * * @param reqWorkOrderRecordListDto 查询参数 * @return */ List getWorkOrderRecordList(ReqWorkOrderRecordListDto reqWorkOrderRecordListDto); /** * 取消工单 * * @param orderId 工单id * @return */ Boolean canCellWorkOrder(String orderId); /** * 根据SN码批量获取车辆信息 * * @param ecuSnDto SN码列表 * @return 车辆信息 */ List getBikeByEcuSn(ReqEcuSnDto ecuSnDto); /** * 获取车辆详情信息 * * @param reqEbikeGetBikeDetailsDto 车辆基本信息 * @return */ ResEbikeBikeDetailsInfoDto getBikeDetailsINfoData(ReqEbikeGetBikeDetailsDto reqEbikeGetBikeDetailsDto); /** * 根据车辆编号获取中控SN * * @param bikeCode 车辆编号 * @return */ String getEcuSnByBikeCode(String bikeCode); /** * 获取定位基本信息 * * @param reqEbikeGetBikeDetailsDto 车辆基本信息 * @return */ ResEbikeOrientationInfoDto getOrientationInfo(ReqEbikeGetBikeDetailsDto reqEbikeGetBikeDetailsDto); /** * 获取维修工单详情 * * @param orderId 工单id * @return */ ResEbikeBikeWorkOrderDto getWorkOrderInfo(String orderId); /** * 批量投放 * * @param reqWorkOrderDispatchDto * @return */ String createWorkOrderDispatch(ReqWorkOrderDispatchDto reqWorkOrderDispatchDto); /** * 根据工单id 获取调度车辆数据接口 * * @param orderId * @return */ ResDispatchVehicleDto getDispatchVehicleByOrderId(String orderId); /** * 有工单-根据工单ID 车辆编号 新增调度车车辆 * @param ebikeDispatchRecordDto */ EbikeDispatchRecords createDispatchRecord(ReqEbikeDispatchRecordDto ebikeDispatchRecordDto); /** * 删除调度记录接口 * @param recordId * @return */ Boolean deleteDispatchRecord(String recordId); }