From a5bc9c4e52f98032b287a42fd243c2ffcb7d58f6 Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期一, 13 四月 2020 09:52:16 +0800
Subject: [PATCH] 消息

---
 fanli/src/main/java/com/yeshi/fanli/service/manger/order/HongBaoV2AddManager.java |   52 ++++++++++++++++++++++++++++++++++------------------
 1 files changed, 34 insertions(+), 18 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/manger/order/HongBaoV2AddManager.java b/fanli/src/main/java/com/yeshi/fanli/service/manger/order/HongBaoV2AddManager.java
index cc875e0..6fbed48 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/manger/order/HongBaoV2AddManager.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/manger/order/HongBaoV2AddManager.java
@@ -23,6 +23,7 @@
 import com.yeshi.fanli.entity.bus.user.HongBaoV2;
 import com.yeshi.fanli.entity.bus.user.ThreeSale;
 import com.yeshi.fanli.entity.bus.user.UserInfo;
+import com.yeshi.fanli.entity.bus.user.vip.UserLevelEnum;
 import com.yeshi.fanli.entity.order.CommonOrder;
 import com.yeshi.fanli.entity.order.CommonOrderGoods;
 import com.yeshi.fanli.entity.order.HongBaoOrder;
@@ -36,6 +37,7 @@
 import com.yeshi.fanli.service.inter.user.UserSystemCouponService;
 import com.yeshi.fanli.service.inter.user.invite.ThreeSaleSerivce;
 import com.yeshi.fanli.service.inter.user.vip.UserVIPInfoService;
+import com.yeshi.fanli.service.manger.user.UserLevelManager;
 import com.yeshi.fanli.util.Constant;
 import com.yeshi.fanli.util.MoneyBigDecimalUtil;
 import com.yeshi.fanli.util.TaoBaoConstant;
@@ -76,6 +78,9 @@
 
 	@Resource
 	private UserVIPInfoService userVIPInfoService;
+
+	@Resource
+	private UserLevelManager userLevelManager;
 
 	/**
 	 * 娣诲姞绾㈠寘淇℃伅
@@ -129,20 +134,30 @@
 						switch (t) {
 						case HongBaoV2.TYPE_ZIGOU:
 							userOrderMsgNotificationService.orderFanLiStatistic(uid, orderId, orderType,
-									commonOrder.getPayment(), money, goodsCount, state);
+									commonOrder.getPayment(), money, goodsCount, commonOrder.getState(),
+									commonOrder.getThirdCreateTime());
+
 							break;
 						case HongBaoV2.TYPE_SHARE_GOODS:
+
 							userOrderMsgNotificationService.orderShareStatistic(uid, orderId, orderType,
-									commonOrder.getPayment(), money, goodsCount, state);
+									commonOrder.getPayment(), money, goodsCount, commonOrder.getState(),
+									commonOrder.getThirdCreateTime());
+
 							break;
 						case HongBaoV2.TYPE_YIJI:
 							userOrderMsgNotificationService.orderInviteStatistic(uid, orderId, orderType,
-									commonOrder.getPayment(), money, goodsCount, state);
+									commonOrder.getPayment(), money, goodsCount, commonOrder.getState(),
+									commonOrder.getThirdCreateTime());
+
 							break;
 						case HongBaoV2.TYPE_ERJI:
-							userOrderMsgNotificationService.orderInviteStatistic(uid, orderId, orderType,
-									commonOrder.getPayment(), money, goodsCount, state);
+						
+							userOrderMsgNotificationService.orderInviteStatistic(uid, orderId, orderType, 	commonOrder.getPayment(), money,
+									goodsCount,  commonOrder.getState(), commonOrder.getThirdCreateTime());
+
 							break;
+
 						case HongBaoV2.TYPE_SHARE_YIJI:
 							userOrderMsgNotificationService.orderShareFirstLevelStatistic(uid, orderId, orderType,
 									commonOrder.getPayment(), money, goodsCount, state, notify.getBeizhu());
@@ -471,7 +486,7 @@
 				}
 			}
 
-			HongBaoV2 hongBao = createFanLiHongBao(commonOrder, fanliRate, mianDanMoney, vip);
+			HongBaoV2 hongBao = createFanLiHongBao(commonOrder, fanliRate, mianDanMoney);
 			if (hongBao == null)
 				return;
 			addFanLiOrShareHongBao(hongBao, commonOrder, notificationMap);
@@ -630,7 +645,8 @@
 		UserInfo user = userInfoService.selectAvailableByPrimaryKey(uid);
 		if (user == null)
 			return null;
-		boolean isVIP = userVIPInfoService.isVIP(uid);
+
+		UserLevelEnum level = userLevelManager.getUserLevel(uid);
 
 		HongBaoV2 child = new HongBaoV2();
 		child.setParent(parent);
@@ -649,13 +665,11 @@
 		}
 
 		child.setUserInfo(user);
-		child.setUrank(user.getRank());
+		child.setUrank(level.getOrderRank());
 		child.setVersion(2);
 		child.setCreateTime(new Date());
 		child.setOrderType(commonOrder.getSourceType());
 		if (child.getMoney() == null)
-			return null;
-		if (child.getMoney().compareTo(new BigDecimal(0)) <= 0 && !isVIP)
 			return null;
 		return child;
 	}
@@ -668,13 +682,11 @@
 	 *            -杩斿埄姣斾緥
 	 * @param mianDanMoney
 	 *            鍏嶅崟閲戦
-	 * @param isVIP-鏄惁涓篤IP璁㈠崟
 	 * @return
 	 * @throws HongBaoException
 	 * @throws UserAccountException
 	 */
-	private HongBaoV2 createFanLiHongBao(CommonOrder commonOrder, BigDecimal fanliRate, BigDecimal mianDanMoney,
-			boolean isVIP) throws HongBaoException, UserAccountException {
+	private HongBaoV2 createFanLiHongBao(CommonOrder commonOrder, BigDecimal fanliRate, BigDecimal mianDanMoney) throws HongBaoException, UserAccountException {
 		HongBaoV2 hongBao = new HongBaoV2();
 		hongBao.setUserInfo(commonOrder.getUserInfo());
 		hongBao.setCreateTime(new Date());
@@ -704,9 +716,11 @@
 		UserInfo user = userInfoService.getUserById(commonOrder.getUserInfo().getId());
 		if (user == null)
 			throw new UserAccountException(1001, "鐢ㄦ埛涓嶅瓨鍦�/琚皝绂�");
-		if (isVIP) {
-			hongBao.setUrank(100);// VIP鐨勭瓑绾ц缃负100
-		} else {
+		UserLevelEnum userLevel = userLevelManager.getUserLevel(commonOrder.getUserInfo().getId(),
+				commonOrder.getThirdCreateTime());
+		if (userLevel != null)
+			hongBao.setUrank(userLevel.getOrderRank());
+		else {
 			hongBao.setUrank(user.getRank());
 		}
 		hongBao.setOrderType(commonOrder.getSourceType());
@@ -850,8 +864,10 @@
 		UserInfo user = userInfoService.getUserById(commonOrder.getUserInfo().getId());
 		if (user == null)
 			throw new UserAccountException(1001, "鐢ㄦ埛涓嶅瓨鍦�/琚皝绂�");
-		if (isVip)
-			hongBao.setUrank(100);
+		UserLevelEnum userLevel = userLevelManager.getUserLevel(commonOrder.getUserInfo().getId(),
+				commonOrder.getThirdCreateTime());
+		if (userLevel != null)
+			hongBao.setUrank(userLevel.getOrderRank());
 		else
 			hongBao.setUrank(user.getRank());
 		hongBao.setUserInfo(user);

--
Gitblit v1.8.0