package com.lightinit.hsdataportal.mapper;

import com.lightinit.hsdataportal.entity.PublishInfo;
import com.lightinit.hsdataportal.entity.PublishInfoExample;
import com.lightinit.hsdataportal.entity.PublishInfoWithBLOBs;
import java.util.List;
import java.util.Map;

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

public interface PublishInfoMapper {
    long countByExample(PublishInfoExample example);

    int deleteByExample(PublishInfoExample example);

    int deleteByPrimaryKey(Long id);

    int insert(PublishInfoWithBLOBs record);

    int insertSelective(PublishInfoWithBLOBs record);

    List<PublishInfoWithBLOBs> selectByExampleWithBLOBs(PublishInfoExample example);

    List<PublishInfo> selectByExample(PublishInfoExample example);

    PublishInfoWithBLOBs selectByPrimaryKey(Long id);

    int updateByExampleSelective(@Param("record") PublishInfoWithBLOBs record, @Param("example") PublishInfoExample example);

    int updateByExampleWithBLOBs(@Param("record") PublishInfoWithBLOBs record, @Param("example") PublishInfoExample example);

    int updateByExample(@Param("record") PublishInfo record, @Param("example") PublishInfoExample example);

    int updateByPrimaryKeySelective(PublishInfoWithBLOBs record);

    int updateByPrimaryKeyWithBLOBs(PublishInfoWithBLOBs record);

    int updateByPrimaryKey(PublishInfo record);

    /*DataDetailModel getDataDetail(@Param("openType") String openType,@Param("shareType") String shareType, @Param("id") Long id);*/

    List<DataListModel> getDataOpenIndex(DataSearchModel inputModel);
    Long getIndexCount(DataSearchModel inputModel);
    List<DataListModel> getDataShareIndex(DataSearchModel inputModel);

    DataApplyPriceModel getDataOpenType(DataOpenSearchModel dataOpenSearchModel);

    Map<String,Object> getDateShareType(@Param("id")Long id);

    Long getDataFollowTotalCount(Long id);

    DataDetailModel getDataDetail(DataSearchModel dataSearchModel);

    List<DataStructListModel> getDataStructreList(DataOpenSearchModel dataOpenSearchModel);

    Long getSectorDataTotal(DataOpenSearchModel dataOpenSearchModel);

    Long getSectorTotal(DataOpenSearchModel dataOpenSearchModel);

    //List<DataViewListModel> getDataViewList();

    List<DataViewListModel> getDataViewList(DataViewListModel dataViewListModel);
}