|
@@ -387,20 +387,32 @@ public class CmBehaviorRecordServiceImpl implements CmBehaviorRecordService {
|
|
calendar.add(Calendar.DAY_OF_MONTH, -1);
|
|
calendar.add(Calendar.DAY_OF_MONTH, -1);
|
|
Date time = calendar.getTime();
|
|
Date time = calendar.getTime();
|
|
String format = dateFormat.format(time);
|
|
String format = dateFormat.format(time);
|
|
|
|
+ Integer num = 0;
|
|
// 小程序 合并数据使用openId
|
|
// 小程序 合并数据使用openId
|
|
List<String> openIdList = recordMapper.getRecodeOpenId(format);
|
|
List<String> openIdList = recordMapper.getRecodeOpenId(format);
|
|
if (null != openIdList && openIdList.size() > 0) {
|
|
if (null != openIdList && openIdList.size() > 0) {
|
|
|
|
+ // 程序中每个openid有多个用户
|
|
|
|
+ Map<String, Integer> cuxOpen = recordMapper.getCuxOpen(format);
|
|
// 查询小程序数据
|
|
// 查询小程序数据
|
|
List<CmBehaviorRecordPo> behaviorList = recordMapper.getRecordOpenIdInfo(format, openIdList);
|
|
List<CmBehaviorRecordPo> behaviorList = recordMapper.getRecordOpenIdInfo(format, openIdList);
|
|
for (String openId : openIdList) {
|
|
for (String openId : openIdList) {
|
|
- // 将游客数据中的ip和userId修改为机构/供应商数据
|
|
|
|
- for (CmBehaviorRecordPo cmBehaviorRecordPo : behaviorList) {
|
|
|
|
- if (openId.equals(cmBehaviorRecordPo.getOpenId())) {
|
|
|
|
- cmBehaviorRecordPo.setIP(cmBehaviorRecordPo.getIP());
|
|
|
|
- cmBehaviorRecordPo.setUserId(cmBehaviorRecordPo.getUserId());
|
|
|
|
- cmBehaviorRecordPo.setOpenId(openId);
|
|
|
|
- cmBehaviorRecordPo.setAccessDate(format);
|
|
|
|
- recordMapper.updateBehavior(cmBehaviorRecordPo);
|
|
|
|
|
|
+ // 用户个数
|
|
|
|
+ num = null == cuxOpen.get(openId) ? 0 : cuxOpen.get(openId);
|
|
|
|
+ // 获取该openId下访问的用户id
|
|
|
|
+ List<Integer> userIdAttribute = recordMapper.getUserIdAttribute(format, openId, null);
|
|
|
|
+ boolean userBean = userBean = userIdAttribute.contains(0);
|
|
|
|
+
|
|
|
|
+ // 该openId下只有两个身份 游客-机构、游客-供应商
|
|
|
|
+ if (num == 2 && userBean) {
|
|
|
|
+ // 将游客数据中的ip和userId修改为机构/供应商数据
|
|
|
|
+ for (CmBehaviorRecordPo cmBehaviorRecordPo : behaviorList) {
|
|
|
|
+ if (openId.equals(cmBehaviorRecordPo.getOpenId())) {
|
|
|
|
+ cmBehaviorRecordPo.setIP(cmBehaviorRecordPo.getIP());
|
|
|
|
+ cmBehaviorRecordPo.setUserId(cmBehaviorRecordPo.getUserId());
|
|
|
|
+ cmBehaviorRecordPo.setOpenId(openId);
|
|
|
|
+ cmBehaviorRecordPo.setAccessDate(format);
|
|
|
|
+ recordMapper.updateBehavior(cmBehaviorRecordPo);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -408,19 +420,29 @@ public class CmBehaviorRecordServiceImpl implements CmBehaviorRecordService {
|
|
// 网站 合并按游客Id 合并数据
|
|
// 网站 合并按游客Id 合并数据
|
|
List<String> recodeTouristId = recordMapper.getRecodeTouristId(format);
|
|
List<String> recodeTouristId = recordMapper.getRecodeTouristId(format);
|
|
if (null != recodeTouristId && recodeTouristId.size() > 0) {
|
|
if (null != recodeTouristId && recodeTouristId.size() > 0) {
|
|
|
|
+ // 网站中每个touristId有多个用户
|
|
|
|
+ Map<String, Integer> cuxTouris = recordMapper.getCuxTouris(format);
|
|
// 游客对应用户信息
|
|
// 游客对应用户信息
|
|
List<CmBehaviorTouristInfoPo> touristInfo = recordMapper.getTouristInfo(format, recodeTouristId);
|
|
List<CmBehaviorTouristInfoPo> touristInfo = recordMapper.getTouristInfo(format, recodeTouristId);
|
|
if (null != touristInfo) {
|
|
if (null != touristInfo) {
|
|
for (String touristId : recodeTouristId) {
|
|
for (String touristId : recodeTouristId) {
|
|
- for (CmBehaviorTouristInfoPo touristInfoPo : touristInfo) {
|
|
|
|
- if (touristId.equals(touristInfoPo.getTouristId())) {
|
|
|
|
- CmBehaviorRecordPo cmBehaviorRecordPo = new CmBehaviorRecordPo();
|
|
|
|
- cmBehaviorRecordPo.setIP(recordMapper.getTouristIdByIp(touristId, format));
|
|
|
|
- cmBehaviorRecordPo.setUserId(touristInfoPo.getUserId().toString());
|
|
|
|
- cmBehaviorRecordPo.setTouristId(touristId);
|
|
|
|
- cmBehaviorRecordPo.setAccessDate(format);
|
|
|
|
- //更具游客信息合并用户浏览记录
|
|
|
|
- recordMapper.updateBehaviorByTouristId(cmBehaviorRecordPo);
|
|
|
|
|
|
+ // 用户个数
|
|
|
|
+ num = null == cuxTouris.get(touristId) ? 0 : cuxTouris.get(touristId);
|
|
|
|
+ // 获取该openId下访问的用户id
|
|
|
|
+ List<Integer> userIdAttribute = recordMapper.getUserIdAttribute(format, null, touristId);
|
|
|
|
+ boolean userBean = userIdAttribute.contains(0);
|
|
|
|
+ // 该openId下只有两个身份 游客-机构、游客-供应商
|
|
|
|
+ if(num == 2 && userBean) {
|
|
|
|
+ for (CmBehaviorTouristInfoPo touristInfoPo : touristInfo) {
|
|
|
|
+ if (touristId.equals(touristInfoPo.getTouristId())) {
|
|
|
|
+ CmBehaviorRecordPo cmBehaviorRecordPo = new CmBehaviorRecordPo();
|
|
|
|
+ cmBehaviorRecordPo.setIP(recordMapper.getTouristIdByIp(touristId, format));
|
|
|
|
+ cmBehaviorRecordPo.setUserId(touristInfoPo.getUserId().toString());
|
|
|
|
+ cmBehaviorRecordPo.setTouristId(touristId);
|
|
|
|
+ cmBehaviorRecordPo.setAccessDate(format);
|
|
|
|
+ //更具游客信息合并用户浏览记录
|
|
|
|
+ recordMapper.updateBehaviorByTouristId(cmBehaviorRecordPo);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|