package com.ruoyi.ss.riskInfo.service;

import java.util.List;

import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.ss.riskInfo.domain.RiskInfo;
import com.ruoyi.ss.riskInfo.domain.RiskInfoVO;
import com.ruoyi.ss.riskInfo.domain.RiskInfoQuery;
import com.ruoyi.ss.riskInfo.domain.dto.RiskInfoVerifyDTO;

/**
 * 风控材料Service接口
 *
 * @author ruoyi
 * @date 2024-11-25
 */
public interface RiskInfoService
{
    /**
     * 查询风控材料
     *
     * @param infoId 风控材料主键
     * @return 风控材料
     */
    public RiskInfoVO selectRiskInfoByInfoId(Long infoId);

    /**
     * 查询风控材料列表
     *
     * @param riskInfo 风控材料
     * @return 风控材料集合
     */
    public List<RiskInfoVO> selectRiskInfoList(RiskInfoQuery riskInfo);

    /**
     * 新增风控材料
     *
     * @param riskInfo 风控材料
     * @return 结果
     */
    public int insertRiskInfo(RiskInfo riskInfo);

    /**
     * 修改风控材料
     *
     * @param riskInfo 风控材料
     * @return 结果
     */
    public int updateRiskInfo(RiskInfo riskInfo);

    /**
     * 批量删除风控材料
     *
     * @param infoIds 需要删除的风控材料主键集合
     * @return 结果
     */
    public int deleteRiskInfoByInfoIds(Long[] infoIds);

    /**
     * 删除风控材料信息
     *
     * @param infoId 风控材料主键
     * @return 结果
     */
    public int deleteRiskInfoByInfoId(Long infoId);

    /**
     * 提交
     */
    int submit(Long infoId);

    /**
     *
     * @param infoId
     * @param realNameId
     * @return
     */
    int updateRealName(Long infoId, Long realNameId);

    /**
     * 审核
     */
    int verify(RiskInfoVerifyDTO dto, LoginUser verifier);

    /**
     * 查询数量
     */
    int selectCount(RiskInfoQuery query);
}
