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

import net.northking.cctp.scriptcase.db.entity.AtuCaseDataSet;
import net.northking.cctp.scriptcase.db.entity.AtuScriptInfo;
import net.northking.cctp.scriptcase.db.mapper.AtuCaseDataSetMapper;
import net.northking.cctp.scriptcase.dto.IdAndStatusDto;
import net.northking.cctp.scriptcase.dto.atuScript.atuScriptInfo.PrincipalUpdateDto;
import net.northking.cctp.scriptcase.dto.caseDataSet.AtuCaseScriptQueryDto;
import net.northking.cctp.scriptcase.dto.caseDataSet.AtuCaseScriptResultDto;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * Mybatis数据库持久层（业务层）：用例集目录表
 *
 * <p>文件内容由代码生成器产生，请不要手动修改！ <br>
 * createdate:  2023-08-26 14:52:39  <br>
 * @author:  maven-cctp-plugin  <br>
 * @since:  1.0 <br>
 */
@Repository
public interface AtuCaseDataSetDao extends AtuCaseDataSetMapper
{
    List<AtuCaseDataSet> querySetByName(AtuCaseDataSet dto);

    List<AtuCaseDataSet> queryTreeNode(List<String> list);

    Integer replaceTreeSet(List<AtuCaseDataSet> list);

    List<AtuScriptInfo> queryScriptByPath(String path);

    List<String> queryByPath(String path);

    List<AtuCaseScriptResultDto> queryCommonNode(AtuCaseScriptQueryDto dto);

    List<AtuCaseScriptResultDto> querySceneNode(AtuCaseScriptQueryDto dto);

    Integer updatePrincipal(PrincipalUpdateDto dto);

    List<AtuCaseScriptResultDto> queryCommonList(@Param("list") List<String> list,@Param("scriptName")String scriptName);

    List<AtuCaseScriptResultDto> querySceneList(@Param("list") List<String> list,@Param("scriptName")String scriptName);

    List<AtuCaseDataSet> queryPlanScriptByPath(@Param("proId") String proId, @Param("path") String path);

    List<AtuCaseDataSet> querySetByList(@Param("list") List<String> list);

    AtuCaseDataSet queryAtuCaseDataSetByScriptId(@Param("scriptId") String scriptId);

    List<String> queryScriptIdBySetIdList(@Param("list") List<Object> list);

    List<AtuCaseScriptResultDto> queryCommonNodeAndSceneNode(AtuCaseScriptQueryDto dto);


    List<IdAndStatusDto> picusQueryDeletedByScriptIds(@Param("ids") List<String> ids);

    List<String> selectManagerByProject(@Param("projectId") String projectId);

    List<String> selectCreatorByProject(@Param("projectId") String projectId);

    List<String> selectUpdaterByProject(@Param("projectId") String projectId);
}
