From c84d8ecd97d111b01db9cfd807300d0491a95bc8 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期二, 08 一月 2019 16:38:34 +0800 Subject: [PATCH] Merge branch 'dev-hongbao' --- fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserMoneyDetailServiceImpl.java | 89 +++++++++++++++++++++++++++++++------------- 1 files changed, 63 insertions(+), 26 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserMoneyDetailServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserMoneyDetailServiceImpl.java index 59a9273..66d82c5 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserMoneyDetailServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserMoneyDetailServiceImpl.java @@ -1,9 +1,9 @@ package com.yeshi.fanli.service.impl.user; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; -import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; import java.util.List; @@ -17,6 +17,7 @@ import com.yeshi.fanli.dao.mybatis.money.UserMoneyDetailMapper; import com.yeshi.fanli.entity.money.UserMoneyDetail; +import com.yeshi.fanli.entity.money.UserMoneyDetail.UserMoneyDetailTypeEnum; import com.yeshi.fanli.service.inter.user.UserMoneyDetailService; import com.yeshi.fanli.util.TimeUtil; import com.yeshi.fanli.vo.money.UserMoneyDetailHistoryVO; @@ -44,9 +45,20 @@ Calendar calendar = Calendar.getInstance(); calendar.setTimeInMillis(list.get(0).getCreateTime().getTime()); UserMoneyDetailHistoryVO vo = new UserMoneyDetailHistoryVO(); - vo.setMonth(new UserMonthMoneyVO(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH))); + vo.setMonth(new UserMonthMoneyVO(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH) + 1)); finalList.add(vo); + } else { + if (maxTime != null) {// + Calendar calendar = Calendar.getInstance(); + calendar.setTimeInMillis(maxTime.getTime()); + UserMoneyDetailHistoryVO vo = new UserMoneyDetailHistoryVO(); + vo.setMonth(new UserMonthMoneyVO(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH) + 1)); + vo.getMonth().setExpend("0"); + vo.getMonth().setIncome("0"); + finalList.add(vo); + } } + } else {// 浜屾璇锋眰 int size = 21; @@ -90,7 +102,7 @@ Calendar calendar = Calendar.getInstance(); calendar.setTimeInMillis(list.get(i).getCreateTime().getTime()); UserMoneyDetailHistoryVO vo = new UserMoneyDetailHistoryVO(); - vo.setMonth(new UserMonthMoneyVO(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH))); + vo.setMonth(new UserMonthMoneyVO(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH) + 1)); finalList.add(vo); } UserMoneyDetailHistoryVO vo = new UserMoneyDetailHistoryVO(); @@ -101,31 +113,34 @@ // 缁熻鏈堣祫閲� Map<Integer, UserMoneyDetailHistoryVO> monthMap = new TreeMap<>(); - for (int i = 0; i < finalList.size(); i++) { - if (finalList.get(i).getMonth() != null) - monthMap.put(i, finalList.get(i)); - } + if (finalList.size() > 1) + for (int i = 0; i < finalList.size(); i++) { + if (finalList.get(i).getMonth() != null) + monthMap.put(i, finalList.get(i)); + } - List<String> dateFormat = new ArrayList<>(); - Iterator<Integer> keys = monthMap.keySet().iterator(); - while (keys.hasNext()) { - Integer key = keys.next(); - String date = ""; - date += monthMap.get(key).getMonth().getYear(); - date += "-"; - date += (monthMap.get(key).getMonth().getMonth() + "").length() < 2 - ? "0" + monthMap.get(key).getMonth().getMonth() : monthMap.get(key).getMonth().getMonth(); - dateFormat.add(date); - } - List<UserMonthMoneyVO> voList = userMoneyDetailMapper.selectMonthMoneyByUid(uid, dateFormat); + if (!monthMap.isEmpty()) { + List<String> dateFormat = new ArrayList<>(); + Iterator<Integer> keys = monthMap.keySet().iterator(); + while (keys.hasNext()) { + Integer key = keys.next(); + String date = ""; + date += monthMap.get(key).getMonth().getYear(); + date += "-"; + date += (monthMap.get(key).getMonth().getMonth() + "").length() < 2 + ? "0" + monthMap.get(key).getMonth().getMonth() : monthMap.get(key).getMonth().getMonth(); + dateFormat.add(date); + } + List<UserMonthMoneyVO> voList = userMoneyDetailMapper.selectMonthMoneyByUid(uid, dateFormat); - int p = 0; - keys = monthMap.keySet().iterator(); - while (keys.hasNext()) { - Integer key = keys.next(); - finalList.get(key).getMonth().setExpend(voList.get(p).getExpend()); - finalList.get(key).getMonth().setIncome(voList.get(p).getIncome()); - p++; + int p = 0; + keys = monthMap.keySet().iterator(); + while (keys.hasNext()) { + Integer key = keys.next(); + finalList.get(key).getMonth().setExpend(voList.get(p).getExpend()); + finalList.get(key).getMonth().setIncome(voList.get(p).getIncome()); + p++; + } } return finalList; } @@ -148,4 +163,26 @@ return monthCount + detailCount; } + @Override + public List<UserMoneyDetail> listByUidWithState(Long uid, int page, int pageSize) { + return userMoneyDetailMapper.selectByUidWithState(uid, (page - 1) * pageSize, pageSize); + } + + @Override + public long countByUidWithState(Long uid) { + return userMoneyDetailMapper.selectCountByUidWithState(uid); + } + + @Override + public BigDecimal statisticUserTypeMoneyWithDate(Long uid, List<UserMoneyDetailTypeEnum> typeList, Date minDate, + Date maxDate) { + List<String> list = new ArrayList<>(); + if (typeList != null) + for (UserMoneyDetailTypeEnum type : typeList) { + list.add(type.name()); + } + BigDecimal money = userMoneyDetailMapper.getTotalMoneyByTypeAndUidWithDate(uid, list, minDate, maxDate); + return money == null ? new BigDecimal(0) : money; + } + } -- Gitblit v1.8.0