package com.lightinit.hsdataplatformresdir.mapper;

import com.lightinit.hsdataplatformresdir.entity.Resource;
import com.lightinit.hsdataplatformresdir.entity.ResourceExample;
import java.util.List;

import com.lightinit.hsdataplatformresdir.model.admin.*;
import org.apache.ibatis.annotations.Param;

public interface ResourceMapper {
    long countByExample(ResourceExample example);

    int deleteByExample(ResourceExample example);

    int deleteByPrimaryKey(Long id);

    int insert(Resource record);

    int insertSelective(Resource record);

    List<Resource> selectByExample(ResourceExample example);

    Resource selectByPrimaryKey(Long id);

    int updateByExampleSelective(@Param("record") Resource record, @Param("example") ResourceExample example);

    int updateByExample(@Param("record") Resource record, @Param("example") ResourceExample example);

    int updateByPrimaryKeySelective(Resource record);

    int updateByPrimaryKey(Resource record);

    ResourceAPIRegisterViewResourceModel queryOneViewResource(long id);

    //查询需要发布的数据（resource,resource_data,sector表）
    List<DataPublishListModel> queryPublishResourceDataList(DataPublishSearchModel inputModel);

    long queryCount(DataPublishSearchModel inputModel);

    List<ClassificationAndAggregationListModel> queryList(ClassificationAndAggregationSearchModel inputModel);

    List<ClassificationAndAggregationListModel> queryClassificationAndAggregationList(ClassificationAndAggregationSearchModel inputModel);

    long queryClassificationAndAggregationCount(ClassificationAndAggregationSearchModel inputModel);

    List<RelationshipManageListModel> queryRelationshipManageList(RelationshipManageSearchModel inputModel);

    long queryRelationshipManageCount(RelationshipManageSearchModel inputModel);

    RelationshipManageViewModel detal(@Param("resourceId") long id, @Param("resourceType")String resourceType);


    List<ResourceAPIRegisterAddAPIInterfaceInputModel> queryInterfaceIn(Long id);

    List<ResourceAPIRegisterAddAPIInterfaceOutputModel> queryInterfaceOut(Long id);

    List<ResourceTreeNodeModel> selectResourceByCatelogCode(ResourceAllImagesSearchModel inputModel);

    List<ResourceAllImagesListModel> findAllList(ResourceAllImagesSearchModel inputModel);

    long findAllListCount(ResourceAllImagesSearchModel inputModel);

    List<ResourceAllImagesListModel> findAllThemeList(ResourceNoImgThemeListModel inputModel);

    long findAllThemeListCount(ResourceNoImgThemeListModel inputModel);

    List<ResourceAllImgFreeModel> selectThisThemeDirectDate(@Param("themeCode") String themeCode);

    ResourceAllImagesListModel findResourceById(String resourceId);

    List<ResourceCountListModel> queryResourceList(ResourceCountSearchModel inputModel);

    long queryResourceCount(ResourceCountSearchModel inputModel);

    void insertOutId(@Param("outId") int outId,@Param("id") Long id);

    List<ResourceTreeNodeModel> selectTwoLogList(ResourceAllImagesSearchModel inputModel);

//    基础图谱

    List<ResourceAllImagesListModel> findBasicsAllList(ResourceAllImagesSearchModel inputModel);

    long findBasicsAllListCount(ResourceAllImagesSearchModel inputModel);

    List<ResourceAllImgFreeModel> selectThisBasicsDirectDate(String themeCode);

    List<ResourceTreeNodeModel> selectBasicsByCatelogCode(ResourceAllImagesSearchModel input);

    ResourceAllImagesListModel findBasicsById(String resourceId);

    List<ResourceAllImagesListModel> findAllBasicsList(ResourceNoImgThemeListModel inputModel);

    long findAllBasicsListCount(ResourceNoImgThemeListModel inputModel);

    //    部门图谱

    List<ResourceAllImagesListModel> findDeptAllList(ResourceAllImagesSearchModel inputModel);

    long findDeptAllListCount(ResourceAllImagesSearchModel inputModel);

    List<ResourceAllImgFreeModel> selectThisDeptDirectDate(String themeCode);

    List<ResourceTreeNodeModel> selectDeptByCatelogCode(ResourceAllImagesSearchModel input);

    ResourceAllImagesListModel findDeptById(String resourceId);

    List<ResourceAllImagesListModel> findAllDeptList(ResourceNoImgThemeListModel inputModel);

    long findAllDeptListCount(ResourceNoImgThemeListModel inputModel);

    // 共享图谱

    List<String> getShareType();

    List<ResourceAllImagesListModel> findShareAllList(ResourceAllImagesSearchModel inputModel);

    long findShareAllListCount(ResourceAllImagesSearchModel inputModel);

    List<ResourceAllImagesListModel> findAllShareList(ResourceNoImgThemeListModel inputModel);

    long findAllShareListCount(ResourceNoImgThemeListModel inputModel);

    ResourceAllImagesListModel findShareById(String resourceId);

    ResourceAllImagesListModel findShareResourceById(String resourceId);

    // 开放图谱
    List<String> getOpenType();

    List<ResourceAllImagesListModel> findAllOpenList(ResourceNoImgThemeListModel inputModel);

    long findAllOpenListCount(ResourceNoImgThemeListModel inputModel);

    List<ResourceAllImagesListModel> findOpenAllList(ResourceAllImagesSearchModel inputModel);

    long findOpenAllListCount(ResourceAllImagesSearchModel inputModel);
}