From 8c04d27e5cebb7e654c208533e9567c4df2c8acc Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期四, 12 十二月 2019 14:21:44 +0800
Subject: [PATCH] 券时间限制

---
 fanli/src/main/java/com/yeshi/fanli/controller/client/v2/UserAccountControllerV2.java |   48 ++++++++++++++++++++++++++++++++----------------
 1 files changed, 32 insertions(+), 16 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/UserAccountControllerV2.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/UserAccountControllerV2.java
index 4af6953..0d515b5 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/UserAccountControllerV2.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/UserAccountControllerV2.java
@@ -28,6 +28,7 @@
 import com.yeshi.fanli.entity.bus.user.UserInfo;
 import com.yeshi.fanli.entity.bus.user.UserInfoExtra;
 import com.yeshi.fanli.entity.bus.user.vip.UserVIPInfo;
+import com.yeshi.fanli.entity.money.UserMoneyDetail.UserMoneyDetailTypeEnum;
 import com.yeshi.fanli.entity.push.DeviceActive;
 import com.yeshi.fanli.entity.shop.BanLiShopOrder;
 import com.yeshi.fanli.entity.system.BusinessSystem;
@@ -38,6 +39,7 @@
 import com.yeshi.fanli.service.inter.config.ConfigService;
 import com.yeshi.fanli.service.inter.count.HongBaoV2CountService;
 import com.yeshi.fanli.service.inter.homemodule.HomeNavbarUserService;
+import com.yeshi.fanli.service.inter.money.UserMoneyDetailService;
 import com.yeshi.fanli.service.inter.money.UserMoneyService;
 import com.yeshi.fanli.service.inter.order.LostOrderService;
 import com.yeshi.fanli.service.inter.order.config.HongBaoManageService;
@@ -183,6 +185,10 @@
 	@Resource
 	private UserInfoExtraService userInfoExtraService;
 
+	@Resource
+	private UserMoneyDetailService userMoneyDetailService;
+
+	
 	/**
 	 * 鏂扮増鐧诲綍 V1.5.3
 	 * 
@@ -380,12 +386,24 @@
 		vo.setHelpLink(userVipConfigService.getValueByKey("help_link_vip_h5"));
 		vo.setCsdLink(configService.get("customer_service_link"));
 
-		// 鐪侀挶 -鑷喘浜х敓杩斿埄
-		BigDecimal finishMoney = hongBaoV2CountService.getRewardMoneyBySelf(uid);
-		// 鍒嗕韩璧�
-		BigDecimal rewardShare = hongBaoV2CountService.getRewardMoneyByShare(uid);
-		// 閭�璇疯禋
-		BigDecimal rewardInvite = hongBaoV2CountService.getRewardMoneyByInvite(uid);
+		
+		Date now = new Date();
+		Date start = new Date(0);
+		
+		// 杩斿埄璁㈠崟銆佸鍔卞埜鎻愭垚
+		List<UserMoneyDetailTypeEnum> typeFanli = new ArrayList<>();
+		typeFanli.add(UserMoneyDetailTypeEnum.fanli);
+		typeFanli.add(UserMoneyDetailTypeEnum.orderReward);
+		BigDecimal finishMoney = userMoneyDetailService.statisticUserTypeMoneyWithDate(uid, typeFanli, start, now).abs();
+		
+		// 閭�璇疯鍗曘�佸垎浜鍗曘�佽ˉ璐�
+		List<UserMoneyDetailTypeEnum> typeList = new ArrayList<>();
+		typeList.add(UserMoneyDetailTypeEnum.share);
+		typeList.add(UserMoneyDetailTypeEnum.invite);
+		typeList.add(UserMoneyDetailTypeEnum.inviteAndShare);
+		typeList.add(UserMoneyDetailTypeEnum.systemEqualize);
+		typeList.add(UserMoneyDetailTypeEnum.subsidy);
+		BigDecimal rewardMoney = userMoneyDetailService.statisticUserTypeMoneyWithDate(uid, typeList, start, now).abs();
 
 		UserVIPInfo userVIPInfo = userVIPInfoService.selectByUid(uid);
 		vo.setVipInfo(userVIPInfo);
@@ -410,14 +428,13 @@
 				&& userVIPInfo.getState() == UserVIPInfo.STATE_SUCCESS) { // VIP
 			vo.setSuccessTime(TimeUtil.getGernalTime(userVIPInfo.getSuccessTime().getTime(), "yyyy.MM.dd"));
 			vo.setConserveMoney(finishMoney);
-			vo.setEarnMoney(MoneyBigDecimalUtil.add(rewardShare, rewardInvite));
+			vo.setEarnMoney(rewardMoney);
 		} else {
-			BigDecimal rate1 = new BigDecimal(5);
-			BigDecimal rate2 = new BigDecimal(12);
-			vo.setConserveMoney(MoneyBigDecimalUtil.mul2(finishMoney, MoneyBigDecimalUtil.div(rate1, rate2)));
-			vo.setEarnMoney(MoneyBigDecimalUtil.mul2(rewardShare, MoneyBigDecimalUtil.div(rate1, rate2)));
+			BigDecimal rate = new BigDecimal("0.409");
+			vo.setConserveMoney(MoneyBigDecimalUtil.mul2(finishMoney, rate));
+			vo.setEarnMoney(MoneyBigDecimalUtil.mul2(rewardMoney, rate));
 		}
-		vo.setFinishMoney(finishMoney);
+		vo.setFinishMoney(hongBaoV2CountService.getRewardMoneyBySelf(uid));
 
 		// 浼氬憳瑙勫垯鎵ц鏃堕棿
 		String limtDate = userVipConfigService.getValueByKey("vip_execute_time");
@@ -432,7 +449,7 @@
 		list.add(BanLiShopOrder.STATE_SUCCESS);
 		BigDecimal payMoney = new BigDecimal(userVipConfigService.getValueByKey("require_order_pay"));
 
-		vo.setFinishGoldCoin(integralDetailService.getCumulativeMoney(uid));
+		vo.setFinishGoldCoin(Long.parseLong(integralDetailService.getCumulativeMoney(uid).setScale(0).toString()));
 		vo.setFinishTeam(hongBaoV2CountService.countValidOrderTeamUserByUid(uid, executeDate.getTime(), payMoney));
 		vo.setFinishHongBao(banLiShopOrderService.countByUidAndState(uid, list));
 
@@ -445,9 +462,9 @@
 		}
 		vo.setLimitHongBao(Long.parseLong(userVipConfigService.getValueByKey("require_shop_buy")));
 		vo.setLimitMoney(new BigDecimal(userVipConfigService.getValueByKey("require_fan_money")));
-		vo.setLimitgoldCoin(new BigDecimal(userVipConfigService.getValueByKey("require_gold_coin")));
+		vo.setLimitgoldCoin(Long.parseLong(userVipConfigService.getValueByKey("require_gold_coin")));
 
-		GsonBuilder gsonBuilder = new GsonBuilder().excludeFieldsWithoutExposeAnnotation();
+		GsonBuilder gsonBuilder = new GsonBuilder();
 		gsonBuilder.registerTypeAdapter(BigDecimal.class, new JsonSerializer<BigDecimal>() {
 			@Override
 			public JsonElement serialize(BigDecimal value, Type theType, JsonSerializationContext context) {
@@ -461,7 +478,6 @@
 			}
 		});
 		Gson gson = gsonBuilder.create();
-		
 		
 		if (!StringUtil.isNullOrEmpty(callback)) {
 			out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult(gson.toJson(vo))));

--
Gitblit v1.8.0