package com.xinelu.manage.mapper.scriptinfonode;

import com.xinelu.manage.domain.scriptinfonode.ScriptInfoNode;
import com.xinelu.manage.vo.scriptInfo.Node;

import java.util.List;

/**
 * 话术信息节点Mapper接口
 *
 * @author xinelu
 * @date 2024-06-12
 */
public interface ScriptInfoNodeMapper {
    /**
     * 查询话术信息节点
     *
     * @param id 话术信息节点主键
     * @return 话术信息节点
     */
    ScriptInfoNode selectScriptInfoNodeById(Long id);

    /**
     * 查询话术信息节点列表
     *
     * @param scriptInfoNode 话术信息节点
     * @return 话术信息节点集合
     */
    List<ScriptInfoNode> selectScriptInfoNodeList(ScriptInfoNode scriptInfoNode);

    /**
     * 新增话术信息节点
     *
     * @param scriptInfoNode 话术信息节点
     * @return 结果
     */
    int insertScriptInfoNode(ScriptInfoNode scriptInfoNode);

    /**
     * 修改话术信息节点
     *
     * @param scriptInfoNode 话术信息节点
     * @return 结果
     */
    int updateScriptInfoNode(ScriptInfoNode scriptInfoNode);

    /**
     * 删除话术信息节点
     *
     * @param id 话术信息节点主键
     * @return 结果
     */
    int deleteScriptInfoNodeById(Long id);

    /**
     * 批量删除话术信息节点
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    int deleteScriptInfoNodeByIds(Long[] ids);

    int deleteScriptInfoNodeByScriptInfoIds(Long[] ids);

    int insertScriptInfoNodeList(List<Node> scriptInfoNodes);
}
