package com.bootdo.data.service;

import java.util.List;

import com.bootdo.common.utils.Query;
import com.bootdo.data.domain.CaInfo;
import com.bootdo.data.domain.CaInfoExample;

public interface CaInfoService {


    long countByExample(CaInfoExample example);

    int deleteByExample(CaInfoExample example);

    int deleteByPrimaryKey(Integer id);

    int insert(CaInfo record);

    int insertSelective(CaInfo record);

    List<CaInfo> selectByExample(CaInfoExample example);

    CaInfo selectByPrimaryKey(Integer id);

    int updateByExampleSelective(CaInfo record, CaInfoExample example);

    int updateByExample(CaInfo record, CaInfoExample example);

    int updateByPrimaryKeySelective(CaInfo record);

    int updateByPrimaryKey(CaInfo record);

    /**
     * 分页条件查询 证书列表数据
     *
     * @param query
     * @return
     */
    List<CaInfo> queryPage(Query query);

    /**
     * 分页条件查询 证书列表数据 条数
     *
     * @param query
     * @return
     */
    int queryPageCount(Query query);

    /**
     * 根据主键获取
     *
     * @param id
     * @return
     */
    CaInfo queryById(Integer id);

    /**
     * 证书状态置为无效
     *
     * @param id
     */
    void caStatusUpdate(Integer id, Integer caStatus) throws Exception;

    /**
     * 根据公司名称和 统一社会信用代码 获取最新的 企业ca
     *
     * @param companyName
     * @param uniformSocialCreditCode
     * @return
     */
    CaInfo getEnterpriseCaByCompanyNameAndUniformSocialCreditCode(String companyName, String uniformSocialCreditCode);

}
