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/UserMoneyDetailServiceImpl.java | 81 ++++++++++++++++++++++++++++++++++++---- 1 files changed, 72 insertions(+), 9 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 c8c730c..82140ba 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,5 +1,6 @@ package com.yeshi.fanli.service.impl.user; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; @@ -16,6 +17,8 @@ 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.exception.money.UserMoneyDetailException; import com.yeshi.fanli.service.inter.user.UserMoneyDetailService; import com.yeshi.fanli.util.TimeUtil; import com.yeshi.fanli.vo.money.UserMoneyDetailHistoryVO; @@ -26,6 +29,13 @@ @Resource private UserMoneyDetailMapper userMoneyDetailMapper; + + @Override + public void addUserMoneyDetail(UserMoneyDetail detail) throws UserMoneyDetailException { + if (detail == null || detail.getMoney() == null || detail.getType() == null || detail.getUserInfo() == null) + throw new UserMoneyDetailException(1, "淇℃伅涓嶅畬鏁�"); + userMoneyDetailMapper.insertSelective(detail); + } @Override public List<UserMoneyDetailHistoryVO> listUserMoneyDetailForClient(Long uid, Long userMoneyDetailId, Date maxTime) { @@ -43,9 +53,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)+1)); + 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; @@ -82,29 +103,42 @@ list = tempList; } - if (list != null) + if (list != null) { + if (userMoneyDetailId != null && list.size() > 0) { + UserMoneyDetail umd = userMoneyDetailMapper.selectByPrimaryKey(userMoneyDetailId); + if (!TimeUtil.getGernalTime(umd.getCreateTime().getTime(), "yyyy-MM") + .equalsIgnoreCase(TimeUtil.getGernalTime(list.get(0).getCreateTime().getTime(), "yyyy-MM"))) { + 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) + 1)); + finalList.add(vo); + } + + } for (int i = 0; i < list.size(); i++) { if (i > 0 && !TimeUtil.getGernalTime(list.get(i - 1).getCreateTime().getTime(), "yyyy-MM") .equalsIgnoreCase(TimeUtil.getGernalTime(list.get(i).getCreateTime().getTime(), "yyyy-MM"))) {// 鏈潯鏁版嵁涓庝笂鏉℃暟鎹笉鏄悓涓�鏈堝垯鎻掑叆鏈堜唤 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)+1)); + vo.setMonth(new UserMonthMoneyVO(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH) + 1)); finalList.add(vo); } UserMoneyDetailHistoryVO vo = new UserMoneyDetailHistoryVO(); vo.setDetail(list.get(i)); finalList.add(vo); } + } // 缁熻鏈堣祫閲� Map<Integer, UserMoneyDetailHistoryVO> monthMap = new TreeMap<>(); - if(finalList.size()>1) - 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)); + } if (!monthMap.isEmpty()) { List<String> dateFormat = new ArrayList<>(); @@ -124,7 +158,8 @@ keys = monthMap.keySet().iterator(); while (keys.hasNext()) { Integer key = keys.next(); - finalList.get(key).getMonth().setExpend(voList.get(p).getExpend()); + // 鍘婚櫎鏀嚭璐熷彿 + finalList.get(key).getMonth().setExpend(voList.get(p).getExpend().replace("-", "")); finalList.get(key).getMonth().setIncome(voList.get(p).getIncome()); p++; } @@ -150,4 +185,32 @@ 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; + } + + @Override + public UserMoneyDetail selectByTypeAndUidAndIdentifyCode(UserMoneyDetailTypeEnum type, Long uid, + Long sourceIdentifyId) { + return userMoneyDetailMapper.selectByTypeAndUidAndIdentifyCode(type, uid, sourceIdentifyId); + } + } -- Gitblit v1.8.0