|
@@ -56,6 +56,11 @@ public class RiskContent implements CommandLineRunner {
|
|
|
*/
|
|
*/
|
|
|
public static final String RISK_TIMING_AD = "AD";
|
|
public static final String RISK_TIMING_AD = "AD";
|
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 登陆 全局风控
|
|
|
|
|
+ */
|
|
|
|
|
+ public static final String GLOBAL_LOGIN_RISK_CODE = "global_login";
|
|
|
|
|
+
|
|
|
@Resource
|
|
@Resource
|
|
|
private RiskFeign riskFeign;
|
|
private RiskFeign riskFeign;
|
|
|
@Resource
|
|
@Resource
|
|
@@ -89,20 +94,26 @@ public class RiskContent implements CommandLineRunner {
|
|
|
if (CollUtil.isEmpty(appIds)) {
|
|
if (CollUtil.isEmpty(appIds)) {
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
|
- Result<List<RiskTemplateView>> riskList = riskFeign.getRiskList(String.join(",", appIds));
|
|
|
|
|
- if (riskList != null && riskList.getData() != null) {
|
|
|
|
|
- for (RiskTemplateView datum : riskList.getData()) {
|
|
|
|
|
|
|
+ Result<List<RiskTemplateView>> result = riskFeign.getRiskList(String.join(",", appIds));
|
|
|
|
|
+ List<String> globalsRiskCodes = Arrays.asList("313", "322");
|
|
|
|
|
+ if (result != null && result.getData() != null) {
|
|
|
|
|
+ localRiskMap.clear();
|
|
|
|
|
+ for (RiskTemplateView datum : result.getData()) {
|
|
|
if (StrUtil.isEmpty(datum.getTiming())) {
|
|
if (StrUtil.isEmpty(datum.getTiming())) {
|
|
|
continue;
|
|
continue;
|
|
|
}
|
|
}
|
|
|
- List<RiskTemplateVo> templateViews = localRiskMap.get(datum.getAppId());
|
|
|
|
|
|
|
+ RiskTemplateVo templateVo = new RiskTemplateVo(datum);
|
|
|
|
|
+ String mapKey = datum.getAppId();
|
|
|
|
|
+ if (globalsRiskCodes.contains(templateVo.getRiskCode())) {
|
|
|
|
|
+ mapKey = GLOBAL_LOGIN_RISK_CODE;
|
|
|
|
|
+ }
|
|
|
|
|
+ List<RiskTemplateVo> templateViews = localRiskMap.get(mapKey);
|
|
|
if (templateViews == null) {
|
|
if (templateViews == null) {
|
|
|
templateViews = new ArrayList<>();
|
|
templateViews = new ArrayList<>();
|
|
|
}
|
|
}
|
|
|
- RiskTemplateVo templateVo = new RiskTemplateVo(datum);
|
|
|
|
|
templateVo.setValidateParams(datum.getValidateParams());
|
|
templateVo.setValidateParams(datum.getValidateParams());
|
|
|
templateViews.add(templateVo);
|
|
templateViews.add(templateVo);
|
|
|
- localRiskMap.put(datum.getAppId(), templateViews);
|
|
|
|
|
|
|
+ localRiskMap.put(mapKey, templateViews);
|
|
|
}
|
|
}
|
|
|
log.info("[RiskContent]已拉取最新风控配置");
|
|
log.info("[RiskContent]已拉取最新风控配置");
|
|
|
}
|
|
}
|
|
@@ -201,10 +212,16 @@ public class RiskContent implements CommandLineRunner {
|
|
|
List<RiskTemplateVo> list = new ArrayList<>();
|
|
List<RiskTemplateVo> list = new ArrayList<>();
|
|
|
List<RiskTemplateVo> views = localRiskMap.get(appId);
|
|
List<RiskTemplateVo> views = localRiskMap.get(appId);
|
|
|
if (CollUtil.isNotEmpty(views)) {
|
|
if (CollUtil.isNotEmpty(views)) {
|
|
|
- list = views.stream()
|
|
|
|
|
- .filter(view -> StrUtil.equals(view.getTiming(), timing))
|
|
|
|
|
- .collect(Collectors.toList());
|
|
|
|
|
|
|
+ list.addAll(views);
|
|
|
|
|
+ }
|
|
|
|
|
+ if (RISK_TIMING_LOGIN.equals(timing)) {
|
|
|
|
|
+ List<RiskTemplateVo> globals = localRiskMap.get(GLOBAL_LOGIN_RISK_CODE);
|
|
|
|
|
+ if (CollUtil.isNotEmpty(globals)) {
|
|
|
|
|
+ list.addAll(globals);
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
- return list;
|
|
|
|
|
|
|
+ return list.stream()
|
|
|
|
|
+ .filter(view -> StrUtil.equals(view.getTiming(), timing))
|
|
|
|
|
+ .collect(Collectors.toList());
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|