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

import net.northking.cctp.common.db.Pagination;
import net.northking.cctp.common.http.QueryByPage;
import net.northking.cctp.platform.dto.comlibrary.*;

import java.util.List;
import java.util.Map;

/**
 * 组件清单Restful逻辑接口
 *
 * @author maven-cctp-plugin
 * @since 1.0
 */
public interface CpComponentListApiService {
    /**
     * 查询组件清单列表
     *
     * @param queryByPage 查询条件
     * @return 查询结果列表
     */
    Pagination<CpComponentListDetailDto> pagingQuery(QueryByPage<CpComponentListQueryDto> queryByPage);

    /**
     * 获取组件清单
     *
     * @param uuid 主键
     * @return 接口数据传输对象
     */
    CpComponentListDetailDto findByPK(String uuid);

    List<CpComLibraryTree> getComponentTree(CpComponentLibraryQueryDto query);

    Pagination<CpComponentListDetailDto> pagingQueryNew(QueryByPage<CpComponentListQueryDto> queryByPage);

    List<RecordComTreeDto> getComTreeByType(RecordComTreeQueryDto query);

    List<RecordComTreeDto> getComTreeForLike(RecordComTreeQueryDto query);

    List<RecordComTreeDto> getCommonlyUseList(RecordComTreeQueryDto query);

    List<RecordComTreeDto> getComInfoByIdList(List<String> ids);

    CpComponentListDetailDto getComInfoByName(RecordComInfoByNameDto query);

    List<Map<String,List<String>>> getComBasicInfoByIdList(List<String> ids);

}
