You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
36 lines
1.2 KiB
Java
36 lines
1.2 KiB
Java
package com.supervision.utils;
|
|
|
|
import com.google.gson.Gson;
|
|
import com.supervision.police.dto.indexRule.IndexRule;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.HashMap;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
|
|
public class IndexRuleUtil {
|
|
public static List<String> getAtomicIndexIds(String indexRule) {
|
|
List<String> atomicIndexIds = new ArrayList<>();
|
|
Gson gson = new Gson();
|
|
IndexRule rule = gson.fromJson(indexRule, IndexRule.class);
|
|
rule.getRuleConditionGroupList().forEach(group -> {
|
|
group.getRuleConditionList().forEach(condition -> {
|
|
atomicIndexIds.add(condition.getAtomicIndexId());
|
|
});
|
|
});
|
|
return atomicIndexIds;
|
|
}
|
|
|
|
public static Map<String, String> getIndexJudgeLogicMap(String indexRule) {
|
|
Map<String, String> indexJundgeLogicMap = new HashMap<>();
|
|
Gson gson = new Gson();
|
|
IndexRule rule = gson.fromJson(indexRule, IndexRule.class);
|
|
rule.getRuleConditionGroupList().forEach(group -> {
|
|
group.getRuleConditionList().forEach(condition -> {
|
|
indexJundgeLogicMap.put(condition.getAtomicIndexId(), condition.getRelationalSymbol());
|
|
});
|
|
});
|
|
return indexJundgeLogicMap;
|
|
}
|
|
}
|