From 27c1fd58461e2fd15be392b3c308b4343af8d973 Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期三, 01 四月 2020 14:53:50 +0800
Subject: [PATCH] 发圈统计
---
fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserActiveLogServiceImpl.java | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 54 insertions(+), 2 deletions(-)
diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserActiveLogServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserActiveLogServiceImpl.java
index 2638ebc..521b4fd 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserActiveLogServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserActiveLogServiceImpl.java
@@ -8,13 +8,24 @@
import com.yeshi.fanli.dao.mybatis.user.UserActiveLogMapper;
import com.yeshi.fanli.entity.bus.user.UserActiveLog;
+import com.yeshi.fanli.entity.bus.user.UserInfoRegister;
+import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.service.inter.user.UserActiveLogService;
+import com.yeshi.fanli.service.inter.user.UserInfoExtraService;
+import com.yeshi.fanli.service.inter.user.UserInfoRegisterService;
@Service
public class UserActiveLogServiceImpl implements UserActiveLogService {
@Resource
private UserActiveLogMapper userActiveLogMapper;
+
+ @Resource
+ private UserInfoExtraService userInfoExtraService;
+
+ @Resource
+ private UserInfoRegisterService userInfoRegisterService;
+
@Override
public void addUserActiveLog(UserActiveLog userActiveLog) {
@@ -22,12 +33,42 @@
return;
if (userActiveLog.getUid() == null || userActiveLog.getUid() == 0)
return;
+
UserActiveLog latestLog = getUserLatestActiveInfo(userActiveLog.getUid());
+ if (latestLog == null) {
+ try { // 淇濆瓨娉ㄥ唽淇℃伅
+ UserInfoRegister register = new UserInfoRegister();
+ register.setId(userActiveLog.getUid());
+ register.setIp(userActiveLog.getIp());
+ register.setChannel(userActiveLog.getChannel());
+ register.setDevice(userActiveLog.getDevice());
+ userInfoRegisterService.addRegisterInfo(register);
+ } catch (Exception e) {
+ LogHelper.errorDetailInfo(e);
+ }
+ }
+
+
// 闂撮殧5鍒嗛挓浠ヤ笂鍐嶈褰�
if (latestLog == null || System.currentTimeMillis() - latestLog.getCreateTime().getTime() > 1000 * 60 * 5L) {
userActiveLog.setCreateTime(new Date());
userActiveLog.setUpdateTime(new Date());
userActiveLogMapper.insertSelective(userActiveLog);
+ // 鏇存柊鏈�鏂版椿璺冩椂闂�
+ userInfoExtraService.updateActiveTime(userActiveLog.getUid() , new Date());
+ } else if (latestLog != null) {
+ // 濡傛灉璁惧 锛岀増鏈紝娓犻亾鏈夊彉鍖栧垯闇�瑕佹洿鏀�
+ String oldIdentify = latestLog.getDevice() + "#" + latestLog.getVersionCode() + "#"
+ + latestLog.getChannel();
+ String newIdentify = userActiveLog.getDevice() + "#" + userActiveLog.getVersionCode() + "#"
+ + userActiveLog.getChannel();
+ if (!oldIdentify.equalsIgnoreCase(newIdentify)) {// 璁惧淇℃伅鍙樺寲瑕佽褰曚俊鎭�
+ userActiveLog.setCreateTime(new Date());
+ userActiveLog.setUpdateTime(new Date());
+ userActiveLogMapper.insertSelective(userActiveLog);
+ // 鏇存柊鏈�鏂版椿璺冩椂闂�
+ userInfoExtraService.updateActiveTime(userActiveLog.getUid() , new Date());
+ }
}
}
@@ -36,8 +77,19 @@
return userActiveLogMapper.selectLatestByUid(uid);
}
+ @Override
+ public UserActiveLog getFirstActiveInfo(Long uid) {
+ return userActiveLogMapper.selectFirstActiveInfo(uid);
+ }
+
-
-
+ @Override
+ public long count90DaysLaterActiveNum(String preDay){
+ Long count = userActiveLogMapper.countActiveNumByDate(preDay);
+ if (count == null) {
+ count = 0L;
+ }
+ return count;
+ }
}
--
Gitblit v1.8.0