/** * @file eqpalg/utility/build_alarm_info.h * @brief 构建报警信息 * @author Cat (null.null.null@qq.com) * @version 0.1 * @date 2021-09-17 * * Copyright: Baosight Co. Ltd. * DO NOT COPY/USE WITHOUT PERMISSION * */ #pragma once #include #include #include "json/json.h" #include "mix_cc/type/range.h" namespace utility { using std::string; /** * @brief 构建报警信息 * @param alarm_level 报警等级 * @param ruleId 规则实例ID * @param name 规则实例名称 * @param group 组 * @param alarm_content 报警内容 * @param time_range 时间范围 * @return AlarmInfo */ AlarmInfo build_alarm_info(const string& alarm_level, const string& ruleId, const string& name, const string& group, const std::string& alarm_content, const mix_cc::time_range_t& time_range); /** * @brief 同上,增加了更多的参数,适用于带有范围信息的 * @param alarm_level 报警等级 * @param ruleId 规则实例ID * @param name 规则实例名称 * @param group 组 * @param alarm_content 报警内容 * @param time_range 时间范围 * @param value 报警的数值 * @param desire_range 合理的区间范围 * @return AlarmInfo */ AlarmInfo build_alarm_info( const string& alarm_level, const string& ruleId, const string& name, const string& group, const std::string& alarm_content, const std::vector& value, const std::vector& desire_range, const mix_cc::time_range_t& time_range); /** * @brief 根据上下限设置报警等级 * @param limit_down My Param doc * @param limit_up My Param doc * @param value My Param doc * @return string * "WARN"--警告 偏差小于极限的30% * "ERROR"---异常 偏差大于等于极限的30% */ string get_msg_level(double limit_down, double limit_up, double value); }