package com.ruoyi.security.mapper;

import java.util.List;
import com.ruoyi.security.domain.RiskEvent;

/**
 * 风险事件Mapper接口
 * 
 * @author ruoyi
 * @date 2025-12-22
 */
public interface RiskEventMapper 
{
    /**
     * 查询风险事件
     * 
     * @param eventId 风险事件主键
     * @return 风险事件
     */
    public RiskEvent selectRiskEventByEventId(Long eventId);

    /**
     * 查询风险事件列表
     * 
     * @param riskEvent 风险事件
     * @return 风险事件集合
     */
    public List<RiskEvent> selectRiskEventList(RiskEvent riskEvent);

    /**
     * 新增风险事件
     * 
     * @param riskEvent 风险事件
     * @return 结果
     */
    public int insertRiskEvent(RiskEvent riskEvent);

    /**
     * 修改风险事件
     * 
     * @param riskEvent 风险事件
     * @return 结果
     */
    public int updateRiskEvent(RiskEvent riskEvent);

    /**
     * 删除风险事件
     * 
     * @param eventId 风险事件主键
     * @return 结果
     */
    public int deleteRiskEventByEventId(Long eventId);

    /**
     * 批量删除风险事件
     * 
     * @param eventIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteRiskEventByEventIds(Long[] eventIds);

    /**
     * 根据关联实体查询风险事件
     * 
     * @param relatedEntityId 关联实体ID
     * @param entityType 实体类型
     * @return 风险事件集合
     */
    public List<RiskEvent> selectRiskEventsByEntity(Long relatedEntityId, String entityType);

    /**
     * 根据事件类型查询风险事件
     * 
     * @param eventType 事件类型
     * @return 风险事件集合
     */
    public List<RiskEvent> selectRiskEventsByType(String eventType);

    /**
     * 根据风险级别查询风险事件
     * 
     * @param riskLevel 风险级别
     * @return 风险事件集合
     */
    public List<RiskEvent> selectRiskEventsByLevel(String riskLevel);

    /**
     * 查询未解决的风险事件
     * 
     * @return 风险事件集合
     */
    public List<RiskEvent> selectUnresolvedRiskEvents();
}