Commit 83be553d authored by 董建华's avatar 董建华

调整策略

parent 7eaebcb4
......@@ -24,6 +24,7 @@ import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.Set;
/**
......@@ -53,7 +54,7 @@ public class LoginInterceptorAspect {
/**
* 风控拒绝策略1设备维度 2 账号维度
*/
private static final int [] RISK_STRATEGY = {1,2};
private static final int[] RISK_STRATEGY = {1, 2};
/**
* 警示语
*/
......@@ -173,7 +174,7 @@ public class LoginInterceptorAspect {
/**
* 总数
*/
long sum = countDevices.stream().mapToLong(CountDevice::getNum).sum();
// long sum = countDevices.stream().mapToLong(CountDevice::getNum).sum();
Set<Map.Entry<Device, Long>> entries = DEVICE_REFUSE_STRATEGY.entrySet();
......@@ -181,14 +182,24 @@ public class LoginInterceptorAspect {
Long threshold = entry.getValue();
if (threshold.compareTo(sum) <= 0) {
Optional<CountDevice> anyOp = countDevices.stream()
.filter(d -> d.getDevice() == entry.getKey())
.findAny();
Long num = 0L;
if(anyOp.isPresent()){
CountDevice countDevice = anyOp.get();
num = countDevice.getNum();
}
if (threshold.compareTo(num) <= 0) {
if (!isWhite(phone, KeyType.PHONE)) {
log.warn("此账户登录命中拒绝策略并且没有白名单phone:{},device", phone);
return LoginRefuseResult.builder()
.isPass(Boolean.FALSE)
.rule(RISK_STRATEGY[1])
.threshold(threshold.intValue())
.value(Long.valueOf(sum).intValue())
.value(Long.valueOf(num).intValue())
.build();
}
log.warn("此账户登录命中拒绝策略存在白名单phone:{}", phone);
......@@ -221,7 +232,7 @@ public class LoginInterceptorAspect {
}
if (null == phone || "".equals(phone)) {
log.warn("没有手机号先不存了");
return ;
return;
}
Device device = Device.valueOfCode(deviceCode);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment