package com.ruoyi.system.mapper;
|
|
import java.util.List;
|
import org.apache.ibatis.annotations.Param;
|
import com.ruoyi.system.domain.TDetectionCabinet;
|
|
/**
|
* 检测柜 Mapper 接口
|
*
|
* @author ruoyi
|
*/
|
public interface TDetectionCabinetMapper
|
{
|
/**
|
* 查询指定的未删除检测柜。
|
*
|
* @param cabinetId 检测柜主键
|
* @return 检测柜信息
|
*/
|
TDetectionCabinet selectDetectionCabinetById(Long cabinetId);
|
|
/**
|
* 按设备综合条件、创建时间及状态条件查询检测柜。
|
*
|
* @param detectionCabinet 查询条件
|
* @return 检测柜列表
|
*/
|
List<TDetectionCabinet> selectDetectionCabinetList(TDetectionCabinet detectionCabinet);
|
|
/**
|
* 查询设备选择弹窗需要的已发现检测柜事实。
|
*
|
* @return 已发现、在线且未登记的检测柜
|
*/
|
List<String> selectRegisteredCabinetCodes();
|
|
/**
|
* 根据设备编码查询未删除检测柜。
|
*
|
* @param cabinetCode 设备编码
|
* @return 检测柜信息
|
*/
|
TDetectionCabinet selectByCabinetCode(String cabinetCode);
|
|
/**
|
* 根据规范化后的 MAC 地址查询未删除检测柜。
|
*
|
* @param macAddress MAC 地址
|
* @return 检测柜信息
|
*/
|
TDetectionCabinet selectByMacAddress(String macAddress);
|
|
/**
|
* 将发现候选设备登记为正式检测柜。
|
*
|
* @param detectionCabinet 候选主键及操作员填写的信息
|
* @return 影响行数
|
*/
|
int insertDetectionCabinet(TDetectionCabinet detectionCabinet);
|
|
/** 写入正式登记检测柜的稳定通道身份。 */
|
int insertDetectionChannel(com.ruoyi.system.domain.TDetectionChannel channel);
|
|
/** 同步正式检测柜的最近发现事实,不触碰软删除记录。 */
|
int updateRegisteredCabinetObservation(@Param("adapterCode") String adapterCode,
|
@Param("devtype") int devtype, @Param("devid") int devid,
|
@Param("onlineStatus") String onlineStatus, @Param("lastSeenAtUtc") java.time.Instant lastSeenAtUtc,
|
@Param("updateLastSeen") boolean updateLastSeen);
|
|
/** 按检测柜通道复合身份同步最近发现事实,不触碰软删除记录。 */
|
int updateRegisteredChannelObservation(@Param("adapterCode") String adapterCode,
|
@Param("devtype") int devtype, @Param("devid") int devid,
|
@Param("subdevid") int subdevid, @Param("chlid") int chlid,
|
@Param("onlineStatus") String onlineStatus, @Param("workStatus") String workStatus,
|
@Param("lastSeenAtUtc") java.time.Instant lastSeenAtUtc, @Param("updateLastSeen") boolean updateLastSeen);
|
|
/** 发现失败或空拓扑时清除该适配器下已登记设备的过期在线事实。 */
|
int markRegisteredFactsUnobservable(@Param("adapterCode") String adapterCode);
|
|
/** 同步检测柜在线事实为离线。 */
|
int markRegisteredCabinetsOffline(@Param("adapterCode") String adapterCode);
|
|
/** 仅推进成功发现的通道最近观测时间,不改变工作状态。 */
|
int touchRegisteredChannelObservation(@Param("adapterCode") String adapterCode,
|
@Param("devtype") int devtype, @Param("devid") int devid,
|
@Param("subdevid") int subdevid, @Param("chlid") int chlid,
|
@Param("lastSeenAtUtc") java.time.Instant lastSeenAtUtc);
|
|
/** 仅推进成功发现的检测柜最近观测时间,不改变在线状态。 */
|
int touchRegisteredCabinetObservation(@Param("adapterCode") String adapterCode,
|
@Param("devtype") int devtype, @Param("devid") int devid,
|
@Param("lastSeenAtUtc") java.time.Instant lastSeenAtUtc);
|
|
/** 软删除正式检测柜对应的通道拓扑。 */
|
int deleteDetectionChannelsByCabinetId(@Param("cabinetId") Long cabinetId);
|
|
/**
|
* 修改检测柜基础信息。
|
*
|
* @param detectionCabinet 检测柜信息
|
* @return 影响行数
|
*/
|
int updateDetectionCabinet(TDetectionCabinet detectionCabinet);
|
|
/**
|
* 修改检测柜启禁用状态。
|
*
|
* @param detectionCabinet 检测柜主键、目标状态及更新人
|
* @return 影响行数
|
*/
|
int updateDetectionCabinetStatus(TDetectionCabinet detectionCabinet);
|
|
/**
|
* 取消检测柜登记,使仍在线的设备重新进入发现候选列表。
|
*
|
* @param cabinetId 检测柜主键
|
* @param updateBy 更新人
|
* @return 影响行数
|
*/
|
int deleteDetectionCabinetById(@Param("cabinetId") Long cabinetId, @Param("updateBy") String updateBy);
|
}
|