package com.ktg.iscs.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ktg.iscs.domain.IsKey;
import com.ktg.iscs.domain.vo.key.IsKeyVO;

import java.util.List;

/**
 * 钥匙Service接口
 *
 * @author cgj
 * @date 2024-11-19
 */
public interface IIsKeyService extends IService<IsKey>
{
    /**
     * 查询钥匙
     *
     * @param keyId 钥匙主键
     * @return 钥匙
     */
    IsKey selectIsKeyByKeyId(Long keyId);

    /**
     * 根据nfc查询钥匙
     */
    IsKey selectIsKeyByNfc(String nfc);

    /**
     * 查询钥匙列表
     *
     * @param isKey 钥匙
     * @return 钥匙集合
     */
    List<IsKey> selectIsKeyList(IsKey isKey);

    /**
     * 新增钥匙
     *
     * @param isKey 钥匙
     * @return 结果
     */
    int insertIsKey(IsKey isKey);

    /**
     * 修改钥匙
     *
     * @param isKey 钥匙
     * @return 结果
     */
    int updateIsKey(IsKey isKey);

    /**
     * 批量删除钥匙
     *
     * @param keyIds 需要删除的钥匙主键集合
     * @return 结果
     */
    int deleteIsKeyByKeyIds(String keyIds);

    /**
     * 删除钥匙信息
     *
     * @param keyId 钥匙主键
     * @return 结果
     */
    int deleteIsKeyByKeyId(Long keyId);

    Page<IsKeyVO> getIsKeyPage(Page<IsKey> page, IsKey isKey);

    /**
     * 机柜录入钥匙
     * @param isKey
     * @return
     */
    Boolean insertIsKeyByCabinet(IsKey isKey);

}
