package com.common.mapper;

import com.common.entity.AnalysisTaskHistory;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 分析任务历史Mapper
 */
@Mapper
public interface AnalysisTaskHistoryMapper {

    /**
     * 插入任务历史记录
     *
     * @param history 任务历史
     * @return 影响行数
     */
    int insert(AnalysisTaskHistory history);

    /**
     * 更新任务历史记录
     *
     * @param history 任务历史
     * @return 影响行数
     */
    int update(AnalysisTaskHistory history);

    /**
     * 根据规则ID查询最近的任务历史
     *
     * @param ruleId 规则ID
     * @param limit  查询数量
     * @return 任务历史列表
     */
    List<AnalysisTaskHistory> selectRecentByRuleId(@Param("ruleId") String ruleId,
                                                   @Param("limit") int limit);

    /**
     * 根据规则ID和状态查询任务历史
     *
     * @param ruleId 规则ID
     * @param status 状态
     * @return 任务历史
     */
    AnalysisTaskHistory selectByRuleIdAndStatus(@Param("ruleId") String ruleId,
                                                @Param("status") String status);
}
