From 30d8e227e8d823b6c38c3b9c90ac2df03b63befe Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 25 二月 2025 16:41:22 +0800
Subject: [PATCH] 淘宝转链接口更新

---
 fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserMoneyController.java |  697 +++++++++++++++++++++++++++++++++------------------------
 1 files changed, 402 insertions(+), 295 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserMoneyController.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserMoneyController.java
index 066855e..915336c 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserMoneyController.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserMoneyController.java
@@ -1,295 +1,402 @@
-package com.yeshi.fanli.controller.client.v1;
-
-import java.io.IOException;
-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;
-
-import javax.annotation.Resource;
-
-import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.yeshi.utils.BigDecimalUtil;
-import org.yeshi.utils.JsonUtil;
-
-import com.google.gson.Gson;
-import com.google.gson.GsonBuilder;
-import com.google.gson.JsonElement;
-import com.google.gson.JsonPrimitive;
-import com.google.gson.JsonSerializationContext;
-import com.google.gson.JsonSerializer;
-import com.google.gson.TypeAdapter;
-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.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;
-import com.yeshi.fanli.util.TimeUtil;
-import com.yeshi.fanli.vo.money.UserMoneyDetailHistoryVO;
-import com.yeshi.fanli.vo.money.UserMoneyStatisticVO;
-
-import net.sf.json.JSONObject;
-
-/**
- * 璐︽埛绯荤粺
- * 
- * @author Administrator
- *
- */
-@Controller
-@RequestMapping("api/v1/usermoney")
-public class UserMoneyController {
-
-	@Resource
-	private UserMoneyDetailService userMoneyDetailService;
-
-	@Resource
-	private UserInfoService userInfoService;
-
-	@Resource
-	private HongBaoV2Service hongBaoV2Service;
-
-	/**
-	 * 鏂扮増璧勯噾璇︽儏锛�1.4.9锛�
-	 * 
-	 * @param acceptData
-	 * @param uid
-	 * @param index
-	 *            List鏈�鏈殑涓婚敭ID
-	 * @param year
-	 *            骞翠唤
-	 * @param month
-	 *            鏈堜唤
-	 * @param out
-	 */
-	@RequestMapping(value = "getUserMoneyDetailList")
-	public void getUserMoneyDetailList(AcceptData acceptData, Long uid, Long index, Integer year, Integer month,
-			PrintWriter out) {
-		if (uid == null || uid == 0) {
-			out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛鏈櫥褰�"));
-			return;
-		}
-
-		if ((year == null && month != null) || (year != null && month == null)) {
-			out.print(JsonUtil.loadFalseResult(1, "鏃ユ湡涓嶅畬鏁�"));
-			return;
-		}
-
-		Date date = null;
-
-		if (year != null && month != null) {
-			date = new Date(TimeUtil.convertToTimeTemp(year + "-" + month, "yyyy-M"));
-			Calendar ca = Calendar.getInstance();
-			ca.setTime(date);
-			ca.add(Calendar.MONTH, 1);
-			date = new Date(ca.getTimeInMillis() - 1);
-		}
-
-		List<UserMoneyDetailHistoryVO> list = userMoneyDetailService.listUserMoneyDetailForClient(uid, index, date);
-		long count = userMoneyDetailService.countUserMoneyDetailForClient(uid, index, date);
-		GsonBuilder gsonBuilder = new GsonBuilder().excludeFieldsWithoutExposeAnnotation();
-		gsonBuilder.registerTypeAdapter(UserMoneyDetailTypeEnum.class, new TypeAdapter<UserMoneyDetailTypeEnum>() {
-			@Override
-			public UserMoneyDetailTypeEnum read(JsonReader arg0) throws IOException {
-				return null;
-			}
-
-			@Override
-			public void write(JsonWriter out, UserMoneyDetailTypeEnum arg1) throws IOException {
-				out.beginObject();
-				out.name("portrait").value(arg1.getPicture());
-				if (!StringUtil.isNullOrEmpty(arg1.getHelpUrl()))
-					out.name("helpUrl").value(arg1.getHelpUrl());
-				out.endObject();
-			}
-		}).registerTypeAdapter(Date.class, new JsonSerializer<Date>() {
-			@Override
-			public JsonElement serialize(Date value, Type theType, JsonSerializationContext context) {
-				if (value == null) {
-					return new JsonPrimitive("");
-				} else {
-					return new JsonPrimitive(TimeUtil.getGernalTime(value.getTime(), "yyyy.MM.dd HH:mm"));
-				}
-			}
-		}).registerTypeAdapter(BigDecimal.class, new JsonSerializer<BigDecimal>() {
-			@Override
-			public JsonElement serialize(BigDecimal value, Type theType, JsonSerializationContext context) {
-				if (value == null) {
-					return new JsonPrimitive("");
-				} else {
-					value = value.setScale(2);
-					return new JsonPrimitive(value.toString());
-				}
-			}
-		});
-
-		Gson gson = gsonBuilder.create();
-
-		JSONObject data = new JSONObject();
-		data.put("data", gson.toJson(list));
-		data.put("count", count);
-		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(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(
-				TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(ca.getTimeInMillis(), "yyyy-MM"), "yyyy-MM"));
-
-		// 鏈湀鏈埌璐�
-		vo.setMonthUnRecievedMoney(hongBaoV2Service.getUnRecievedMoneyWithPreGetTime(uid, minDate, maxDate));
-
-		// 鍏ㄩ儴鏈埌璐�
-		minDate = new Date(0);
-		maxDate=new Date(timeStamp);
-		vo.setTotalUnRecievedMoney(hongBaoV2Service.getUnRecievedMoneyWithCreateTime(uid, minDate, maxDate));
-		GsonBuilder builder = new GsonBuilder();
-		builder.registerTypeAdapter(BigDecimal.class, new JsonSerializer<BigDecimal>() {
-			@Override
-			public JsonElement serialize(BigDecimal value, Type theType, JsonSerializationContext context) {
-				if (value == null) {
-					return new JsonPrimitive("");
-				} else {
-					// 淇濈暀2浣嶅皬鏁�
-					value = value.setScale(2);
-					return new JsonPrimitive(value.toString());
-				}
-			}
-		});
-
-		out.print(JsonUtil.loadTrueResult(builder.create().toJson(vo)));
-	}
-
-}
+package com.yeshi.fanli.controller.client.v1;
+
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.lang.reflect.Type;
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.List;
+
+import javax.annotation.Resource;
+
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.yeshi.utils.JsonUtil;
+
+import com.google.gson.Gson;
+import com.google.gson.GsonBuilder;
+import com.google.gson.JsonElement;
+import com.google.gson.JsonPrimitive;
+import com.google.gson.JsonSerializationContext;
+import com.google.gson.JsonSerializer;
+import com.google.gson.TypeAdapter;
+import com.google.gson.stream.JsonReader;
+import com.google.gson.stream.JsonWriter;
+import com.yeshi.fanli.entity.accept.AcceptData;
+import com.yeshi.fanli.entity.bus.user.UserInfo;
+import com.yeshi.fanli.entity.money.UserMoneyDetail.UserMoneyDetailTypeEnum;
+import com.yeshi.fanli.entity.system.ConfigKeyEnum;
+import com.yeshi.fanli.service.inter.config.ConfigService;
+import com.yeshi.fanli.service.inter.count.HongBaoV2CountService;
+import com.yeshi.fanli.service.inter.money.UserMoneyDetailService;
+import com.yeshi.fanli.service.inter.money.extract.ExtractService;
+import com.yeshi.fanli.service.inter.order.HongBaoV2Service;
+import com.yeshi.fanli.service.inter.user.UserInfoExtraService;
+import com.yeshi.fanli.service.inter.user.UserInfoService;
+import com.yeshi.fanli.util.StringUtil;
+import org.yeshi.utils.TimeUtil;
+import com.yeshi.fanli.util.VersionUtil;
+import com.yeshi.fanli.vo.money.UserMoneyDetailHistoryVO;
+import com.yeshi.fanli.vo.money.UserMoneyStatisticVO;
+
+import net.sf.json.JSONObject;
+
+/**
+ * 璐︽埛绯荤粺
+ * 
+ * @author Administrator
+ *
+ */
+@Controller
+@RequestMapping("api/v1/usermoney")
+public class UserMoneyController {
+
+	@Resource
+	private UserMoneyDetailService userMoneyDetailService;
+
+	@Resource
+	private UserInfoService userInfoService;
+
+	@Resource
+	private HongBaoV2Service hongBaoV2Service;
+
+	@Resource
+	private ExtractService extractService;
+
+	@Resource
+	private UserInfoExtraService userInfoExtraService;
+
+	@Resource
+	private ConfigService configService;
+
+	@Resource
+	private HongBaoV2CountService hongBaoV2CountService;
+
+	/**
+	 * 鏂扮増璧勯噾璇︽儏锛�1.4.9锛�
+	 * 
+	 * @param acceptData
+	 * @param uid
+	 * @param index
+	 *            List鏈�鏈殑涓婚敭ID
+	 * @param year
+	 *            骞翠唤
+	 * @param month
+	 *            鏈堜唤
+	 * @param type
+	 *            1-鏀跺叆 2-鏀嚭 0-鍏ㄩ儴
+	 * 
+	 * @param out
+	 */
+	@RequestMapping(value = "getUserMoneyDetailList")
+	public void getUserMoneyDetailList(AcceptData acceptData, Long uid, Long index, Integer year, Integer month,
+			Integer type, PrintWriter out) {
+		if (uid == null || uid == 0) {
+			out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛鏈櫥褰�"));
+			return;
+		}
+
+		if ((year == null && month != null) || (year != null && month == null)) {
+			out.print(JsonUtil.loadFalseResult(1, "鏃ユ湡涓嶅畬鏁�"));
+			return;
+		}
+
+		Date date = null;
+
+		if (year != null && month != null) {
+			date = new Date(TimeUtil.convertToTimeTemp(year + "-" + month, "yyyy-M"));
+			Calendar ca = Calendar.getInstance();
+			ca.setTime(date);
+			ca.add(Calendar.MONTH, 1);
+			date = new Date(ca.getTimeInMillis() - 1);
+		}
+
+		List<UserMoneyDetailHistoryVO> list = userMoneyDetailService.listUserMoneyDetailForClient(uid, index, type,
+				date);
+		long count = userMoneyDetailService.countUserMoneyDetailForClient(uid, index, type, date);
+		GsonBuilder gsonBuilder = new GsonBuilder().excludeFieldsWithoutExposeAnnotation();
+		gsonBuilder.registerTypeAdapter(UserMoneyDetailTypeEnum.class, new TypeAdapter<UserMoneyDetailTypeEnum>() {
+			@Override
+			public UserMoneyDetailTypeEnum read(JsonReader arg0) throws IOException {
+				return null;
+			}
+
+			@Override
+			public void write(JsonWriter out, UserMoneyDetailTypeEnum arg1) throws IOException {
+				out.beginObject();
+				out.name("portrait").value(arg1.getPicture());
+				if (!StringUtil.isNullOrEmpty(arg1.getHelpUrl()))
+					out.name("helpUrl").value(arg1.getHelpUrl());
+				out.endObject();
+			}
+		}).registerTypeAdapter(Date.class, new JsonSerializer<Date>() {
+			@Override
+			public JsonElement serialize(Date value, Type theType, JsonSerializationContext context) {
+				if (value == null) {
+					return new JsonPrimitive("");
+				} else {
+					return new JsonPrimitive(TimeUtil.getGernalTime(value.getTime(), "yyyy.MM.dd HH:mm"));
+				}
+			}
+		}).registerTypeAdapter(BigDecimal.class, new JsonSerializer<BigDecimal>() {
+			@Override
+			public JsonElement serialize(BigDecimal value, Type theType, JsonSerializationContext context) {
+				if (value == null) {
+					return new JsonPrimitive("");
+				} else {
+					value = value.setScale(2);
+					return new JsonPrimitive(value.toString());
+				}
+			}
+		});
+
+		Gson gson = gsonBuilder.create();
+
+		JSONObject data = new JSONObject();
+		data.put("data", gson.toJson(list));
+		data.put("count", count);
+		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;
+		}
+		UserInfo user = userInfoService.getUserById(uid);
+
+		BigDecimal balance = user.getMyHongBao();
+
+		UserMoneyStatisticVO vo = new UserMoneyStatisticVO();
+		vo.setBalanceMoney(balance);
+		Date minDate = null;
+		Date maxDate = null;
+		List<UserMoneyDetailTypeEnum> typeList = new ArrayList<>();
+
+		// 涓婃湀鎻愮幇
+		typeList.clear();
+		typeList.add(UserMoneyDetailTypeEnum.extract);
+		typeList.add(UserMoneyDetailTypeEnum.extractNew);
+		typeList.add(UserMoneyDetailTypeEnum.extractVerify);
+		typeList.add(UserMoneyDetailTypeEnum.extractVerifyNew);
+		typeList.add(UserMoneyDetailTypeEnum.extractReject);
+		typeList.add(UserMoneyDetailTypeEnum.extractAutoWX);
+		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, 1).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.extractNew);
+		typeList.add(UserMoneyDetailTypeEnum.extractVerify);
+		typeList.add(UserMoneyDetailTypeEnum.extractVerifyNew);
+		typeList.add(UserMoneyDetailTypeEnum.extractReject);
+		typeList.add(UserMoneyDetailTypeEnum.extractAutoWX);
+		vo.setMonthExtractMoney(
+				userMoneyDetailService.statisticUserTypeMoneyWithDate(uid, typeList, minDate, maxDate, 1).abs());
+
+		if (!VersionUtil.greaterThan_2_1(acceptData.getPlatform(), acceptData.getVersion())) {
+			// 涓婃湀鏀跺叆
+			typeList.clear();
+			typeList.add(UserMoneyDetailTypeEnum.fanli);
+			typeList.add(UserMoneyDetailTypeEnum.fanliNew);
+			typeList.add(UserMoneyDetailTypeEnum.fanliWeiQuan);
+			typeList.add(UserMoneyDetailTypeEnum.fanliWeiQuanNew);
+			typeList.add(UserMoneyDetailTypeEnum.share);
+			typeList.add(UserMoneyDetailTypeEnum.shareNew);
+			typeList.add(UserMoneyDetailTypeEnum.shareWeiQuan);
+			typeList.add(UserMoneyDetailTypeEnum.invite);
+			typeList.add(UserMoneyDetailTypeEnum.inviteWeiQuan);
+			typeList.add(UserMoneyDetailTypeEnum.inviteAndShare);
+			typeList.add(UserMoneyDetailTypeEnum.teamReward);
+			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());
+
+			// 鏈湀鍒拌处
+			typeList.clear();
+			typeList.add(UserMoneyDetailTypeEnum.fanli);
+			typeList.add(UserMoneyDetailTypeEnum.fanliNew);
+			typeList.add(UserMoneyDetailTypeEnum.fanliWeiQuan);
+			typeList.add(UserMoneyDetailTypeEnum.fanliWeiQuanNew);
+			typeList.add(UserMoneyDetailTypeEnum.share);
+			typeList.add(UserMoneyDetailTypeEnum.shareNew);
+			typeList.add(UserMoneyDetailTypeEnum.shareWeiQuan);
+			typeList.add(UserMoneyDetailTypeEnum.invite);
+			typeList.add(UserMoneyDetailTypeEnum.inviteWeiQuan);
+			typeList.add(UserMoneyDetailTypeEnum.inviteAndShare);
+			typeList.add(UserMoneyDetailTypeEnum.teamReward);
+			typeList.add(UserMoneyDetailTypeEnum.weiQuan);
+			typeList.add(UserMoneyDetailTypeEnum.hongbao);
+			typeList.add(UserMoneyDetailTypeEnum.hongbaoDeduct);
+			vo.setMonthRecievedMoney(
+					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(
+					TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(ca.getTimeInMillis(), "yyyy-MM"), "yyyy-MM"));
+			// 鏈湀鏈埌璐�
+			BigDecimal monthUnRecievedMoney = hongBaoV2Service.getUnRecievedMoneyWithPreGetTime(uid, minDate, maxDate);
+			vo.setMonthUnRecievedMoney(monthUnRecievedMoney);
+
+			// 鍏ㄩ儴鏈埌璐�
+			minDate = new Date(0);
+			maxDate = new Date(timeStamp);
+			vo.setTotalUnRecievedMoney(hongBaoV2Service.getUnRecievedMoneyWithCreateTime(uid, minDate, maxDate));
+
+			// 鎬荤殑鍒拌处
+			typeList.clear();
+			typeList.add(UserMoneyDetailTypeEnum.fanli);
+			typeList.add(UserMoneyDetailTypeEnum.fanliNew);
+			typeList.add(UserMoneyDetailTypeEnum.fanliWeiQuan);
+			typeList.add(UserMoneyDetailTypeEnum.fanliWeiQuanNew);
+			typeList.add(UserMoneyDetailTypeEnum.orderReward);
+			typeList.add(UserMoneyDetailTypeEnum.orderRewardNew);
+			typeList.add(UserMoneyDetailTypeEnum.share);
+			typeList.add(UserMoneyDetailTypeEnum.shareNew);
+			typeList.add(UserMoneyDetailTypeEnum.shareWeiQuan);
+			typeList.add(UserMoneyDetailTypeEnum.invite);
+			typeList.add(UserMoneyDetailTypeEnum.inviteWeiQuan);
+			typeList.add(UserMoneyDetailTypeEnum.inviteAndShare);
+			typeList.add(UserMoneyDetailTypeEnum.teamReward);
+			typeList.add(UserMoneyDetailTypeEnum.weiQuan);
+			typeList.add(UserMoneyDetailTypeEnum.hongbao);
+			typeList.add(UserMoneyDetailTypeEnum.hongbaoDeduct);
+			typeList.add(UserMoneyDetailTypeEnum.subsidy);
+			typeList.add(UserMoneyDetailTypeEnum.teamReward);
+			vo.setTotalRecievedMoney(
+					userMoneyDetailService.statisticUserTypeMoneyWithDate(uid, typeList, minDate, maxDate).abs());
+		}
+
+		minDate = new Date(0L);
+		maxDate = new Date(timeStamp);
+
+		if (VersionUtil.greaterThan_2_1(acceptData.getPlatform(), acceptData.getVersion())) {
+			// 鎬荤殑鑷喘杩斿埄
+			typeList.clear();
+			typeList.add(UserMoneyDetailTypeEnum.fanli);
+			typeList.add(UserMoneyDetailTypeEnum.fanliNew);
+			typeList.add(UserMoneyDetailTypeEnum.fanliWeiQuan);
+			typeList.add(UserMoneyDetailTypeEnum.fanliWeiQuanNew);
+			typeList.add(UserMoneyDetailTypeEnum.orderReward);
+			typeList.add(UserMoneyDetailTypeEnum.orderRewardNew);
+			vo.setTotalFanLiMoney(
+					userMoneyDetailService.statisticUserTypeMoneyWithDate(uid, typeList, minDate, maxDate).abs());
+
+			// 绱鎴愬姛鎻愮幇
+			typeList.clear();
+			typeList.add(UserMoneyDetailTypeEnum.extract);
+			typeList.add(UserMoneyDetailTypeEnum.extractNew);
+			typeList.add(UserMoneyDetailTypeEnum.extractVerify);
+			typeList.add(UserMoneyDetailTypeEnum.extractVerifyNew);
+			typeList.add(UserMoneyDetailTypeEnum.extractAutoWX);
+			typeList.add(UserMoneyDetailTypeEnum.extractReject);
+			vo.setTotalExtractMoney(
+					userMoneyDetailService.statisticUserTypeMoneyWithDate(uid, typeList, minDate, maxDate, 1).abs());
+		}
+
+		// 鎬荤殑鍒嗕韩璧�
+		typeList.clear();
+		typeList.add(UserMoneyDetailTypeEnum.share);
+		typeList.add(UserMoneyDetailTypeEnum.shareNew);
+		typeList.add(UserMoneyDetailTypeEnum.shareWeiQuan);
+		vo.setTotalShareMoney(
+				userMoneyDetailService.statisticUserTypeMoneyWithDate(uid, typeList, minDate, maxDate).abs());
+
+		// 鎬荤殑閭�璇疯禋
+		typeList.clear();
+		typeList.add(UserMoneyDetailTypeEnum.invite);
+		typeList.add(UserMoneyDetailTypeEnum.inviteWeiQuan);
+		typeList.add(UserMoneyDetailTypeEnum.inviteAndShare);
+		if (VersionUtil.greaterThan_2_1(acceptData.getPlatform(), acceptData.getVersion())) {
+			typeList.add(UserMoneyDetailTypeEnum.subsidy);
+			typeList.add(UserMoneyDetailTypeEnum.teamReward);
+		}
+		
+		vo.setTotalInviteMoney(
+				userMoneyDetailService.statisticUserTypeMoneyWithDate(uid, typeList, minDate, maxDate).abs());
+
+		GsonBuilder builder = new GsonBuilder();
+		builder.registerTypeAdapter(BigDecimal.class, new JsonSerializer<BigDecimal>() {
+			@Override
+			public JsonElement serialize(BigDecimal value, Type theType, JsonSerializationContext context) {
+				if (value == null) {
+					return new JsonPrimitive("");
+				} else {
+					// 淇濈暀2浣嶅皬鏁�
+					value = value.setScale(2);
+					return new JsonPrimitive(value.toString());
+				}
+			}
+		});
+
+		// 鑾峰彇鎻愮幇涓殑淇℃伅
+		BigDecimal extractingMoney = extractService.sumVerifyingMoney(uid);
+		if (extractingMoney.compareTo(new BigDecimal(0)) > 0)
+			vo.setExtractingMoneyInfo("鎻愮幇涓�:楼" + extractingMoney.setScale(2, RoundingMode.HALF_UP));
+
+		if (VersionUtil.greaterThan_2_0(acceptData.getPlatform(), acceptData.getVersion())
+				&& !VersionUtil.greaterThan_2_1(acceptData.getPlatform(), acceptData.getVersion())) {
+			// 鑾峰彇鏄惁缁戝畾浜嗗井淇�
+			if (!StringUtil.isNullOrEmpty(user.getWxUnionId())) {
+				vo.setBindingWX(true);
+			} else
+				vo.setBindingWX(false);
+			vo.setAutoExtract(false);
+			vo.setAutoExtractHelpUrl(configService.getValue(ConfigKeyEnum.autoExtractHelpUrl.getKey(),acceptData.getSystem()));
+			vo.setOpenAutoExtractMsg("鑷姩鎻愮幇蹇呴』瑕佸井淇℃巿鏉冿紝褰撹处鎴蜂腑鐨勪綑棰濃墺2鍏冩椂锛岀郴缁熷湪淇濋殰浣犺祫閲戝畨鍏ㄧ殑鎯呭喌涓嬶紝浠ュ井淇$孩鍖呯殑褰㈠紡瀹屾垚鎻愮幇");
+			vo.setCloseAutoExtractMsg("鍏抽棴鑷姩鎻愮幇鍚庯紝60澶╀互鍐呭皢涓嶈嚜鍔ㄦ彁鐜帮紝60澶╁悗绯荤粺灏嗕細鑷姩寮�鍚紝鏁鐭ユ檽");
+		}
+
+		out.print(JsonUtil.loadTrueResult(builder.create().toJson(vo)));
+	}
+
+	/**
+	 * 鑷姩鎻愮幇
+	 * 
+	 * @param acceptData
+	 * @param type
+	 * @param out
+	 */
+	@RequestMapping("autoExtract")
+	public void autoExtract(AcceptData acceptData, Long uid, Integer type, PrintWriter out) {
+		out.print(JsonUtil.loadFalseResult("璇ュ姛鑳藉凡涓嬫灦"));
+	}
+
+}

--
Gitblit v1.8.0