|
@@ -12,6 +12,8 @@ import com.sundata.internalevaluation.configuration.service.IndexSetService;
|
|
|
import com.sundata.internalevaluation.configuration.service.RiskControlStrategyService;
|
|
|
import com.sundata.internalevaluation.configuration.service.RuleService;
|
|
|
import com.sundata.internalevaluation.configuration.service.RuleSetService;
|
|
|
+import org.slf4j.Logger;
|
|
|
+import org.slf4j.LoggerFactory;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.HashMap;
|
|
@@ -21,6 +23,8 @@ import java.util.stream.Collectors;
|
|
|
|
|
|
public class RiskControlStrategyCalcUnit extends CalcUnit {
|
|
|
|
|
|
+ private static final Logger log = LoggerFactory.getLogger(RiskControlStrategyCalcUnit.class);
|
|
|
+
|
|
|
RiskControlStrategyModel riskControlStrategyModel;
|
|
|
/**
|
|
|
* 创建数据单元的绝对对象,对象必须包含如下参数
|
|
@@ -109,6 +113,7 @@ public class RiskControlStrategyCalcUnit extends CalcUnit {
|
|
|
sourceResults.forEach(
|
|
|
(calcUnit,result) -> {
|
|
|
if (calcUnit instanceof RulesCalcUnit) {
|
|
|
+ // 判断规则集是否触发拦截
|
|
|
Map<String,Object> rulesResMap = (Map<String,Object>) result.get(calcUnit.getCalcCode());
|
|
|
hitRuleList.addAll((List) rulesResMap.get("hitRule"));
|
|
|
Object approResult = rulesResMap.get("approResult");
|
|
@@ -116,13 +121,17 @@ public class RiskControlStrategyCalcUnit extends CalcUnit {
|
|
|
rulesMap.put("approResult","2");
|
|
|
}
|
|
|
} else if (calcUnit instanceof IndexListConfigCalcUnit) {
|
|
|
+ // 指标结果
|
|
|
Map<String,Object> indexResMap = (Map<String, Object>) result.get(calcUnit.getCalcCode());
|
|
|
indexListMap.put(calcUnit.getCalcCode(),indexResMap);
|
|
|
}
|
|
|
}
|
|
|
);
|
|
|
+ log.debug("风控策略监测:命中规则集-[{}]-指标清单-[{}]",hitRuleList,indexListMap);
|
|
|
+ // 结果封装
|
|
|
rulesMap.put("hitRule",hitRuleList);
|
|
|
thisResult.put("ruleResult",rulesMap);
|
|
|
+ // 结果返回
|
|
|
thisResult.put("indexResult",indexListMap);
|
|
|
|
|
|
}
|