package com.gxwebsoft.ai.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.gxwebsoft.ai.entity.AiCloudDoc;
import com.gxwebsoft.ai.param.AiCloudDocParam;
import com.gxwebsoft.common.core.web.PageResult;

import java.util.List;

/**
 * AI云文档目录表Service
 *
 * @author yc
 */
public interface AiCloudDocService extends IService<AiCloudDoc> {

    /**
     * 分页关联查询
     *
     * @param param 查询参数
     * @return PageResult<AiCloudDoc>
     */
    PageResult<AiCloudDoc> pageRel(AiCloudDocParam param);

    /**
     * 关联查询全部
     *
     * @param param 查询参数
     * @return List<AiCloudDoc>
     */
    List<AiCloudDoc> listRel(AiCloudDocParam param);

    /**
     * 根据id查询
     *
     * @param id ID
     * @return AiCloudDoc
     */
    AiCloudDoc getByIdRel(Integer id);
    
    /**
     * 根据目录ID获取本身及所有子孙目录
     *
     * @param docId 目录ID
     * @return List<AiCloudDoc> 目录列表
     */
    List<AiCloudDoc> getSelfAndChildren(Integer docId);

}
