From 0ec22dcf4fd9c4496e6f681e7fab89f56c6e4e8a Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期四, 02 四月 2020 14:45:20 +0800
Subject: [PATCH] vip 消息

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/order/InviteOrderSubsidyServiceImpl.java |   39 ++++++++++++++++++++++++++-------------
 1 files changed, 26 insertions(+), 13 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 b9d4cb8..b545919 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
@@ -19,15 +19,16 @@
 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 {
@@ -50,6 +51,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);
@@ -60,14 +67,8 @@
 		return inviteOrderSubsidyMapper.getByOrderNoAndTypeForUpdate(uid, orderNo, type);
 	}
 
-	@Transactional
-	@Override
-	public void addOrderSubsidy(InviteOrderSubsidy orderSubsidy) throws InviteOrderSubsidyException {
-		// 鏈哄埗2020骞寸敓鏁�
-		if (System.currentTimeMillis() < TimeUtil.convertToTimeTemp("2020-01-01", "yyyy-MM-dd")) {
-			return;
-		}
-
+	@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, "鏁版嵁涓嶅畬鏁�");
@@ -94,14 +95,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)
@@ -165,7 +166,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);
 						}
 					}
 				}
@@ -213,6 +220,7 @@
 					InviteOrderSubsidy update = new InviteOrderSubsidy(subsidy.getId());
 					update.setState(InviteOrderSubsidy.STATE_INVALID);
 					update.setUpdateTime(new Date());
+					update.setInValidTime(new Date());
 					inviteOrderSubsidyMapper.updateByPrimaryKeySelective(update);
 				}
 			}
@@ -220,7 +228,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,12 +237,14 @@
 					InviteOrderSubsidy update = new InviteOrderSubsidy(subsidy.getId());
 					update.setState(InviteOrderSubsidy.STATE_VALID);
 					update.setUpdateTime(new Date());
+					update.setValidTime(new Date());
 					inviteOrderSubsidyMapper.updateByPrimaryKeySelective(update);
 				}
 			}
 
 	}
 
+	@Transactional
 	@Override
 	public void settleById(Long id, BigDecimal money) {
 		InviteOrderSubsidy orderSubsidy = new InviteOrderSubsidy(id);
@@ -241,6 +252,8 @@
 		orderSubsidy.setState(InviteOrderSubsidy.STATE_SUBSIDIZED);
 		orderSubsidy.setUpdateTime(new Date());
 		inviteOrderSubsidyMapper.updateByPrimaryKeySelective(orderSubsidy);
+		// 璁剧疆鍙粨绠�
+
 	}
 
 }

--
Gitblit v1.8.0