package com.lightinit.hsdataplatformresdir.mapper;

import com.lightinit.hsdataplatformresdir.entity.BaseExample;
import com.lightinit.hsdataplatformresdir.entity.DataCatelog;
import com.lightinit.hsdataplatformresdir.entity.DataCatelogExample;
import com.lightinit.hsdataplatformresdir.entity.DataCatelogWithBLOBs;
import java.util.List;

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

public interface DataCatelogMapper {
    long countByExample(DataCatelogExample example);

    int deleteByExample(DataCatelogExample example);

    int deleteByPrimaryKey(Long id);

    int insert(DataCatelogWithBLOBs record);

    int insertSelective(DataCatelogWithBLOBs record);

    List<DataCatelogWithBLOBs> selectByExampleWithBLOBs(DataCatelogExample example);

    List<DataCatelog> selectByExample(DataCatelogExample example);

    DataCatelogWithBLOBs selectByPrimaryKey(Long id);

    int updateByExampleSelective(@Param("record") DataCatelogWithBLOBs record, @Param("example") DataCatelogExample example);

    int updateByExampleWithBLOBs(@Param("record") DataCatelogWithBLOBs record, @Param("example") DataCatelogExample example);

    int updateByExample(@Param("record") DataCatelog record, @Param("example") DataCatelogExample example);

    int updateByPrimaryKeySelective(DataCatelogWithBLOBs record);

    int updateByPrimaryKeyWithBLOBs(DataCatelogWithBLOBs record);

    int updateByPrimaryKey(DataCatelog record);

    List<DataCatelogListModel> getDataCatelogList(DataCatelogSearchModel inputModel);

    long getDataCatelogListCount(DataCatelogSearchModel inputModel);

    List<SectorDataStaticsModel> getAllDataToView();

    List<SectorDataStaticsModel> getDataById(@Param("id") Long id);

    List<SectorChirdrenModel> getChildrenByDataName(@Param("name") String name);

    List<DataCatelogListModel> getSubscribeAndDownloadDataCatelogList(DataCatelogSearchModel inputModel);

    long getSubscribeAndDownloadDataCatelogCount(DataCatelogSearchModel inputModel);

    List<DataCatelogListModel> getDownloadSource(@Param("supplierId") long supplierId, @Param("dataCatelogId") long dataCatelogId);

    List<DataCatelogResourceModel> selectList(@Param("id")Long id, BaseExample.Page pager);

    long selectCount(Long id);
}