package com.battery.business.service; import java.util.List; import com.battery.business.domain.TDetectionCabinet; import com.battery.business.domain.vo.DiscoveredCabinetVo; /** * 检测柜 Service 接口 * * @author ruoyi */ public interface ITDetectionCabinetService { /** * 根据主键查询未删除的检测柜。 * * @param cabinetId 检测柜主键 * @return 检测柜信息 */ TDetectionCabinet selectDetectionCabinetById(Long cabinetId); /** * 根据综合设备条件、创建时间及状态条件查询检测柜列表。 * * @param detectionCabinet 查询条件 * @return 检测柜列表 */ List selectDetectionCabinetList(TDetectionCabinet detectionCabinet); /** * 查询 Redis 中在线、未过期且尚未正式登记的检测柜候选。 * * @return 可供选择的检测柜设备摘要 */ List selectDiscoveredCabinetList(); /** * 将操作员选择的发现候选设备登记为正式检测柜。 * * @param detectionCabinet 检测柜信息 * @return 影响行数 */ int insertDetectionCabinet(TDetectionCabinet detectionCabinet); /** * 修改检测柜基础信息,不变更运行状态字段。 * * @param detectionCabinet 检测柜信息 * @return 影响行数 */ int updateDetectionCabinet(TDetectionCabinet detectionCabinet); /** * 切换检测柜启禁用状态,测试中的检测柜不允许禁用。 * * @param detectionCabinet 检测柜主键、目标状态及更新人 * @return 影响行数 */ int updateDetectionCabinetStatus(TDetectionCabinet detectionCabinet); /** * 批量取消检测柜登记,测试中的检测柜不允许操作。 * * @param cabinetIds 检测柜主键数组 * @param updateBy 更新人 * @return 影响行数 */ int deleteDetectionCabinetByIds(Long[] cabinetIds, String updateBy); /** * 校验设备编码在未删除数据中是否唯一。 * * @param detectionCabinet 待校验检测柜 * @return true 表示唯一,false 表示重复 */ boolean checkCabinetCodeUnique(TDetectionCabinet detectionCabinet); /** * 校验 MAC 地址在未删除数据中是否唯一。 * * @param detectionCabinet 待校验检测柜 * @return true 表示唯一,false 表示重复 */ boolean checkMacAddressUnique(TDetectionCabinet detectionCabinet); }