package com.lightinit.hsdataportal.mapper;

import com.lightinit.hsdataportal.entity.ResourceCatelog;
import com.lightinit.hsdataportal.entity.ResourceCatelogExample;
import java.util.List;

import com.lightinit.hsdataportal.model.FourResourceCatelogModel;
import com.lightinit.hsdataportal.model.SearchApiOrMicTagListModel;
import com.lightinit.hsdataportal.model.ResourceCatelogSearchList;
import org.apache.ibatis.annotations.Param;

public interface ResourceCatelogMapper {
    long countByExample(ResourceCatelogExample example);

    int deleteByExample(ResourceCatelogExample example);

    int deleteByPrimaryKey(Long id);

    int insert(ResourceCatelog record);

    int insertSelective(ResourceCatelog record);

    List<ResourceCatelog> selectByExample(ResourceCatelogExample example);

    ResourceCatelog selectByPrimaryKey(Long id);

    int updateByExampleSelective(@Param("record") ResourceCatelog record, @Param("example") ResourceCatelogExample example);

    int updateByExample(@Param("record") ResourceCatelog record, @Param("example") ResourceCatelogExample example);

    int updateByPrimaryKeySelective(ResourceCatelog record);

    int updateByPrimaryKey(ResourceCatelog record);

    List<ResourceCatelogSearchList> getResourceCatelogNameAndId(@Param("resourceType")String resourceType,
                                                                @Param("platformType")String platformType,
                                                                @Param("resourceCatelogType")String resourceCatelogType,
                                                                @Param("publishState") String publishState);

    List<SearchApiOrMicTagListModel> SearchApiOrMicTagList(@Param("resourceType") String resourceType,
                                                           @Param("resourceCatelogType") String resourceCatelogType);

    FourResourceCatelogModel selectFourClassify(Long catelogBasic);

    SearchApiOrMicTagListModel SearchApiOrMicTagOrTagName(@Param("resourceType")String resourceType,
                                                          @Param("resourceCatelogType")String resourceCatelogType,
                                                          @Param("tagName")String tagName);
}