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

import net.northking.cctp.scriptcase.db.entity.BusComponentTree;
import net.northking.cctp.scriptcase.db.entity.MdBusComponentInfo;
import net.northking.cctp.scriptcase.db.mapper.BusComponentTreeMapper;
import net.northking.cctp.scriptcase.dto.component.BusComponentTreeDetailDto;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * Mybatis数据库持久层（业务层）：业务组件目录树
 *
 * <p>文件内容由代码生成器产生，请不要手动修改！ <br>
 * createdate:  2022-09-21 17:09:45  <br>
 * @author:  maven-cctp-plugin  <br>
 * @since:  1.0 <br>
 */
@Repository
public interface BusComponentTreeDao extends BusComponentTreeMapper
{
    int updateChildNamePath(@Param(value = "tree")BusComponentTree updateChild, @Param(value = "newPath") String namePathNew);

    List<BusComponentTreeDetailDto> findChildTreeList(BusComponentTree entity);

    List<BusComponentTreeDetailDto> findChildTreeListMore(@Param(value = "tree")BusComponentTree queryAll, @Param(value = "projectList")List<String> projectList);

    void updateChildIdPath(@Param(value = "tree")BusComponentTree childUp, @Param(value = "newPath")String idPath);

    List<String> getComTreePath(@Param(value = "tree")MdBusComponentInfo comQuery,@Param(value = "types")List<Integer> types);

    List<String> getComTreePathByMd(@Param(value = "tree")MdBusComponentInfo comQuery, @Param(value = "types")List<Integer> types);


    List<BusComponentTree> findComTreeListLike(@Param(value = "tree")MdBusComponentInfo comQuery,@Param(value = "ids")List<Object> list);

    List<String> getChildTreeIds(BusComponentTree dirId);
}
