From 573c491b4a1ba60e12a5678a01c1546c0077c1ee Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期二, 30 七月 2019 09:07:42 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserActiveLogServiceImpl.java | 240 ----------------------------------------------------------- 1 files changed, 2 insertions(+), 238 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 9e8fc4a..89eb4d0 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,17 +1,10 @@ package com.yeshi.fanli.service.impl.user; -import java.text.DecimalFormat; -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; @@ -40,247 +33,18 @@ @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); + public UserActiveLog getFirstActiveInfo(Long uid) { - 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; - } - } - - @Override - public List<Object> countSameDayAndBuyGoodsByChannel(String channel, Integer type, String years, - String startTime, String endTime) throws Exception { - List<Map<String, Object>> list = userActiveLogMapper.countSameDayAndBuyGoodsByChannel(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; - } - } - - @Override - public List<Object> countSameDayAndBuyGoodsByChannelAndBuyNum(String channel, Integer type, String years, - String startTime, String endTime, Integer orderNum) throws Exception { - List<Map<String, Object>> list = userActiveLogMapper.countSameDayAndBuyGoodsByChannelAndBuyNum(channel, type, years, - startTime, endTime, orderNum); - - 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; - } - } - - - @Override - public List<Object> getBuyProportion(String channel, Integer type, String years, - String startTime, String endTime, Integer orderNum) throws Exception{ - - // 缁熻娓犻亾褰撴棩鏂板鐢ㄦ埛 - List<Object> countList = countSameDayByChannel(channel, type, years, startTime, endTime); - - if (countList == null || countList.size() == 0) { - return null; - } - - // 缁熻娓犻亾褰撴棩鏂板鐢ㄦ埛瀛樺湪涓嬪崟鐨勭敤鎴锋暟閲� - List<Object> countListBuy= null; - if (orderNum <= 1){ - countListBuy = countSameDayAndBuyGoodsByChannel(channel, type, years, startTime, endTime); - } else { - countListBuy = countSameDayAndBuyGoodsByChannelAndBuyNum(channel, type, years, startTime, endTime, orderNum); - } - - if (countListBuy == null){ - new ArrayList<Object>(); - } - - List<Object> listObject = new ArrayList<Object>(); - - for (Object object: countList) { - - float rate = 0; - - Map<String, Object> mapObject = new HashMap<String, Object>(); - - Map<String, Object> map = (Map<String, Object>) object; - Object createDate = map.get("createDate"); - Object sameDayNum = map.get("sameDayNum"); - - long totle = Long.parseLong(sameDayNum.toString()); - if (totle > 0 && countListBuy != null && countListBuy.size() > 0) { - for (int j = 0; j < countListBuy.size(); j++) { - Map<String, Object> mapBuy = (Map<String, Object>) countListBuy.get(j); - Object createDate2 = mapBuy.get("createDate"); - if (createDate.toString().equals(createDate2.toString())) { - Object buyNum = mapBuy.get("sameDayNum"); - long totleBuy = Long.parseLong(buyNum.toString()); - rate = (float)totleBuy/totle; - break; - } - } - } - - DecimalFormat df = new DecimalFormat("0.00");//鏍煎紡鍖栧皬鏁� - mapObject.put("sameDayNum", df.format(rate*100)); - mapObject.put("createDate", createDate); - listObject.add(mapObject); - } - - return listObject; + return userActiveLogMapper.selectFirstActiveInfo(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; - } - - - 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