From 88b54772dbcf5ecab1e2316e4e4626ac901b8908 Mon Sep 17 00:00:00 2001
From: yujian <yujian>
Date: 星期二, 22 一月 2019 15:58:24 +0800
Subject: [PATCH] 邀请码添加返回状态

---
 fanli/src/main/java/com/yeshi/fanli/controller/client/UserMoneyController.java |  146 +++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 136 insertions(+), 10 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/UserMoneyController.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/UserMoneyController.java
index 6f42de3..8cface0 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/client/UserMoneyController.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/UserMoneyController.java
@@ -4,6 +4,7 @@
 import java.io.PrintWriter;
 import java.lang.reflect.Type;
 import java.math.BigDecimal;
+import java.util.ArrayList;
 import java.util.Calendar;
 import java.util.Date;
 import java.util.List;
@@ -24,8 +25,9 @@
 import com.google.gson.stream.JsonReader;
 import com.google.gson.stream.JsonWriter;
 import com.yeshi.fanli.entity.accept.AcceptData;
-import com.yeshi.fanli.entity.money.UserMoneyDetail;
 import com.yeshi.fanli.entity.money.UserMoneyDetail.UserMoneyDetailTypeEnum;
+import com.yeshi.fanli.service.inter.hongbao.HongBaoV2Service;
+import com.yeshi.fanli.service.inter.user.UserInfoService;
 import com.yeshi.fanli.service.inter.user.UserMoneyDetailService;
 import com.yeshi.fanli.util.MoneyBigDecimalUtil;
 import com.yeshi.fanli.util.StringUtil;
@@ -47,6 +49,12 @@
 
 	@Resource
 	private UserMoneyDetailService userMoneyDetailService;
+
+	@Resource
+	private UserInfoService userInfoService;
+
+	@Resource
+	private HongBaoV2Service hongBaoV2Service;
 
 	/**
 	 * 鏂扮増璧勯噾璇︽儏锛�1.4.9锛�
@@ -129,22 +137,140 @@
 		out.print(JsonUtil.loadTrueResult(data));
 	}
 
+	/**
+	 * 鐢ㄦ埛璧勯噾缁熻
+	 * 
+	 * @param acceptData
+	 * @param uid
+	 * @param out
+	 */
 	@RequestMapping(value = "getUserMoneyStatistic")
 	public void getUserMoneyStatistic(AcceptData acceptData, Long uid, PrintWriter out) {
 		if (uid == null || uid == 0) {
 			out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛鏈櫥褰�"));
 			return;
 		}
+
+		BigDecimal balance = userInfoService.getUserById(uid).getMyHongBao();
+
 		UserMoneyStatisticVO vo = new UserMoneyStatisticVO();
-		vo.setBalanceMoney(new BigDecimal("0.02"));
-		vo.setLastMonthExtractMoney(new BigDecimal("0.03"));
-		vo.setLastMonthRecievedMoney(new BigDecimal("0.04"));
-		vo.setLatestThreeMonthRecievedMoney(new BigDecimal("0.05"));
-		vo.setMonthExtractMoney(new BigDecimal("0.06"));
-		vo.setMonthRecievedMoney(new BigDecimal("0.07"));
-		vo.setTotalInviteMoney(new BigDecimal("0.08"));
-		vo.setTotalRecievedMoney(new BigDecimal("0.09"));
-		vo.setTotalShareMoney(new BigDecimal("0.10"));
+		vo.setBalanceMoney(balance);
+		Date minDate = null;
+		Date maxDate = null;
+		List<UserMoneyDetailTypeEnum> typeList = new ArrayList<>();
+
+		// 涓婃湀鎻愮幇
+		typeList.clear();
+
+		typeList.add(UserMoneyDetailTypeEnum.extract);
+		typeList.add(UserMoneyDetailTypeEnum.extractReject);
+		typeList.add(UserMoneyDetailTypeEnum.extractVerify);
+		long timeStamp = System.currentTimeMillis();
+		Calendar calendar = Calendar.getInstance();
+		calendar.setTimeInMillis(timeStamp);
+		maxDate = new Date(TimeUtil
+				.convertToTimeTemp(calendar.get(Calendar.YEAR) + "-" + (calendar.get(Calendar.MONTH) + 1), "yyyy-M"));
+		calendar.add(Calendar.MONTH, -1);
+		minDate = new Date(TimeUtil
+				.convertToTimeTemp(calendar.get(Calendar.YEAR) + "-" + (calendar.get(Calendar.MONTH) + 1), "yyyy-M"));
+
+		vo.setLastMonthExtractMoney(
+				userMoneyDetailService.statisticUserTypeMoneyWithDate(uid, typeList, minDate, maxDate).abs());
+		// 涓婃湀鏀跺叆
+		typeList.clear();
+		typeList.add(UserMoneyDetailTypeEnum.fanli);
+		typeList.add(UserMoneyDetailTypeEnum.fanliWeiQuan);
+		typeList.add(UserMoneyDetailTypeEnum.share);
+		typeList.add(UserMoneyDetailTypeEnum.shareWeiQuan);
+		typeList.add(UserMoneyDetailTypeEnum.invite);
+		typeList.add(UserMoneyDetailTypeEnum.inviteWeiQuan);
+		typeList.add(UserMoneyDetailTypeEnum.inviteAndShare);
+		typeList.add(UserMoneyDetailTypeEnum.weiQuan);
+		typeList.add(UserMoneyDetailTypeEnum.hongbao);
+		typeList.add(UserMoneyDetailTypeEnum.hongbaoDeduct);
+
+		vo.setLastMonthRecievedMoney(
+				userMoneyDetailService.statisticUserTypeMoneyWithDate(uid, typeList, minDate, maxDate).abs());
+		// 鏈�杩戜笁涓湀鏀跺叆
+		maxDate = new Date(timeStamp);
+		minDate = new Date(timeStamp - 1000 * 60 * 60 * 24 * 90L);
+
+		vo.setLatestThreeMonthRecievedMoney(
+				userMoneyDetailService.statisticUserTypeMoneyWithDate(uid, typeList, minDate, maxDate).abs());
+		// 鏈湀鎻愮幇
+		maxDate = new Date(timeStamp);
+		calendar = Calendar.getInstance();
+		minDate = new Date(TimeUtil
+				.convertToTimeTemp(calendar.get(Calendar.YEAR) + "-" + (calendar.get(Calendar.MONTH) + 1), "yyyy-M"));
+		calendar.add(Calendar.MONTH, -1);
+		typeList.clear();
+		typeList.add(UserMoneyDetailTypeEnum.extract);
+		typeList.add(UserMoneyDetailTypeEnum.extractReject);
+		typeList.add(UserMoneyDetailTypeEnum.extractVerify);
+
+		vo.setMonthExtractMoney(
+				userMoneyDetailService.statisticUserTypeMoneyWithDate(uid, typeList, minDate, maxDate).abs());
+		// 鏈湀鍒拌处
+		typeList.clear();
+		typeList.add(UserMoneyDetailTypeEnum.fanli);
+		typeList.add(UserMoneyDetailTypeEnum.fanliWeiQuan);
+		typeList.add(UserMoneyDetailTypeEnum.share);
+		typeList.add(UserMoneyDetailTypeEnum.shareWeiQuan);
+		typeList.add(UserMoneyDetailTypeEnum.invite);
+		typeList.add(UserMoneyDetailTypeEnum.inviteWeiQuan);
+		typeList.add(UserMoneyDetailTypeEnum.inviteAndShare);
+		typeList.add(UserMoneyDetailTypeEnum.weiQuan);
+		typeList.add(UserMoneyDetailTypeEnum.hongbao);
+		typeList.add(UserMoneyDetailTypeEnum.hongbaoDeduct);
+
+		vo.setMonthRecievedMoney(
+				userMoneyDetailService.statisticUserTypeMoneyWithDate(uid, typeList, minDate, maxDate).abs());
+		// 鎬荤殑閭�璇疯禋
+		typeList.clear();
+		typeList.add(UserMoneyDetailTypeEnum.invite);
+		typeList.add(UserMoneyDetailTypeEnum.inviteWeiQuan);
+		typeList.add(UserMoneyDetailTypeEnum.inviteAndShare);
+
+		minDate = new Date(0L);
+		maxDate = new Date(timeStamp);
+		vo.setTotalInviteMoney(
+				userMoneyDetailService.statisticUserTypeMoneyWithDate(uid, typeList, minDate, maxDate).abs());
+		// 鎬荤殑鍒拌处
+
+		typeList.clear();
+		typeList.add(UserMoneyDetailTypeEnum.fanli);
+		typeList.add(UserMoneyDetailTypeEnum.fanliWeiQuan);
+		typeList.add(UserMoneyDetailTypeEnum.share);
+		typeList.add(UserMoneyDetailTypeEnum.shareWeiQuan);
+		typeList.add(UserMoneyDetailTypeEnum.invite);
+		typeList.add(UserMoneyDetailTypeEnum.inviteWeiQuan);
+		typeList.add(UserMoneyDetailTypeEnum.inviteAndShare);
+		typeList.add(UserMoneyDetailTypeEnum.weiQuan);
+		typeList.add(UserMoneyDetailTypeEnum.hongbao);
+		typeList.add(UserMoneyDetailTypeEnum.hongbaoDeduct);
+		vo.setTotalRecievedMoney(
+				userMoneyDetailService.statisticUserTypeMoneyWithDate(uid, typeList, minDate, maxDate).abs());
+		// 鎬荤殑鍒嗕韩璧�
+
+		typeList.clear();
+		typeList.add(UserMoneyDetailTypeEnum.share);
+		typeList.add(UserMoneyDetailTypeEnum.shareWeiQuan);
+
+		vo.setTotalShareMoney(
+				userMoneyDetailService.statisticUserTypeMoneyWithDate(uid, typeList, minDate, maxDate).abs());
+
+		minDate = new Date(TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(timeStamp, "yyyy-MM"), "yyyy-MM"));
+		Calendar ca = Calendar.getInstance();
+		ca.setTime(new Date(timeStamp));
+		ca.add(Calendar.MONTH, 1);
+		maxDate = new Date(ca.getTimeInMillis());
+
+		// 鏈湀鏈埌璐�
+		vo.setMonthUnRecievedMoney(hongBaoV2Service.getUnRecievedMoneyWithPreGetTime(uid, minDate, maxDate));
+
+		// 鍏ㄩ儴鏈埌璐�
+		minDate = new Date(0);
+		vo.setTotalUnRecievedMoney(hongBaoV2Service.getUnRecievedMoneyWithCreateTime(uid, minDate, maxDate));
 		Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder()).create();
 		out.print(JsonUtil.loadTrueResult(gson.toJson(vo)));
 	}

--
Gitblit v1.8.0