| | |
| | | package com.yeshi.fanli.service.impl.money;
|
| | |
|
| | | import java.math.BigDecimal;
|
| | | import java.util.ArrayList;
|
| | | import java.util.Calendar;
|
| | | import java.util.Date;
|
| | | import java.util.HashSet;
|
| | | import java.util.Iterator;
|
| | | import java.util.List;
|
| | | import java.util.Map;
|
| | | import java.util.Set;
|
| | | import java.util.TreeMap;
|
| | |
|
| | | import javax.annotation.Resource;
|
| | |
|
| | | import org.springframework.stereotype.Service;
|
| | |
|
| | | 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.money.UserMoneyDetailService;
|
| | | import com.yeshi.fanli.util.Constant;
|
| | | import com.yeshi.fanli.util.TimeUtil;
|
| | | import com.yeshi.fanli.vo.money.UserMoneyDetailHistoryVO;
|
| | | import com.yeshi.fanli.vo.money.UserMonthMoneyVO;
|
| | |
|
| | | @Service
|
| | | public class UserMoneyDetailServiceImpl implements UserMoneyDetailService {
|
| | |
|
| | | @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, Integer type, Date maxTime) {
|
| | | List<UserMoneyDetailHistoryVO> finalList = new ArrayList<>();
|
| | | List<UserMoneyDetail> list = null;
|
| | | if (userMoneyDetailId == null) {// 首次请求
|
| | | if (maxTime == null)// 没有筛选时间
|
| | | {
|
| | | Date date = new Date(System.currentTimeMillis() + 1000 * 60 * 60L);
|
| | | list = userMoneyDetailMapper.selectByMaxCreateTime(uid, date, 20, type);
|
| | | System.out.println("maxTime == null");
|
| | | } else {// 筛选了时间
|
| | | System.out.println("maxTime != null");
|
| | | list = userMoneyDetailMapper.selectByMaxCreateTime(uid, maxTime, 20, type);
|
| | | }
|
| | |
|
| | | if (list != null && list.size() > 0) {
|
| | | 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);
|
| | | } 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;
|
| | | List<UserMoneyDetail> tempList = userMoneyDetailMapper.selectByUidWithIndexId(uid, userMoneyDetailId, size, type);
|
| | | Set<Date> dateSet = new HashSet<>();// 用于储存是否在同一时间上面(精确到秒)
|
| | | if (tempList.size() > 0) {
|
| | | for (UserMoneyDetail umd : tempList) {
|
| | | dateSet.add(umd.getCreateTime());
|
| | | }
|
| | |
|
| | | List<UserMoneyDetail> tempList2 = new ArrayList<>();
|
| | | while (dateSet.size() == 1 && tempList2.size() != tempList.size() && size < 40) {// 只有一个时间点的数据
|
| | | tempList = tempList2;
|
| | | size += 10;
|
| | | tempList2 = userMoneyDetailMapper.selectByUidWithIndexId(uid, userMoneyDetailId, size, type);
|
| | | dateSet.clear();
|
| | | for (UserMoneyDetail umd : tempList2) {
|
| | | dateSet.add(umd.getCreateTime());
|
| | | }
|
| | | }
|
| | | if (tempList2.size() > 0)
|
| | | tempList = tempList2;
|
| | | }
|
| | |
|
| | | for (int i = 0; i < tempList.size(); i++) {
|
| | | if (tempList.get(i).getId().longValue() == userMoneyDetailId) {
|
| | | tempList.remove(i);
|
| | | break;
|
| | | } else {
|
| | | tempList.remove(i);
|
| | | i--;
|
| | | }
|
| | | }
|
| | | list = tempList;
|
| | | }
|
| | |
|
| | | if (list != null) {
|
| | | // 重新设置标题
|
| | | for (UserMoneyDetail md : list)
|
| | | resetTitle(md);
|
| | |
|
| | | 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));
|
| | | 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 (!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().replace("-", ""));
|
| | | finalList.get(key).getMonth().setIncome(voList.get(p).getIncome());
|
| | | p++;
|
| | | }
|
| | | }
|
| | | return finalList;
|
| | | }
|
| | |
|
| | | private UserMoneyDetail resetTitle(UserMoneyDetail detail) {
|
| | | UserMoneyDetailTypeEnum[] enums = new UserMoneyDetailTypeEnum[] { UserMoneyDetailTypeEnum.fanli,
|
| | | UserMoneyDetailTypeEnum.fanliWeiQuan, UserMoneyDetailTypeEnum.invite,
|
| | | UserMoneyDetailTypeEnum.inviteAndShare, UserMoneyDetailTypeEnum.inviteWeiQuan,
|
| | | UserMoneyDetailTypeEnum.orderReward, UserMoneyDetailTypeEnum.repeatStatistic,
|
| | | UserMoneyDetailTypeEnum.share, UserMoneyDetailTypeEnum.shareWeiQuan, UserMoneyDetailTypeEnum.weiQuan };
|
| | | boolean inType = false;
|
| | | for (UserMoneyDetailTypeEnum e : enums)
|
| | | if (detail.getType() == e) {
|
| | | inType = true;
|
| | | break;
|
| | | }
|
| | | if (inType)
|
| | | detail.setTitle(detail.getTitle() + "【" + Constant.getSourceName(detail.getOrderType()) + "】");
|
| | | return detail;
|
| | | }
|
| | |
|
| | | @Override
|
| | | public long countUserMoneyDetailForClient(Long uid, Long userMoneyDetailId,Integer type, Date maxTime) {
|
| | | //TODO 增加type筛选
|
| | | long monthCount = 0L;
|
| | | long detailCount = 0L;
|
| | | // 未通过时间筛选,查询所有
|
| | | if (maxTime == null) {
|
| | | detailCount = userMoneyDetailMapper.selectCountByUid(uid, type);
|
| | | // 用于表示当前所有
|
| | | monthCount = userMoneyDetailMapper.selectMonthCountByUid(uid,
|
| | | new Date(System.currentTimeMillis() + 1000 * 60 * 60L), type);
|
| | | } else {// 通过时间筛选了的,需要查询所有
|
| | | detailCount = userMoneyDetailMapper.selectCountByUidAndMaxCreateTime(uid, maxTime, type);
|
| | | monthCount = userMoneyDetailMapper.selectMonthCountByUid(uid, maxTime, type);
|
| | | }
|
| | |
|
| | | 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);
|
| | | }
|
| | |
|
| | | }
|
| | | package com.yeshi.fanli.service.impl.money; |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.util.ArrayList; |
| | | import java.util.Calendar; |
| | | import java.util.Date; |
| | | import java.util.HashSet; |
| | | import java.util.Iterator; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.Set; |
| | | import java.util.TreeMap; |
| | | |
| | | import javax.annotation.Resource; |
| | | |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | 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.money.UserMoneyDetailService; |
| | | import com.yeshi.fanli.util.Constant; |
| | | import org.yeshi.utils.TimeUtil; |
| | | import com.yeshi.fanli.vo.money.UserMoneyDetailHistoryVO; |
| | | import com.yeshi.fanli.vo.money.UserMonthMoneyVO; |
| | | |
| | | @Service |
| | | public class UserMoneyDetailServiceImpl implements UserMoneyDetailService { |
| | | |
| | | @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, Integer type, |
| | | Date maxTime) { |
| | | List<UserMoneyDetailHistoryVO> finalList = new ArrayList<>(); |
| | | List<UserMoneyDetail> list = null; |
| | | if (userMoneyDetailId == null) {// 首次请求 |
| | | if (maxTime == null)// 没有筛选时间 |
| | | { |
| | | Date date = new Date(System.currentTimeMillis() + 1000 * 60 * 60L); |
| | | list = userMoneyDetailMapper.selectByMaxCreateTime(uid, date, 20, type); |
| | | System.out.println("maxTime == null"); |
| | | } else {// 筛选了时间 |
| | | System.out.println("maxTime != null"); |
| | | list = userMoneyDetailMapper.selectByMaxCreateTime(uid, maxTime, 20, type); |
| | | } |
| | | |
| | | if (list != null && list.size() > 0) { |
| | | 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); |
| | | } 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; |
| | | List<UserMoneyDetail> tempList = userMoneyDetailMapper.selectByUidWithIndexId(uid, userMoneyDetailId, size, |
| | | type); |
| | | Set<Date> dateSet = new HashSet<>();// 用于储存是否在同一时间上面(精确到秒) |
| | | if (tempList.size() > 0) { |
| | | for (UserMoneyDetail umd : tempList) { |
| | | dateSet.add(umd.getCreateTime()); |
| | | } |
| | | |
| | | List<UserMoneyDetail> tempList2 = new ArrayList<>(); |
| | | while (dateSet.size() == 1 && tempList2.size() != tempList.size() && size < 40) {// 只有一个时间点的数据 |
| | | tempList = tempList2; |
| | | size += 10; |
| | | tempList2 = userMoneyDetailMapper.selectByUidWithIndexId(uid, userMoneyDetailId, size, type); |
| | | dateSet.clear(); |
| | | for (UserMoneyDetail umd : tempList2) { |
| | | dateSet.add(umd.getCreateTime()); |
| | | } |
| | | } |
| | | if (tempList2.size() > 0) |
| | | tempList = tempList2; |
| | | } |
| | | |
| | | for (int i = 0; i < tempList.size(); i++) { |
| | | if (tempList.get(i).getId().longValue() == userMoneyDetailId) { |
| | | tempList.remove(i); |
| | | break; |
| | | } else { |
| | | tempList.remove(i); |
| | | i--; |
| | | } |
| | | } |
| | | list = tempList; |
| | | } |
| | | |
| | | if (list != null) { |
| | | // 重新设置标题 |
| | | for (UserMoneyDetail md : list) |
| | | resetTitle(md); |
| | | |
| | | 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)); |
| | | 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 (!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().replace("-", "")); |
| | | finalList.get(key).getMonth().setIncome(voList.get(p).getIncome()); |
| | | p++; |
| | | } |
| | | } |
| | | return finalList; |
| | | } |
| | | |
| | | private UserMoneyDetail resetTitle(UserMoneyDetail detail) { |
| | | UserMoneyDetailTypeEnum[] enums = new UserMoneyDetailTypeEnum[] { UserMoneyDetailTypeEnum.fanli, |
| | | UserMoneyDetailTypeEnum.fanliWeiQuan, UserMoneyDetailTypeEnum.invite, |
| | | UserMoneyDetailTypeEnum.inviteAndShare, UserMoneyDetailTypeEnum.inviteWeiQuan, |
| | | UserMoneyDetailTypeEnum.orderReward, UserMoneyDetailTypeEnum.repeatStatistic, |
| | | UserMoneyDetailTypeEnum.share, UserMoneyDetailTypeEnum.shareWeiQuan, UserMoneyDetailTypeEnum.weiQuan }; |
| | | boolean inType = false; |
| | | for (UserMoneyDetailTypeEnum e : enums) |
| | | if (detail.getType() == e) { |
| | | inType = true; |
| | | break; |
| | | } |
| | | if (inType) { |
| | | detail.setTitle(detail.getTitle() + "【" + Constant.getSourceName(detail.getOrderType()) + "】"); |
| | | } |
| | | return detail; |
| | | } |
| | | |
| | | @Override |
| | | public long countUserMoneyDetailForClient(Long uid, Long userMoneyDetailId, Integer type, Date maxTime) { |
| | | // TODO 增加type筛选 |
| | | long monthCount = 0L; |
| | | long detailCount = 0L; |
| | | // 未通过时间筛选,查询所有 |
| | | if (maxTime == null) { |
| | | detailCount = userMoneyDetailMapper.selectCountByUid(uid, type); |
| | | // 用于表示当前所有 |
| | | monthCount = userMoneyDetailMapper.selectMonthCountByUid(uid, |
| | | new Date(System.currentTimeMillis() + 1000 * 60 * 60L), type); |
| | | } else {// 通过时间筛选了的,需要查询所有 |
| | | detailCount = userMoneyDetailMapper.selectCountByUidAndMaxCreateTime(uid, maxTime, type); |
| | | monthCount = userMoneyDetailMapper.selectMonthCountByUid(uid, maxTime, type); |
| | | } |
| | | |
| | | 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, null); |
| | | return money == null ? new BigDecimal(0) : money; |
| | | } |
| | | |
| | | @Override |
| | | public BigDecimal statisticUserTypeMoneyWithDate(Long uid, List<UserMoneyDetailTypeEnum> typeList, Date minDate, |
| | | Date maxDate, Integer show) { |
| | | List<String> list = new ArrayList<>(); |
| | | if (typeList != null) |
| | | for (UserMoneyDetailTypeEnum type : typeList) { |
| | | list.add(type.name()); |
| | | } |
| | | BigDecimal money = userMoneyDetailMapper.getTotalMoneyByTypeAndUidWithDate(uid, list, minDate, maxDate, show); |
| | | return money == null ? new BigDecimal(0) : money; |
| | | } |
| | | |
| | | @Override |
| | | public UserMoneyDetail selectByTypeAndUidAndIdentifyCode(UserMoneyDetailTypeEnum type, Long uid, |
| | | Long sourceIdentifyId) { |
| | | return userMoneyDetailMapper.selectByTypeAndUidAndIdentifyCode(type, uid, sourceIdentifyId); |
| | | } |
| | | |
| | | @Override |
| | | public List<UserMoneyDetail> listQuery(int page, int pageSize, String key, Integer keyType) { |
| | | return userMoneyDetailMapper.listQuery((page - 1) * pageSize, pageSize, key, keyType); |
| | | } |
| | | |
| | | @Override |
| | | public long countQuery(String key, Integer keyType) { |
| | | Long count = userMoneyDetailMapper.countQuery(key, keyType); |
| | | if (count == null) { |
| | | count = 0L; |
| | | } |
| | | return count; |
| | | } |
| | | |
| | | } |