package org.qinan.safetyeval.infrastructure.persistence.repository;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.jjb.saas.framework.repository.repo.BaseRepository;
import org.qinan.safetyeval.client.change.request.QualFilingPersonnelCertChangePageQry;
import org.qinan.safetyeval.infrastructure.persistence.domainobject.QualFilingPersonnelCertChangeDO;

import java.util.List;

/**
 * 备案申请人员证书
 *
 * @Author: ltq
 * @date 2026-07-02 10:04:23
 */
public interface QualFilingPersonnelCertChangeRepository extends BaseRepository<QualFilingPersonnelCertChangeDO> {
    /**
     * 根据ID查找
     *
     * @param id 备案申请人员证书ID
     * @return
     */
    QualFilingPersonnelCertChangeDO getById(Long id);

    /**
     * 分页查找备案申请人员证书对象
     *
     * @param iPage                                分页对象
     * @param qualFilingPersonnelCertChangePageQry 条件对象
     * @return ipage
     */
    IPage<QualFilingPersonnelCertChangeDO> listQualFilingPersonnelCertChangePage(IPage iPage, QualFilingPersonnelCertChangePageQry qualFilingPersonnelCertChangePageQry);

    /**
     * 新增备案申请人员证书
     *
     * @param qualFilingPersonnelCertChangeDO 备案申请人员证书
     * @return 结果
     */
    Boolean addQualFilingPersonnelCertChange(QualFilingPersonnelCertChangeDO qualFilingPersonnelCertChangeDO);

    /**
     * 修改备案申请人员证书
     *
     * @param qualFilingPersonnelCertChangeDO 备案申请人员证书
     * @return 结果
     */
    Boolean updateQualFilingPersonnelCertChange(QualFilingPersonnelCertChangeDO qualFilingPersonnelCertChangeDO);


    /**
     * 删除备案申请人员证书
     *
     * @param id
     * @return 结果
     */
    Boolean deletedQualFilingPersonnelCertChangeById(Long id);

    /**
     * 删除备案申请人员证书
     *
     * @param ids
     * @return 结果
     */
    Boolean deletedQualFilingPersonnelCertChangeByIds(Long[] ids);

    /**
     * 根据filingId查询备案申请人员证书列表
     */
    List<QualFilingPersonnelCertChangeDO> listByFilingId(Long filingId);

}
