|
@@ -1,6 +1,7 @@
|
|
|
package com.ytpm.lime.service.impl;
|
|
package com.ytpm.lime.service.impl;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+import cn.hutool.core.collection.CollUtil;
|
|
|
import cn.hutool.core.util.IdUtil;
|
|
import cn.hutool.core.util.IdUtil;
|
|
|
import cn.hutool.core.util.RandomUtil;
|
|
import cn.hutool.core.util.RandomUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
import cn.hutool.core.util.StrUtil;
|
|
@@ -8,23 +9,29 @@ import com.ytpm.agent.enums.UserStatusEnum;
|
|
|
import com.ytpm.app.enums.LoginType;
|
|
import com.ytpm.app.enums.LoginType;
|
|
|
import com.ytpm.app.model.YtDyzLoginRecord;
|
|
import com.ytpm.app.model.YtDyzLoginRecord;
|
|
|
import com.ytpm.app.model.YtDyzUser;
|
|
import com.ytpm.app.model.YtDyzUser;
|
|
|
|
|
+import com.ytpm.app.param.DyzAdRecordParam;
|
|
|
import com.ytpm.app.param.LoginParam;
|
|
import com.ytpm.app.param.LoginParam;
|
|
|
|
|
+import com.ytpm.app.param.VisitorLoginParam;
|
|
|
import com.ytpm.app.view.WxDefaultConfig;
|
|
import com.ytpm.app.view.WxDefaultConfig;
|
|
|
import com.ytpm.constant.StrConstant;
|
|
import com.ytpm.constant.StrConstant;
|
|
|
import com.ytpm.feign.RiskFeign;
|
|
import com.ytpm.feign.RiskFeign;
|
|
|
|
|
+import com.ytpm.general.RepMessage;
|
|
|
import com.ytpm.general.Result;
|
|
import com.ytpm.general.Result;
|
|
|
import com.ytpm.handle.AbstractLoginService;
|
|
import com.ytpm.handle.AbstractLoginService;
|
|
|
import com.ytpm.handle.CommonException;
|
|
import com.ytpm.handle.CommonException;
|
|
|
|
|
+import com.ytpm.handle.CustomerException;
|
|
|
import com.ytpm.lime.dao.AppUserMapper;
|
|
import com.ytpm.lime.dao.AppUserMapper;
|
|
|
import com.ytpm.lime.dao.LoginRecordMapper;
|
|
import com.ytpm.lime.dao.LoginRecordMapper;
|
|
|
import com.ytpm.lime.dao.QuestionMapper;
|
|
import com.ytpm.lime.dao.QuestionMapper;
|
|
|
import com.ytpm.lime.redis.RedisService;
|
|
import com.ytpm.lime.redis.RedisService;
|
|
|
|
|
+import com.ytpm.lime.service.AdService;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Component;
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
import java.math.BigDecimal;
|
|
import java.math.BigDecimal;
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.Date;
|
|
import java.util.Date;
|
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
@@ -48,6 +55,8 @@ public class VisitorLoginServiceImpl extends AbstractLoginService {
|
|
|
private RiskFeign riskFeign;
|
|
private RiskFeign riskFeign;
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private RedisService redisService;
|
|
private RedisService redisService;
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ private AdService adService;
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
protected WxDefaultConfig getLoginConfig(Integer appType) {
|
|
protected WxDefaultConfig getLoginConfig(Integer appType) {
|
|
@@ -149,10 +158,29 @@ public class VisitorLoginServiceImpl extends AbstractLoginService {
|
|
|
old.setLoginRecordList(loginRecordMapper.getLoginRecords(old.getUserId()));
|
|
old.setLoginRecordList(loginRecordMapper.getLoginRecords(old.getUserId()));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- @Override
|
|
|
|
|
- protected void beforeDeadWithUserCrud(LoginParam loginParam, YtDyzUser ytDyzUser, Map<String, Object> paramMap) {
|
|
|
|
|
- super.beforeDeadWithUserCrud(loginParam, ytDyzUser, paramMap);
|
|
|
|
|
- // 新增风控 相关广告源记录 ecpm 和预估收益 小于 各自 阈值,登陆返回 301
|
|
|
|
|
|
|
|
|
|
|
|
+ // 仅保存登陆时的三条广告信息 并传入登陆实体用于后续 risk风控校验
|
|
|
|
|
+ protected void saveVisitorAdRecord(YtDyzUser ytDyzUser, LoginParam loginParam, WxDefaultConfig defaultConfig) {
|
|
|
|
|
+ super.saveVisitorAdRecord(ytDyzUser, loginParam, defaultConfig);
|
|
|
|
|
+ VisitorLoginParam visitorLoginParam = (VisitorLoginParam) loginParam;
|
|
|
|
|
+ List<DyzAdRecordParam> preAdList = visitorLoginParam.getPreAdList();
|
|
|
|
|
+ List<String> adRecordIds = new ArrayList<>();
|
|
|
|
|
+ if (CollUtil.isNotEmpty(preAdList)) {
|
|
|
|
|
+ for (DyzAdRecordParam adRecordParam : preAdList) {
|
|
|
|
|
+ if (adRecordParam == null) {
|
|
|
|
|
+ continue;
|
|
|
|
|
+ }
|
|
|
|
|
+ adRecordParam.setUserId(ytDyzUser.getUserId());
|
|
|
|
|
+ adRecordParam.setNickName(ytDyzUser.getNickName());
|
|
|
|
|
+ adRecordParam.setAppId(ytDyzUser.getAppId());
|
|
|
|
|
+ String recordId = adService.saveRecordAndChangeUser(adRecordParam, ytDyzUser);
|
|
|
|
|
+ adRecordIds.add(recordId);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ if(CollUtil.isEmpty(adRecordIds)) {
|
|
|
|
|
+ throw new CustomerException(StrUtil.emptyToDefault(defaultConfig.getLowValueTip(), RepMessage.RISK_VISITOR_LOWER_VALUE));
|
|
|
|
|
+ }
|
|
|
|
|
+ ytDyzUser.setPreAdRecordList(adService.queryRecordByIds(adRecordIds));
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
}
|
|
}
|