From cd637932a970e7935b17d41568fe89c92775bccc Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期五, 06 十二月 2019 17:18:27 +0800 Subject: [PATCH] 双12活动添加,邀请码发布修改,爬单新规则添加 --- fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserActiveLogServiceImpl.java | 160 +++++++---------------------------------------------- 1 files changed, 22 insertions(+), 138 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 3837520..e522410 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,26 +1,24 @@ package com.yeshi.fanli.service.impl.user; -import java.text.SimpleDateFormat; -import java.util.ArrayList; import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; 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.entity.bus.user.UserActiveLog; import com.yeshi.fanli.service.inter.user.UserActiveLogService; +import com.yeshi.fanli.service.inter.user.UserInfoExtraService; @Service public class UserActiveLogServiceImpl implements UserActiveLogService { @Resource private UserActiveLogMapper userActiveLogMapper; + + @Resource + private UserInfoExtraService userInfoExtraService; @Override public void addUserActiveLog(UserActiveLog userActiveLog) { @@ -34,147 +32,33 @@ 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()); + } } } @Override public UserActiveLog getUserLatestActiveInfo(Long uid) { - return userActiveLogMapper.selectLatestByUid(uid); } - @Override - public List<Object> countSameDayByChannel(String channel, Integer type, String years, - String startTime, String endTime) throws Exception{ - List<Map<String, Object>> list = userActiveLogMapper.countSameDayByChannel(channel, type, years, - startTime, endTime); - - if (list == null || list.size() == 0) { - return null; - } - - switch (type){ - case 1: // 鎸夊ぉ澶勭悊 - return dayFactory(startTime, endTime, list); - case 2: // 鎸夋湀澶勭悊 - return monthFactory(list); - case 3: - return yearFactory(list); - default: - return null; - } - } - + public UserActiveLog getFirstActiveInfo(Long uid) { - public List<Object> dayFactory(String startTime, String endTime, List<Map<String, Object>> list) throws Exception { - - List<Object> listObject = new ArrayList<Object>(); - - if (startTime.equals(endTime)) { - - Map<String, Object> map = list.get(0); - Object sameDayNum = map.get("sameDayNum"); - - if (sameDayNum == null) { - map.put("sameDayNum", 0); - } - listObject.add(map); - - return listObject; - } - - - String plusDay = ""; - for (int i = 0; i < 1000 ; i++) { - if (i == 0) { - plusDay = startTime; - } else { - plusDay = DateUtil.plusDay(i, startTime); - } - - Map<String, Object> mapObject = new HashMap<String, Object>(); - Object sameDayNum = null; - - for (int j = 0; j < list.size(); j++) { - Map<String, Object> map = list.get(j); - Object createDate = map.get("createDate"); - String month = createDate.toString(); - if (plusDay.equalsIgnoreCase(month)) { - sameDayNum = map.get("sameDayNum"); - break; - } - } - - if (sameDayNum == null) { - sameDayNum = 0; - } - mapObject.put("sameDayNum", sameDayNum); - - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); - SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy/MM/dd"); - Date parseDate = sdf.parse(plusDay.toString()); - - mapObject.put("createDate", sdf2.format(parseDate)); - - listObject.add(mapObject); - - if (plusDay.equals(endTime)) { - break; // 鏃堕棿缁撴潫 - } - } - - return listObject; + return userActiveLogMapper.selectFirstActiveInfo(uid); } - - - public List<Object> monthFactory(List<Map<String, Object>> list) { - - List<Object> listObject = new ArrayList<Object>(); - // 12 涓湀澶勭悊 - for (int i = 1; i <= 12; i++) { - Map<String, Object> mapObject = new HashMap<String, Object>(); - Object sameDayNum = null; - for (int j = 0; j < list.size(); j++) { - Map<String, Object> map = list.get(j); - Object createDate = map.get("createDate"); - String month = createDate.toString(); - if ((i+"").equalsIgnoreCase(month) || i == Integer.parseInt(month)) { - sameDayNum = map.get("sameDayNum"); - break; - } - } - - if (sameDayNum == null) { - sameDayNum = 0; - } - mapObject.put("sameDayNum", sameDayNum); - - mapObject.put("createDate", i + "鏈�"); - - listObject.add(mapObject); - } - return listObject; - } - - public List<Object> yearFactory(List<Map<String, Object>> list) { - - List<Object> listObject = new ArrayList<Object>(); - - for (int i = 0; i < list.size(); i++) { - Map<String, Object> map = list.get(i); - Object sameDayNum = map.get("sameDayNum"); - Object createDate = map.get("createDate"); - - if (sameDayNum == null) { - sameDayNum = 0; - } - map.put("sameDayNum", sameDayNum); - map.put("createDate", createDate + "骞�"); - - listObject.add(map); - } - - return listObject; - } + } -- Gitblit v1.8.0