package jnpf.certificate.service;

import com.github.pagehelper.PageInfo;
import jnpf.model.certificate.req.app.CertificateAppEmployeeRiskQueryReq;
import jnpf.model.certificate.req.app.CertificateAppRiskChartReq;
import jnpf.model.certificate.req.app.CertificateAppStoreRiskQueryReq;
import jnpf.model.certificate.vo.app.CertificateAppEmployeeRiskVO;
import jnpf.model.certificate.vo.app.CertificateAppRiskChartVO;
import jnpf.model.certificate.vo.app.CertificateAppRiskReminderCountVO;
import jnpf.model.certificate.vo.app.CertificateAppStoreRiskVO;

/**
 * App 端证照风险服务。
 */
public interface CertificateAppRiskService {

    /**
     * 查询证照风险图表统计。
     *
     * @param req 查询参数（组织门店、证照类型）
     * @return 图表统计结果
     */
    CertificateAppRiskChartVO queryChart(CertificateAppRiskChartReq req);

    /**
     * 分页查询员工证照风险列表（缺失、临期、过期）。
     *
     * @param req 查询参数（组织门店、分页）
     * @return 分页结果
     */
    PageInfo<CertificateAppEmployeeRiskVO> queryEmployeePage(CertificateAppEmployeeRiskQueryReq req);

    /**
     * 分页查询门店证照风险列表（缺失、临期、过期）。
     *
     * @param req 查询参数（组织门店、证照类型、状态、分页）
     * @return 分页结果
     */
    PageInfo<CertificateAppStoreRiskVO> queryStorePage(CertificateAppStoreRiskQueryReq req);

    /**
     * 查询风险提醒总数量（员工+组织）。
     *
     * @return 风险提醒数量统计
     */
    CertificateAppRiskReminderCountVO queryRiskReminderCount(String orgId);
}
