From 0573ecb735d3d4e7c597b2de42abc8132e71a279 Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期六, 14 十二月 2019 11:05:45 +0800
Subject: [PATCH] 新人红包弹框版本区分
---
fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserActiveLogServiceImpl.java | 80 +++++++++++++++++++++++++++++++++++++++-
1 files changed, 78 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 89eb4d0..7d5d87a 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
@@ -1,20 +1,33 @@
package com.yeshi.fanli.service.impl.user;
+import java.text.ParseException;
import java.util.Date;
+import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
+import org.yeshi.utils.DateUtil;
import com.yeshi.fanli.dao.mybatis.user.UserActiveLogMapper;
+import com.yeshi.fanli.dao.user.UserActiveNumHistoryDao;
import com.yeshi.fanli.entity.bus.user.UserActiveLog;
+import com.yeshi.fanli.entity.bus.user.UserActiveNumHistory;
import com.yeshi.fanli.service.inter.user.UserActiveLogService;
+import com.yeshi.fanli.service.inter.user.UserInfoExtraService;
+import com.yeshi.fanli.util.TimeUtil;
@Service
public class UserActiveLogServiceImpl implements UserActiveLogService {
@Resource
private UserActiveLogMapper userActiveLogMapper;
+
+ @Resource
+ private UserActiveNumHistoryDao userActiveNumHistoryDao;
+
+ @Resource
+ private UserInfoExtraService userInfoExtraService;
@Override
public void addUserActiveLog(UserActiveLog userActiveLog) {
@@ -28,6 +41,21 @@
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());
+ }
}
}
@@ -38,13 +66,61 @@
@Override
public UserActiveLog getFirstActiveInfo(Long uid) {
-
-
return userActiveLogMapper.selectFirstActiveInfo(uid);
}
+ @Override
+ public List<UserActiveNumHistory> query(Date startTime, Date endTime){
+ // 閲嶆柊鏌ヨ缁熻浠婃棩浠ュ強绌虹己
+ initUserActiveNumCount();
+
+ return userActiveNumHistoryDao.query(startTime, endTime);
+ }
+ // 鍒濆鍖栫粺璁�
+ private void initUserActiveNumCount() {
+ UserActiveNumHistory history = userActiveNumHistoryDao.getMaxDate();
+ Date lastDay = null;
+ if (history != null && history.getDay() != null)
+ lastDay = history.getDay();
+
+ Date today = new Date();
+ try {
+ if (lastDay == null)
+ lastDay = TimeUtil.parse("2018-09-01");
+ int betweenDays = DateUtil.daysBetween2(lastDay, today);
+
+ // 缁熻浠婃棩涔嬪墠鐨�
+ if (betweenDays > 0) {
+ for (int i = 1; i <= betweenDays; i++ ) {
+ addUserActiveNumHistory(DateUtil.plusDay(i, history.getDay()));
+ }
+ }
+ // 閲嶆柊缁熻浠婃棩
+ addUserActiveNumHistory(TimeUtil.getGernalTime(today.getTime()));
+ } catch (Exception e) {
+ //
+ }
+ }
+
+ /*
+ * 缁熻褰撳ぉ娲昏穬鐢ㄦ埛涓湁澶氬皯涓敤鎴锋槸90澶╁墠鎵嶆椿璺冭繃锛屾湡闂翠粠鏈椿璺冪殑鐢ㄦ埛鏁伴噺銆�
+ */
+ @Override
+ public void addUserActiveNumHistory(String date){
+ int num = userActiveLogMapper.countActiveNumByDate(date);
+
+ UserActiveNumHistory history = new UserActiveNumHistory();
+ history.setId(date);
+ history.setNum(num);
+ try {
+ history.setDay(TimeUtil.parse(date));
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
+ userActiveNumHistoryDao.save(history);
+ }
}
--
Gitblit v1.8.0