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 |   28 ++++++++++++++++++----------
 1 files changed, 18 insertions(+), 10 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 b582b81..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,6 +19,7 @@
 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;
@@ -28,7 +29,6 @@
 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 {
@@ -54,6 +54,9 @@
 	@Resource
 	private UserVIPInfoService userVIPInfoService;
 
+	@Resource
+	private CommonOrderService commonOrderService;
+
 	@Override
 	public InviteOrderSubsidy getByOrderNoAndType(Long uid, String orderNo, Integer type) {
 		return inviteOrderSubsidyMapper.getByOrderNoAndType(uid, orderNo, type);
@@ -64,13 +67,8 @@
 		return inviteOrderSubsidyMapper.getByOrderNoAndTypeForUpdate(uid, orderNo, type);
 	}
 
-	@Transactional
+	@Transactional(rollbackFor = Exception.class)
 	private void addOrderSubsidy(InviteOrderSubsidy orderSubsidy) throws InviteOrderSubsidyException {
-		//TODO 纭畾鐢熸晥鏃ユ湡  鏈哄埗2020骞寸敓鏁�
-		if (System.currentTimeMillis() < TimeUtil.convertToTimeTemp("2020-01-01", "yyyy-MM-dd")) {
-			return;
-		}
-
 		if (orderSubsidy.getMoney() == null || StringUtil.isNullOrEmpty(orderSubsidy.getOrderNo())
 				|| orderSubsidy.getSourceType() == null || orderSubsidy.getUid() == null)
 			throw new InviteOrderSubsidyException(1, "鏁版嵁涓嶅畬鏁�");
@@ -97,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)
@@ -168,6 +166,10 @@
 							orderSubsidy.setOrderNo(orderId);
 							orderSubsidy.setSourceType(sourceType);
 							orderSubsidy.setState(state);
+							if (type == HongBaoV2.TYPE_YIJI)
+								orderSubsidy.setLevel(InviteOrderSubsidy.LEVEL_ONE);
+							else
+								orderSubsidy.setLevel(InviteOrderSubsidy.LEVEL_TWO);
 							// VIP鐢ㄦ埛鎵嶈兘琛ヨ创
 							if (userVIPInfoService.isVIP(uid))
 								addOrderSubsidy(orderSubsidy);
@@ -218,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);
 				}
 			}
@@ -225,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) {
@@ -233,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);
@@ -246,6 +252,8 @@
 		orderSubsidy.setState(InviteOrderSubsidy.STATE_SUBSIDIZED);
 		orderSubsidy.setUpdateTime(new Date());
 		inviteOrderSubsidyMapper.updateByPrimaryKeySelective(orderSubsidy);
+		// 璁剧疆鍙粨绠�
+
 	}
 
 }

--
Gitblit v1.8.0