package com.lightinit.hsdataplatform.mapper;

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

import com.lightinit.hsdataplatform.entity.Resource;
import com.lightinit.hsdataplatform.model.admin.ResourceMicroappRegisterListModel;
import com.lightinit.hsdataplatform.model.admin.ResourceMicroappRegisterSearchModel;

import com.lightinit.hsdataplatform.model.admin.*;

import org.apache.ibatis.annotations.Param;

public interface PublishInfoMapper {
    long countByExample(PublishInfoExample example);

    int deleteByExample(PublishInfoExample example);
    int deleteByResourceId(Long id);
    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);
    PublishInfoWithBLOBs selectByResourceId(Long id);

    List<ResourceMicroappRegisterListModel> selectModelList(ResourceMicroappRegisterSearchModel inputModel);

    long selectModelCount(ResourceMicroappRegisterSearchModel inputModel);

    List<DataPublishListModel> queryList(DataPublishSearchModel inputModel);

    long queryListCount(DataPublishSearchModel inputModel);

    List<APIPublishListModel> queryAllPublishApiList(APIPublishSearchModel inputModel);

    long queryAllPublishApiCount(APIPublishSearchModel inputModel);

    List<ResourceAPIRegisterListModel> queryPublishList(ResourceAPIRegisterSearchModel inputModel);

    long queryPublishCount(ResourceAPIRegisterSearchModel inputModel);

    List<DataPublishListModel> queryDataPublishNotAuditList(DataPublishSearchModel inputModel);

    long queryDataPublishNotAuditCount(DataPublishSearchModel inputModel);

    List<ResourceMicroappRegisterListModel> querypublishAduitList(ResourceMicroappRegisterSearchModel inputModel);

    long querypublishAduitCount(ResourceMicroappRegisterSearchModel inputModel);

    int updateByPrimaryKeySelectiveExcludResourceId(PublishInfoWithBLOBs publishInfoWithBLOBs);

    List<ContractResourceListModel> resourceList(ContractResourceSearchModel inputModel);

    long resourceCount(ContractResourceSearchModel inputModel);

    List<String> getRolecodeByUserId(@Param("userId")Long userId);

    ContractResourceResultModel getResourceByPublishInfoId(Long publishInfoId);

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

    void insertOutIdTwo(@Param("outId") String outId,@Param("id") Long id,@Param("authId")String authId);

    List<ResourceMicroappRegisterListModel> querypublishList(ResourceMicroappRegisterSearchModel inputModel);

    long querypublishCount(ResourceMicroappRegisterSearchModel inputModel);
}