From f4a0f2acc63d7785eab108419a4e16f5f688cb95 Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期六, 18 一月 2020 12:06:27 +0800 Subject: [PATCH] 用户注册信息 --- fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserActiveLogServiceImpl.java | 72 +++++++++++++++++++++++++++++++++++ 1 files changed, 71 insertions(+), 1 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 3e0eaa7..108380c 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,8 @@ 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() + "#" @@ -38,6 +53,8 @@ userActiveLog.setCreateTime(new Date()); userActiveLog.setUpdateTime(new Date()); userActiveLogMapper.insertSelective(userActiveLog); + // 鏇存柊鏈�鏂版椿璺冩椂闂� + userInfoExtraService.updateActiveTime(userActiveLog.getUid() , new Date()); } } } @@ -49,8 +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, lastDay)); + } + } + // 閲嶆柊缁熻浠婃棩 + 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