package com.common.mapper;

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

import java.util.List;
import java.util.UUID;
/**
 * 分析规则Mapper
 */
@Mapper
public interface AnalysisAnalysisRuleMapper {

    /**
     * 查询指定运行模式的活动规则
     *
     * @param runMode 运行模式：realtime-实时/offline-离线
     * @return 规则列表
     */
    List<AnalysisAnalysisRule> selectActiveRulesByRunMode(@Param("runMode") String runMode);

    /**
     * 根据规则ID查询规则
     *
     * @param ruleId 规则ID
     * @return 规则信息
     */
    AnalysisAnalysisRule selectByRuleId(@Param("ruleId") String ruleId);

    /**
     * 更新规则任务状态
     *
     * @param ruleId    规则ID
     * @param taskStatus 任务状态
     * @param updateBy  更新人ID
     * @return 影响行数
     */
    int updateTaskStatus(@Param("ruleId") String ruleId,
                        @Param("taskStatus") String taskStatus,
                        @Param("updateBy") Long updateBy);

    /**
     * 根据ID查询规则
     *
     * @param ruleId 规则ID
     * @return 规则信息
     */
    AnalysisAnalysisRule selectById(@Param("ruleId") String ruleId);
}
