/*
* Copyright (c) 京北方信息技术股份有限公司 Corporation 2022 . All rights reserved.
*
*/
package net.northking.cctp.scriptcase.db.service;

import net.northking.cctp.common.db.BasicService;
import net.northking.cctp.scriptcase.db.entity.AtuScriptGroup;

import net.northking.cctp.scriptcase.dto.atuScript.atuScriptGroup.*;


import java.util.List;

/**
 * 脚本分组表
 *
 * <p>文件内容由代码生成器产生，请不要手动修改！ <br>
 * createdate:  2022-10-18 17:29:31  <br>
 * @author:  maven-cctp-plugin  <br>
 * @since:  1.0 <br>
 */
public interface AtuScriptGroupService extends BasicService<AtuScriptGroup>
{
    /**
     * 新建脚本目录
     * @param dto
     * @return
     */
    String addScriptTree(AtuScriptGroupAddDto dto);

    /**
     * 删除脚本目录
     * @param id
     * @return
     */
    Integer deleteScriptTree(String id);

    /**
     * 编辑脚本目录
     * @param dto
     * @return
     */
    Integer updateScriptTree(AtuScriptGroupUpdateDto dto);

    /**
     * 获取子目录列表
     * @param dto
     * @return
     */
    List<AtuScriptGroupDetailDto> queryChildrenTree(AtuScriptGroupQueryDto dto);

    /**
     * 条件查询脚本目录树
     * @param dto
     * @return
     */
    List<AtuScriptGroupDetailDto> queryScriptTree(AtuScriptGroupQueryDto dto);

    /**
     * 拖拽脚本目录
     * @param dto
     * @return
     */
    Integer moveScriptTree(AtuScriptGroupMoveDto dto);

    /**
     * 根据父节点查询子节点列表
     * @param groupId
     */
    List<AtuScriptGroup> queryChildrenTreeList(String groupId);

    List<AtuScriptGroup> queryByIds(List<String> groupIdList);

    /**
     * 条件查询idPath列表
     * @param dto
     * @return
     */
    List<String> getAllIdPath(PublishScriptQueryDto dto);

    List<AtuScriptGroup> findTreeListLike(PublishScriptQueryDto dto);




}
