package com.ruoyi.system.service;

import com.ruoyi.system.entity.DragTableBtn;

import java.util.List;

/**
 * 格绑定的自定义按钮Service接口
 * 
 * @author ruoyi
 * @date 2023-11-07
 */
public interface IDragTableBtnService 
{
    /**
     * 查询格绑定的自定义按钮
     * 
     * @param id 格绑定的自定义按钮主键
     * @return 格绑定的自定义按钮
     */
    DragTableBtn selectDragTableBtnById(Long id);

    /**
     * 查询格绑定的自定义按钮列表
     * 
     * @param dragTableBtn 格绑定的自定义按钮
     * @return 格绑定的自定义按钮集合
     */
    List<DragTableBtn> selectDragTableBtnList(DragTableBtn dragTableBtn);

    /**
     * 新增格绑定的自定义按钮
     * 
     * @param dragTableBtn 格绑定的自定义按钮
     * @return 结果
     */
    int insertDragTableBtn(DragTableBtn dragTableBtn);

    /**
     * 修改格绑定的自定义按钮
     * 
     * @param dragTableBtn 格绑定的自定义按钮
     * @return 结果
     */
    int updateDragTableBtn(DragTableBtn dragTableBtn);

    /**
     * 批量删除格绑定的自定义按钮
     * 
     * @param btnKeys 需要删除的格绑定的自定义按钮主键集合
     * @return 结果
     */
    int batchDeleteDragTableBtnByBtnKeys(List<String> btnKeys);

    /**
     * 删除格绑定的自定义按钮信息
     * 
     * @param id 格绑定的自定义按钮主键
     * @return 结果
     */
    int deleteDragTableBtnById(Long id);

    /**
     * 是否存在按钮子节点
     *
     * @param btnId 菜单ID
     * @return 结果 true 存在 false 不存在
     */
    boolean hasChildByBtnId(Long btnId);

    /**
     * 查询格绑定的自定义按钮
     *
     * @param btnKey 格绑定的自定义按钮唯一标识
     * @return 格绑定的自定义按钮
     */
    DragTableBtn selectDragTableBtnByBtnKey(String btnKey);
}
