package com.aegis.emergency.alert.service;

import java.util.List;
import com.baomidou.mybatisplus.extension.service.IService;
import com.aegis.emergency.alert.constant.AlertLogAction;
import com.aegis.emergency.alert.domain.DutyAlertLog;

/**
 * 警情操作日志 Service
 *
 * 提供日志记录与查询能力
 *
 * @author aegis
 */
public interface DutyAlertLogService extends IService<DutyAlertLog> {

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

    /**
     * 根据警情 ID 查询操作日志
     *
     * @param alertId 警情 ID
     * @return 日志集合
     */
    List<DutyAlertLog> listByAlertId(Long alertId);

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