|
@@ -23,6 +23,7 @@ import java.text.SimpleDateFormat;
|
|
|
import java.util.*;
|
|
|
import java.util.regex.Matcher;
|
|
|
import java.util.regex.Pattern;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* Description
|
|
@@ -45,6 +46,17 @@ public class CmBehaviorRecordServiceImpl implements CmBehaviorRecordService {
|
|
|
log.info("用户行为记录=================》" + ipSavePo.getIp());
|
|
|
CmBehaviorRecordPo cmBehaviorRecordPo = new CmBehaviorRecordPo();
|
|
|
String region = "";
|
|
|
+ String[] splitArray = ipSavePo.getIp().split(",");
|
|
|
+ for (String split : splitArray) {
|
|
|
+ Matcher matcher = pattern.matcher(split);
|
|
|
+ if (!matcher.find()) {
|
|
|
+ cmBehaviorRecordPo.setIP(split);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ Matcher matcher = pattern.matcher(ipSavePo.getIp());
|
|
|
+ if (matcher.find()) {
|
|
|
+ cmBehaviorRecordPo.setIP(splitArray[1]);
|
|
|
+ }
|
|
|
cmBehaviorRecordPo.setIP(ipSavePo.getIp());
|
|
|
if (StringUtils.isNotBlank(ipSavePo.getUserId())) {
|
|
|
cmBehaviorRecordPo.setUserId(ipSavePo.getUserId());
|
|
@@ -478,15 +490,16 @@ public class CmBehaviorRecordServiceImpl implements CmBehaviorRecordService {
|
|
|
List<String> openIdList = recordMapper.getRecodeOpenId(format);
|
|
|
if (null != openIdList && openIdList.size() > 0) {
|
|
|
// 程序中每个openid有多个用户
|
|
|
- Map<String, Integer> cuxOpen = recordMapper.getCuxOpen(format);
|
|
|
+ List<CmBehaviorRecordPo> cuxOpen = recordMapper.getCuxOpen(format);
|
|
|
// 查询小程序数据
|
|
|
List<CmBehaviorRecordPo> behaviorList = recordMapper.getRecordOpenIdInfo(format, openIdList);
|
|
|
for (String openId : openIdList) {
|
|
|
// 用户个数
|
|
|
- num = null == cuxOpen.get(openId) ? 0 : cuxOpen.get(openId);
|
|
|
+ CmBehaviorRecordPo recordPo = cuxOpen.stream().filter(open -> openId.equals(open.getOpenId())).collect(Collectors.toList()).get(0);
|
|
|
+ num = null == recordPo.getCount() ? 0 : recordPo.getCount();
|
|
|
// 获取该openId下访问的用户id
|
|
|
List<Integer> userIdAttribute = recordMapper.getUserIdAttribute(format, openId, null);
|
|
|
- boolean userBean = userBean = userIdAttribute.contains(0);
|
|
|
+ boolean userBean = userIdAttribute.contains(0);
|
|
|
|
|
|
// 该openId下只有两个身份 游客-机构、游客-供应商
|
|
|
if (num == 2 && userBean) {
|