|
|
@@ -20,8 +20,8 @@ import javax.servlet.http.HttpServletRequest;
|
|
|
import java.util.Date;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
-import java.util.Objects;
|
|
|
import java.util.Map;
|
|
|
+import java.util.Objects;
|
|
|
|
|
|
/**
|
|
|
* <p>登陆模板</p>
|
|
|
@@ -89,9 +89,9 @@ public abstract class AbstractLoginService {
|
|
|
// 配置额外信息
|
|
|
setExtInfo(ytDyzUser, paramMap);
|
|
|
// 添加用户登录记录
|
|
|
- addLoginRecord(loginParam,ytDyzUser.getUserId());
|
|
|
+ addLoginRecord(loginParam,ytDyzUser);
|
|
|
// 调用风控服务校验默认风控配置
|
|
|
- ytRiskValidate(ytDyzUser);
|
|
|
+ ytRiskValidate(ytDyzUser, paramMap);
|
|
|
return ytDyzUser;
|
|
|
}
|
|
|
|
|
|
@@ -115,6 +115,7 @@ public abstract class AbstractLoginService {
|
|
|
beforeDeadWithUserCrud(loginParam, ytDyzUser, paramMap);
|
|
|
deadWithUserCrud(loginParam, ytDyzUser, paramMap);
|
|
|
}
|
|
|
+ ytDyzUser.setLoginType(LoginType.WX);
|
|
|
return ytDyzUser;
|
|
|
}
|
|
|
|
|
|
@@ -147,6 +148,7 @@ public abstract class AbstractLoginService {
|
|
|
// 保存广告信息
|
|
|
WxDefaultConfig defaultConfig = (WxDefaultConfig) paramMap.get("defaultConfig");
|
|
|
saveVisitorAdRecord(ytDyzUser, loginParam, defaultConfig);
|
|
|
+ ytDyzUser.setLoginType(LoginType.VISITOR);
|
|
|
return ytDyzUser;
|
|
|
}
|
|
|
|
|
|
@@ -210,10 +212,10 @@ public abstract class AbstractLoginService {
|
|
|
// 已注册用户处理逻辑
|
|
|
protected abstract void deadWithUserCrud(LoginParam loginParam, YtDyzUser old, Map<String, Object> paramMap);
|
|
|
|
|
|
- private void addLoginRecord(LoginParam param, String userId) {
|
|
|
+ private void addLoginRecord(LoginParam param, YtDyzUser old) {
|
|
|
YtDyzLoginRecord loginRecord = new YtDyzLoginRecord();
|
|
|
loginRecord.setRecordId(IdUtil.fastSimpleUUID());
|
|
|
- loginRecord.setUserId(userId);
|
|
|
+ loginRecord.setUserId(old.getUserId());
|
|
|
loginRecord.setLoginTime(new Date());
|
|
|
loginRecord.setDeviceBrand(param.getBrand());
|
|
|
loginRecord.setDeviceModel(param.getModel());
|
|
|
@@ -221,6 +223,7 @@ public abstract class AbstractLoginService {
|
|
|
loginRecord.setOperator(param.getIpOperator());
|
|
|
loginRecord.setIpAddr(param.getIpLocation());
|
|
|
loginRecord.setPhoneJson(param.getPhoneJson());
|
|
|
+ loginRecord.setLoginType(old.getLoginType().toString());
|
|
|
saveLoginRecord(loginRecord);
|
|
|
}
|
|
|
|
|
|
@@ -233,10 +236,18 @@ public abstract class AbstractLoginService {
|
|
|
/**
|
|
|
* 调用风控服务校验默认风控配置
|
|
|
*/
|
|
|
- protected void ytRiskValidate(YtDyzUser ytDyzUser) {
|
|
|
+ protected void ytRiskValidate(YtDyzUser ytDyzUser, Map<String, Object> paramMap) {
|
|
|
Result<?> result = remoteCheckLoginRisk(ytDyzUser);
|
|
|
- if (result == null || result.getCode() != 200) {
|
|
|
- throw new CommonException(result == null ? "feign invoke Fail!" : result.getMessage());
|
|
|
+ if (result == null) {
|
|
|
+ throw new CommonException("feign invoke Fail!");
|
|
|
+ }
|
|
|
+ if (result.getCode() != 200) {
|
|
|
+ String errorMessage = result.getMessage();
|
|
|
+ if (ytDyzUser.getLoginType() == LoginType.VISITOR && "visitor_lower_value".equals(errorMessage)) {
|
|
|
+ WxDefaultConfig defaultConfig = (WxDefaultConfig) paramMap.get("defaultConfig");
|
|
|
+ throw new CommonException(StrUtil.emptyToDefault(defaultConfig.getLowValueTip(), errorMessage));
|
|
|
+ }
|
|
|
+ throw new CommonException(errorMessage);
|
|
|
}
|
|
|
}
|
|
|
|