package com.cdzy.operations.service; import com.cdzy.operations.model.dto.EbikeBikeOrderInfoDto; import com.cdzy.operations.model.dto.EbikeOrderBikeListDto; import com.cdzy.operations.model.dto.EbikeOrderBikeInfoDto; import com.cdzy.operations.model.entity.EbikeBikeOrder; import com.cdzy.operations.model.entity.EbikeRegion; import com.cdzy.operations.model.vo.*; import com.mybatisflex.core.service.IService; import org.springframework.web.multipart.MultipartFile; import java.io.IOException; import java.util.List; /** * 工单信息 服务层。 * * @author attiya * @since 2025-11-24 */ public interface EbikeBikeOrderService extends IService { /** * 根据中控编码(EcuSn)生成车辆换电工单 * @param ecuSn 中控编码 */ void createBatterySwapOrder(String ecuSn); /** * 根据车辆编号(bikeCode)生成车辆巡检工单 * @param inspectionSwapOrderVo 巡检信息 */ void createInspectionSwapOrder(InspectionSwapOrderVo inspectionSwapOrderVo); /** * 根据车辆编号(bikeCode)生成车辆调度工单 * @param bikeCode 车辆编号 */ void createDispatchSwapOrder(String bikeCode); /** * 工单详情 * @param orderId 订单ID * @return 详情 */ EbikeBikeOrderInfoDto getInfo(Long orderId); /** * 接取工单 * @param orderId 工单ID */ void acceptOrder(Long orderId); /** * 上传故障文件 * @param file 上传文件 * @return 文件路径 */ String upload(MultipartFile file) throws Exception; /** * 生成维修工单 * @param faultOrderVo 故障信息 */ void faultOrder(FaultOrderVo faultOrderVo); /** * 领取电池 * @param batteryClaimVo 领取电池 */ void batteryClaim(EbikeBatteryClaimReturnVo batteryClaimVo); /** * 电池二维码检查(换电工单用,包含带电池中控二维码) * @param code 电池二维码 * */ void checkCode(String code); /** * 归还电池 * @param batteryClaimVo 归还电池 */ void batteryReturn(EbikeBatteryClaimReturnVo batteryClaimVo); /** * 更换电池 * @param changeVo 更换信息 */ void batteryChange(EbikeBatteryChangeVo changeVo); /** * 获取车辆详情 * @param bikeCode 车辆编号 * @return 详情 */ EbikeOrderBikeInfoDto bikeInfo(String bikeCode,Integer orderType) throws IOException; /** * 获取车辆列表 * @param regionId 运营区ID * @return 列表 */ List bikeList(Long regionId) throws IOException; /** * 完成调度 * @param doneDispatchOrderVo 调度信息 */ void bikeDispatch(DoneDispatchOrderVo doneDispatchOrderVo); /** * 完成巡检 * @param inspectionVo 巡检信息 */ void doInspection(DoneInspectionVo inspectionVo); /** * 获取运营区列表(距离排序 * @return 列表 */ List regionList(OrderRegionVo orderRegionVo); /** * 完成维修工单 * @param faultOrderVo 信息 */ void doFault(DoneFaultOrderVo faultOrderVo); }