package com.lightinit.hsdataportal.mapper;

import com.lightinit.hsdataportal.entity.RequirementApi;
import com.lightinit.hsdataportal.entity.RequirementApiExample;
import com.lightinit.hsdataportal.entity.RequirementApiWithBLOBs;
import java.util.List;

import com.lightinit.hsdataportal.model.APIDemandOpenListModel;
import com.lightinit.hsdataportal.model.APIDemandOpenSearchModel;
import com.lightinit.hsdataportal.model.APIDemandOpenViewModel;
import com.lightinit.hsdataportal.model.APIReceiveListModel;
import org.apache.ibatis.annotations.Param;

public interface RequirementApiMapper {
    long countByExample(RequirementApiExample example);

    int deleteByExample(RequirementApiExample example);

    int deleteByPrimaryKey(Long id);

    int insert(RequirementApiWithBLOBs record);

    int insertSelective(RequirementApiWithBLOBs record);

    List<RequirementApiWithBLOBs> selectByExampleWithBLOBs(RequirementApiExample example);

    List<RequirementApi> selectByExample(RequirementApiExample example);

    RequirementApiWithBLOBs selectByPrimaryKey(Long id);

    int updateByExampleSelective(@Param("record") RequirementApiWithBLOBs record, @Param("example") RequirementApiExample example);

    int updateByExampleWithBLOBs(@Param("record") RequirementApiWithBLOBs record, @Param("example") RequirementApiExample example);

    int updateByExample(@Param("record") RequirementApi record, @Param("example") RequirementApiExample example);

    int updateByPrimaryKeySelective(RequirementApiWithBLOBs record);

    int updateByPrimaryKeyWithBLOBs(RequirementApiWithBLOBs record);

    int updateByPrimaryKey(RequirementApi record);

    List<APIDemandOpenListModel> queryOpenList(APIDemandOpenSearchModel demandOpenSearchModel);

    long queryOpenCount(APIDemandOpenSearchModel demandOpenSearchModel);

    APIDemandOpenViewModel queryView(Long id);

    List<APIReceiveListModel> selectReceiveList(Long id);
}