package com.aegis.emergency.event.service;

import java.util.List;
import com.baomidou.mybatisplus.extension.service.IService;
import com.aegis.emergency.event.domain.EventLog;

/**
 * 事件操作日志 Service
 *
 * 提供日志记录与查询能力
 *
 * @author aegis
 */
public interface IEventLogService extends IService<EventLog> {

    /**
     * 按条件查询事件日志
     *
     * @param condition 查询条件
     * @return 日志集合
     */
    List<EventLog> listByCondition(EventLog condition);

    /**
     * 根据事件 ID 查询操作日志
     *
     * @param eventId 事件 ID
     * @return 日志集合
     */
    List<EventLog> listByEventId(Long eventId);

    /**
     * 记录事件操作日志
     *
     * @param eventId 事件 ID
     * @param action 操作类型
     * @param payload 操作详情（对象将被序列化为 JSON，可为 null）
     */
    void recordLog(Long eventId, String action, Object payload);
}