From c3a5e164cbabbfc5f66e1356cb0de657ce3f58b9 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期五, 20 三月 2020 13:56:02 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/div' into div

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/order/InviteOrderSubsidyServiceImpl.java |   34 +++++++++++++++++++++++++++-------
 1 files changed, 27 insertions(+), 7 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/InviteOrderSubsidyServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/InviteOrderSubsidyServiceImpl.java
index db072a6..59ef739 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/InviteOrderSubsidyServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/InviteOrderSubsidyServiceImpl.java
@@ -2,6 +2,7 @@
 
 import java.math.BigDecimal;
 import java.util.ArrayList;
+import java.util.Calendar;
 import java.util.Date;
 import java.util.Iterator;
 import java.util.List;
@@ -16,17 +17,21 @@
 import com.yeshi.fanli.dao.mybatis.order.InviteOrderSubsidyMapper;
 import com.yeshi.fanli.entity.bus.user.HongBaoV2;
 import com.yeshi.fanli.entity.bus.user.Order;
+import com.yeshi.fanli.entity.order.CommonOrder;
 import com.yeshi.fanli.entity.order.HongBaoOrder;
 import com.yeshi.fanli.entity.order.InviteOrderSubsidy;
 import com.yeshi.fanli.exception.order.InviteOrderSubsidyException;
+import com.yeshi.fanli.service.inter.order.CommonOrderService;
 import com.yeshi.fanli.service.inter.order.HongBaoOrderService;
 import com.yeshi.fanli.service.inter.order.HongBaoV2Service;
 import com.yeshi.fanli.service.inter.order.InviteOrderSubsidyService;
 import com.yeshi.fanli.service.inter.order.OrderHongBaoMapService;
 import com.yeshi.fanli.service.inter.order.OrderService;
 import com.yeshi.fanli.service.inter.order.config.HongBaoManageService;
+import com.yeshi.fanli.service.inter.user.vip.UserVIPInfoService;
 import com.yeshi.fanli.util.MoneyBigDecimalUtil;
 import com.yeshi.fanli.util.StringUtil;
+import com.yeshi.fanli.util.TimeUtil;
 
 @Service
 public class InviteOrderSubsidyServiceImpl implements InviteOrderSubsidyService {
@@ -49,6 +54,12 @@
 	@Resource
 	private HongBaoManageService hongBaoManageService;
 
+	@Resource
+	private UserVIPInfoService userVIPInfoService;
+
+	@Resource
+	private CommonOrderService commonOrderService;
+
 	@Override
 	public InviteOrderSubsidy getByOrderNoAndType(Long uid, String orderNo, Integer type) {
 		return inviteOrderSubsidyMapper.getByOrderNoAndType(uid, orderNo, type);
@@ -59,9 +70,8 @@
 		return inviteOrderSubsidyMapper.getByOrderNoAndTypeForUpdate(uid, orderNo, type);
 	}
 
-	@Transactional
-	@Override
-	public void addOrderSubsidy(InviteOrderSubsidy orderSubsidy) throws InviteOrderSubsidyException {
+	@Transactional(rollbackFor = Exception.class)
+	private void addOrderSubsidy(InviteOrderSubsidy orderSubsidy) throws InviteOrderSubsidyException {
 		if (orderSubsidy.getMoney() == null || StringUtil.isNullOrEmpty(orderSubsidy.getOrderNo())
 				|| orderSubsidy.getSourceType() == null || orderSubsidy.getUid() == null)
 			throw new InviteOrderSubsidyException(1, "鏁版嵁涓嶅畬鏁�");
@@ -88,14 +98,14 @@
 		}
 	}
 
-	@Transactional
+	@Transactional(rollbackFor = Exception.class)
 	@Override
 	public void addOrUpdateByOrder(String orderId, int sourceType) throws InviteOrderSubsidyException {
 		List<HongBaoOrder> list = hongBaoOrderService.listByOrderIdAndSourceType(orderId, sourceType);
 		if (list != null && list.size() > 0) {
 			// 蹇呴』鏄嚜璐鍗曟墠杩斿埄
 			HongBaoV2 parent = hongBaoV2Service.selectByPrimaryKey(list.get(0).getHongBaoV2().getId());
-			if (parent != null && parent.getType() == HongBaoV2.TYPE_ZIGOU) {
+			if (parent != null && parent.getType() == HongBaoV2.TYPE_ZIGOU && parent.getUrank() != 100) {// 涓嶆槸浼氬憳鐨勮嚜璐墠琛ヨ创
 				Order order = orderService.findOrderByOrderIdAndType(orderId, sourceType);
 				List<Long> idList = new ArrayList<>();
 				for (HongBaoOrder ho : list)
@@ -159,7 +169,13 @@
 							orderSubsidy.setOrderNo(orderId);
 							orderSubsidy.setSourceType(sourceType);
 							orderSubsidy.setState(state);
-							addOrderSubsidy(orderSubsidy);
+							if (type == HongBaoV2.TYPE_YIJI)
+								orderSubsidy.setLevel(InviteOrderSubsidy.LEVEL_ONE);
+							else
+								orderSubsidy.setLevel(InviteOrderSubsidy.LEVEL_TWO);
+							// VIP鐢ㄦ埛鎵嶈兘琛ヨ创
+							if (userVIPInfoService.isVIP(uid))
+								addOrderSubsidy(orderSubsidy);
 						}
 					}
 				}
@@ -214,7 +230,8 @@
 
 	@Transactional
 	@Override
-	public void validByOrderIdAndSourceType(String orderId, int sourceType) {
+	public void validByOrderIdAndSourceType(String orderId, int sourceType) throws InviteOrderSubsidyException {
+
 		List<InviteOrderSubsidy> list = inviteOrderSubsidyMapper.listByOrderNoAndType(orderId, sourceType);
 		if (list != null && list.size() > 0)
 			for (InviteOrderSubsidy subsidy : list) {
@@ -228,6 +245,7 @@
 
 	}
 
+	@Transactional
 	@Override
 	public void settleById(Long id, BigDecimal money) {
 		InviteOrderSubsidy orderSubsidy = new InviteOrderSubsidy(id);
@@ -235,6 +253,8 @@
 		orderSubsidy.setState(InviteOrderSubsidy.STATE_SUBSIDIZED);
 		orderSubsidy.setUpdateTime(new Date());
 		inviteOrderSubsidyMapper.updateByPrimaryKeySelective(orderSubsidy);
+		// 璁剧疆鍙粨绠�
+
 	}
 
 }

--
Gitblit v1.8.0