From 723f7f30bd818548cb3dc2a75d11e9666cca4f8a Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期四, 03 一月 2019 15:05:11 +0800 Subject: [PATCH] 冲突解决 --- fanli/src/main/java/com/yeshi/fanli/service/impl/hongbao/HongBaoServiceImpl.java | 214 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 211 insertions(+), 3 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/hongbao/HongBaoServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/hongbao/HongBaoServiceImpl.java index 3b98bc4..f50b971 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/hongbao/HongBaoServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/hongbao/HongBaoServiceImpl.java @@ -2,13 +2,17 @@ import java.io.Serializable; import java.math.BigDecimal; +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 javax.servlet.http.HttpServletRequest; + +import net.sf.json.JSONObject; import org.hibernate.HibernateException; import org.hibernate.Query; @@ -21,6 +25,7 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; +import org.yeshi.utils.DateUtil; import com.yeshi.fanli.dao.hongbao.HongBaoDao; import com.yeshi.fanli.dao.mybatis.AccountDetailsMapper; @@ -80,8 +85,6 @@ import com.yeshi.fanli.util.push.XiaoMiPushUtil; import com.yeshi.fanli.util.taobao.TaoBaoOrderUtil; import com.yeshi.fanli.util.taobao.TaoBaoUtil; - -import net.sf.json.JSONObject; @Service public class HongBaoServiceImpl implements HongBaoService { @@ -1226,8 +1229,213 @@ @Override public int getTotalTiChengCount(Long uid) { - return hongBaoMapper.getTotalTiChengCount(uid); } + + @Override + public List<Object> count24HOderByChannel(String channel, Integer type, String years, + String startTime, String endTime) throws Exception{ + List<Map<String, Object>> list = hongBaoMapper.count24HOderByChannel(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> countHistoryOderByChannel(String channel, Integer type, String years, + String startTime, String endTime) throws Exception{ + + List<Map<String, Object>> list = hongBaoMapper.countHistoryOderByChannel(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 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 payMoney = map.get("payMoney"); + Object countOrder = map.get("countOrder"); + Object commision = map.get("commision"); + + if (payMoney == null) { + map.put("payMoney", 0); + } + if (countOrder == null) { + map.put("countOrder", 0); + } + if (commision == null) { + map.put("commision", 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 payMoney = null; + Object countOrder = null; + Object commision = 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)) { + payMoney = map.get("payMoney"); + countOrder = map.get("countOrder"); + commision = map.get("commision"); + break; + } + } + + if (payMoney == null) { + payMoney = 0; + } + mapObject.put("payMoney", payMoney); + + if (countOrder == null) { + countOrder = 0; + } + mapObject.put("countOrder", countOrder); + + if (commision == null) { + commision = 0; + } + mapObject.put("commision", commision); + + 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 payMoney = null; + Object countOrder = null; + Object commision = 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)) { + payMoney = map.get("payMoney"); + countOrder = map.get("countOrder"); + commision = map.get("commision"); + break; + } + } + + if (payMoney == null) { + payMoney = 0; + } + mapObject.put("payMoney", payMoney); + + if (countOrder == null) { + countOrder = 0; + } + mapObject.put("countOrder", countOrder); + + if (commision == null) { + commision = 0; + } + mapObject.put("commision", commision); + + 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 payMoney = map.get("payMoney"); + Object countOrder = map.get("countOrder"); + Object commision = map.get("commision"); + + if (payMoney == null) { + payMoney = 0; + } + map.put("payMoney", payMoney); + + if (countOrder == null) { + countOrder = 0; + } + map.put("countOrder", countOrder); + + if (commision == null) { + commision = 0; + } + map.put("commision", commision + "骞�"); + + + listObject.add(map); + } + + return listObject; + } } -- Gitblit v1.8.0