package com.ruoyi.app.mapper;

import com.ruoyi.app.DTO.NFIDReadGroupDTO;
import com.ruoyi.app.model.NFIDReadRecord;
import com.ruoyi.app.model.request.ReqValidNFIDRecord;

import java.util.List;

/**
 * nfid识别记录 数据层
 *
 * @author coede
 */
public interface NFIDReadRecordMapper
{
    /**
     * 查询nfid识别记录信息
     *
     * @return nfid识别记录
     */
    public List<NFIDReadRecord> selectNFIDReadRecordList();

    /**
     * 查询可用的nfid识别记录信息
     *
     * @return nfid识别记录
     */
    public List<NFIDReadRecord> selectValidNFIDReadRecord(ReqValidNFIDRecord req);


    /**
     * 通过设备序列号查询识别器信息
     *
     * @param id 记录ID
     * @return nfid识别记录信息
     */
    public NFIDReadRecord selectNFIDReadRecordById(Long id);

    /**
     * 新增nfid识别记录
     *
     * @param record nfid识别记录
     * @return 结果
     */
    public int insertNFIDReadRecord(NFIDReadRecord record);

    /**
     * 批量新增吊钩绑定
     *
     * @param list nfid识别记录
     * @return 结果
     */
    public int insertNFIDReadRecordBatch(List<NFIDReadRecord> list);
    /**
     * 通过设备序列号修改识别器信息
     *
     * @param ids 需要修改的数据主键集合
     * @return nfid识别记录信息
     */
    public int setBindByHook(String[] ids);

    /**
     * 通过设备序列号修改识别器信息
     *
     * @param ids 需要修改的数据主键集合
     * @return nfid识别记录信息
     */
    public int setUnBindByHook(String[] ids);

    /**
     * 将识别记录按照数量分组
     *
     * @return nfid识别记录
     */
    public List<NFIDReadGroupDTO> selectNFIDReadByGroup();

    /**
     * 获取识别器记录分组详情
     *
     * @return nfid识别记录
     */
    public List<NFIDReadRecord> selectNFIDReadRecordListByGroup(ReqValidNFIDRecord req);
}
