/*
* 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.AtuElementGroup;
import net.northking.cctp.scriptcase.dto.elementLibrary.AtuElementGroupDetailDto;
import net.northking.cctp.scriptcase.dto.elementLibrary.AtuElementGroupMoveDto;
import net.northking.cctp.scriptcase.dto.elementLibrary.AtuElementGroupQueryDto;

import java.util.List;

/**
 * 元素目录管理
 *
 * <p>文件内容由代码生成器产生，请不要手动修改！ <br>
 * createdate:  2022-11-04 09:57:41  <br>
 * @author:  maven-cctp-plugin  <br>
 * @since:  1.0 <br>
 */
public interface AtuElementGroupService extends BasicService<AtuElementGroup>
{
    /**
     * 更新目录名称路径
     * @param childTrees
     * @param namePathNew
     * @return
     */
    int updateChildNamePath(AtuElementGroup childTrees, String namePathNew);

    /**
     * 条件查询目录列表
     * @param elementGroupQueryDto
     * @return
     */
    List<AtuElementGroupDetailDto> selectElementTree(AtuElementGroupQueryDto elementGroupQueryDto);

    /**
     * 根据id列表查询目录
     * @param list
     * @return
     */
    List<AtuElementGroup> queryByIds(List<String> list);

    /**
     * 计算目录最大层数
     * @param queryLevel
     * @return
     */
    int countMaxLevelNo(AtuElementGroup queryLevel);

    /**
     * 移动目录节点后更新对应次序
     * @param childUp
     */
    void updateSeqByMove(AtuElementGroupMoveDto childUp);

    /**
     * 更新目录ID路径
     * @param child
     * @param idPath
     */
    int updateChildIdPath(AtuElementGroup child, String idPath);

    /**
     * 根据目录id查找子树id
     * @param treeId
     * @return
     */
    List<String> queryChildrenTreeIds(String treeId);




}
