From ee5c8055b1c0dd7c67a9025a76b10bd287c93d9a Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期三, 15 四月 2020 09:52:27 +0800
Subject: [PATCH] 资金明细增加团队分红

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/order/InviteOrderSubsidyServiceImplV2.java |   36 +++++++++++++++++++++---------------
 1 files changed, 21 insertions(+), 15 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/InviteOrderSubsidyServiceImplV2.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/InviteOrderSubsidyServiceImplV2.java
index dcadc32..2596787 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/InviteOrderSubsidyServiceImplV2.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/InviteOrderSubsidyServiceImplV2.java
@@ -22,7 +22,6 @@
 import com.yeshi.fanli.entity.order.InviteOrderSubsidy;
 import com.yeshi.fanli.exception.order.CommonOrderException;
 import com.yeshi.fanli.exception.order.InviteOrderSubsidyException;
-import com.yeshi.fanli.exception.order.OrderTeamRewardException;
 import com.yeshi.fanli.service.inter.order.CommonOrderService;
 import com.yeshi.fanli.service.inter.order.HongBaoOrderService;
 import com.yeshi.fanli.service.inter.order.HongBaoV2Service;
@@ -33,12 +32,12 @@
 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.StringUtil;
 import com.yeshi.fanli.util.TimeUtil;
 
 @Service
 public class InviteOrderSubsidyServiceImplV2 implements InviteOrderSubsidyService {
-
 	@Resource
 	private InviteOrderSubsidyMapper inviteOrderSubsidyMapper;
 
@@ -84,9 +83,8 @@
 		return inviteOrderSubsidyMapper.listByOrderNoAndType(orderNo, type);
 	}
 
-	@Transactional(rollbackFor = Exception.class)
 	private void addOrderSubsidy(InviteOrderSubsidy orderSubsidy)
-			throws InviteOrderSubsidyException, OrderTeamRewardException, CommonOrderException {
+			throws InviteOrderSubsidyException, CommonOrderException {
 		if (orderSubsidy.getMoney() == null || StringUtil.isNullOrEmpty(orderSubsidy.getOrderNo())
 				|| orderSubsidy.getSourceType() == null || orderSubsidy.getUid() == null)
 			throw new InviteOrderSubsidyException(1, "鏁版嵁涓嶅畬鏁�");
@@ -121,13 +119,17 @@
 			// 蹇呴』鏄嚜璐鍗曟墠杩斿埄
 			HongBaoV2 parent = hongBaoV2Service.selectByPrimaryKey(list.get(0).getHongBaoV2().getId());
 			if (parent != null
-					&& (parent.getType() == HongBaoV2.TYPE_SHARE_GOODS || parent.getType() == HongBaoV2.TYPE_ZIGOU)) {// 涓嶆槸瓒呯骇浼氬憳鐨勮嚜璐�/鍒嗕韩鎵嶈ˉ璐�
+					&& (parent.getType() == HongBaoV2.TYPE_SHARE_GOODS || parent.getType() == HongBaoV2.TYPE_ZIGOU)) {//
 
 				List<CommonOrder> orderList = commonOrderService.listBySourceTypeAndOrderId(sourceType, orderId);
 				if (orderList == null || orderList.size() == 0)
 					throw new InviteOrderSubsidyException(10, "璁㈠崟涓虹┖");
 				CommonOrder firstOrder = orderList.get(0);
 				Date placeOrderTime = firstOrder.getThirdCreateTime();
+
+				if (placeOrderTime.getTime() < Constant.NEW_ORDER_FANLI_RULE_TIME)
+					return;
+
 				int urank = firstOrder.getUrank();
 				UserLevelEnum buyerUserLevel = null;
 				for (UserLevelEnum level : UserLevelEnum.values())
@@ -154,7 +156,7 @@
 					}
 
 					List<HongBaoV2> hbList = hongBaoV2Service.listByIds(idList);
-					Integer state = null;
+					Integer state = InviteOrderSubsidy.STATE_UNKNOWN;
 
 					// 浜х敓鏀硅鍗曠殑杩斿埄鎬婚噾棰�
 					BigDecimal totalBuyFanLiMoney = new BigDecimal(0);
@@ -163,15 +165,8 @@
 						if (v2.getState() == HongBaoV2.STATE_BUKELINGQU || v2.getState() == HongBaoV2.STATE_KELINGQU
 								|| v2.getState() == HongBaoV2.STATE_YILINGQU)
 							totalBuyFanLiMoney = totalBuyFanLiMoney.add(v2.getMoney());
-
-						if (state == null && (v2.getState() == HongBaoV2.STATE_KELINGQU
-								|| v2.getState() == HongBaoV2.STATE_YILINGQU)) {// 绾㈠寘鐘舵�佷负宸查鍙栨垨鑰呮槸寰呴鍙栵紝鍒欒缃负琛ヨ创鏈夋晥
-							state = InviteOrderSubsidy.STATE_VALID;
-						}
 					}
 
-					if (state == null)
-						state = InviteOrderSubsidy.STATE_UNKNOWN;
 					// 璁$畻濂栧姳閲�
 					for (Iterator<Long> its = uidHongBaoMap.keySet().iterator(); its.hasNext();) {
 						Long uid = its.next();
@@ -205,13 +200,24 @@
 
 							try {
 								addOrderSubsidy(orderSubsidy);
-							} catch (OrderTeamRewardException e) {
-								throw new InviteOrderSubsidyException(e.getCode(), e.getMsg());
 							} catch (CommonOrderException e) {
 								throw new InviteOrderSubsidyException(e.getCode(), e.getMsg());
 							}
 						}
 					}
+
+					boolean isSettle = false;
+					if (orderList != null)
+						for (CommonOrder commonOrder : orderList) {
+							if (commonOrder.getState() == CommonOrder.STATE_JS
+									|| commonOrder.getState() == CommonOrder.STATE_WQ) {
+								isSettle = true;
+								break;
+							}
+						}
+					if (isSettle) {
+						validByOrderIdAndSourceType(orderId, sourceType);
+					}
 				}
 			}
 		}

--
Gitblit v1.8.0