Map<String, Object> map = parseJSON2Map(json); if (!map.containsKey("data")) { return; } MySqlRuleDelete(); JSONObject aa = (JSONObject) map.get("data"); Map<String, Object> map1 = parseJSON2Map(String.valueOf(aa)); devicename = (String) map1.get("name"); JSONObject bb = (JSONObject) map1.get("deviceProfileData"); Map<String, Object> map2 = parseJSON2Map(String.valueOf(bb)); String bblength = String.valueOf(bb);

if (bblength.length() <= 168) { jedis.set("Error", "PassRule"); return; }

List<Map<String, Object>> alarmList = (List<Map<String, Object>>) map2.get("alarms"); for (Map<String, Object> alarm : alarmList) { Map<String, Object> createRules = (Map<String, Object>) alarm.get("createRules"); if (createRules == null) { continue; } entity_id = (String) alarm.get("id");

for (String color : Arrays.asList("MAJOR", "MINOR", "CRITICAL")) {
    JSONObject colorJson = (JSONObject) createRules.get(color);
    if (colorJson == null) {
        continue;
    }
    JSONObject conditionJson = (JSONObject) colorJson.get("condition");
    Map<String, Object> conditionMap = parseJSON2Map(String.valueOf(conditionJson));
    List<Map<String, Object>> conditionList = (List<Map<String, Object>>) conditionMap.get("condition");
    int num = countOperator(conditionList);

    if (num == 2 || num == 3) {
        ForGreaterOrLessOrEqual(conditionList, num, color);
    } else {
        GreaterOrLessOrEqual(conditionList, 1);
        String StrdefaultValue = String.valueOf(defaultValue);
        jedis.mset("devicename", devicename, "entity_id", entity_id, "model", color, "operation", operation, "defaultValue", StrdefaultValue, "i", String.valueOf(1));
        MySqlRuleInset(jedis.get("devicename"), jedis.get("entity_id"), jedis.get("model"), jedis.get("operation"), defaultValue, 1);  //插入数据库
    }
}

}

private int countOperator(List<Map<String, Object>> conditionList) { int count = 0; for (Map<String, Object> condition : conditionList) { if (condition.containsKey("predicate")) { count++; } } return count; }

优化这段代码: MapString Object map = parseJSON2Mapjson; if mapcontainsKeydata MySqlRuleDelete; JSONObject aa = JSONObject mapgetdata; MapString Ob

原文地址: https://www.cveoy.top/t/topic/bIcN 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录