package com.cdzy.operations.service; import com.cdzy.operations.model.dto.EbikeEcuInOverview; import com.cdzy.operations.model.vo.EbikeEcuInfoBatchVo; import com.cdzy.operations.model.vo.EbikeEcuInfoVo; import com.mybatisflex.core.service.IService; import com.cdzy.operations.model.entity.EbikeEcuInfo; import java.io.IOException; import java.util.List; /** * 中控基本信息 服务层。 * * @author attiya * @since 2025-09-15 */ public interface EbikeEcuInfoService extends IService { /** * 中控入库 * @param ebikeEcuInfo 中控信息 */ void saveEcu(EbikeEcuInfoVo ebikeEcuInfo); /** * 批量入库 * @param batchVo 入库信息 */ void batchSave(EbikeEcuInfoBatchVo batchVo); /** * 总览 * @return 总览数据 */ List overview(); /** * 检测设备是否在线 * @param ecuSn 中控SN码 * @param bikeCode 车辆编号 * @return 结果 */ boolean online(String ecuSn, String bikeCode) throws IOException; /** * 寻车铃命令 * @param ebikeEcuInfo 中控信息 * @return 结果 */ boolean findBike(EbikeEcuInfo ebikeEcuInfo); /** * GPS命令 * @param ebikeEcuInfo 中控信息 * @return 结果 */ boolean gps(EbikeEcuInfo ebikeEcuInfo); /** * 打开电池仓锁命令 * @param ebikeEcuInfo 中控信息 * @return 结果 */ boolean openBatteryLock(EbikeEcuInfo ebikeEcuInfo); /** * 关闭电池仓所命令 * @param ebikeEcuInfo 中控信息 * @return 结果 */ boolean closeBatteryLock(EbikeEcuInfo ebikeEcuInfo); /** * 校验参数 * @param ecuSn 中控SN码 * @param bikeCode 车辆编号 * @return 结果 */ boolean checkSnOrBikeCode(String ecuSn, String bikeCode); /** * 关锁 * @param ebikeEcuInfo 中控信息 * @return 结果 */ boolean lock(EbikeEcuInfo ebikeEcuInfo); /** * 开锁 * @param ebikeEcuInfo 中控信息 * @return 结果 */ boolean unLock(EbikeEcuInfo ebikeEcuInfo); /** * 打开头盔锁 * @param ebikeEcuInfo 中控信息 * @return 结果 */ boolean openHelmet(EbikeEcuInfo ebikeEcuInfo); /** * 执行命令 * @param ecuSn 中控SN码 * @param bikeCode 车辆编号 * @param commandCode 命令编码 * @return 执行结果 */ boolean executeCommand(String ecuSn, String bikeCode, String commandCode); }