package com.zkqy.system.mapper;

import com.zkqy.system.entity.DragTableBtnRelevance;

import java.util.List;

/**
 * 动态格和动态格按钮关联Mapper接口
 * 
 * @author zkqy
 * @date 2023-11-09
 */
public interface DragTableBtnRelevanceMapper 
{
    /**
     * 查询动态格和动态格按钮关联
     * 
     * @param tableKey 动态格和动态格按钮关联主键
     * @return 动态格和动态格按钮关联
     */
    DragTableBtnRelevance selectDragTableBtnRelevanceByTableKey(String tableKey);

    /**
     * 查询动态格和动态格按钮关联列表
     * 
     * @param dragTableBtnRelevance 动态格和动态格按钮关联
     * @return 动态格和动态格按钮关联集合
     */
    List<DragTableBtnRelevance> selectDragTableBtnRelevanceList(DragTableBtnRelevance dragTableBtnRelevance);

    /**
     * 新增动态格和动态格按钮关联
     * 
     * @param dragTableBtnRelevance 动态格和动态格按钮关联
     * @return 结果
     */
    int batchInsertDragTableBtnRelevance(List<DragTableBtnRelevance> dragTableBtnRelevance);

    /**
     * 修改动态格和动态格按钮关联
     * 
     * @param dragTableBtnRelevance 动态格和动态格按钮关联
     * @return 结果
     */
    int updateDragTableBtnRelevance(DragTableBtnRelevance dragTableBtnRelevance);

    /**
     * 删除动态格和动态格按钮关联
     * 
     * @param tableKey 动态格和动态格按钮关联主键
     * @return 结果
     */
    int deleteDragTableBtnRelevanceByTableKey(String tableKey);

    /**
     * 批量删除动态格和动态格按钮关联
     * 
     * @param tableKeys 需要删除的数据主键集合
     * @return 结果
     */
    int deleteDragTableBtnRelevanceByTableKeys(List<String> tableKeys);

    /**
     * 根据tableKey查询所有按钮key
     */
    List<String> selectBtnKeyByTableKey(String tableKey);

    /**
     * 查询按钮是否绑定表格
     * @param btnKeys
     * @return
     */
    int selectBtnKeyBindOrNot(List<String> btnKeys);

    /**
     * 根据按钮key查询
     * @param btnKeys
     * @return
     */
    List<DragTableBtnRelevance> selectDragTableBtnRelevanceByBtnKeys(List<String> btnKeys);
}
