From 0d91bad397c1a1b41bc77d9cd9f7555ed78f7f1a Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期四, 19 三月 2020 16:57:48 +0800
Subject: [PATCH] 团队奖励相关机制建立

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/user/vip/UserVIPInfoServiceImpl.java |   57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 55 insertions(+), 2 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/vip/UserVIPInfoServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/vip/UserVIPInfoServiceImpl.java
index c1dcae6..39ae98a 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/vip/UserVIPInfoServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/vip/UserVIPInfoServiceImpl.java
@@ -18,12 +18,14 @@
 
 import com.yeshi.fanli.dao.mybatis.user.vip.UserVIPInfoMapper;
 import com.yeshi.fanli.dto.msg.MsgOtherVIPDTO;
+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.UserInfoExtra;
 import com.yeshi.fanli.entity.bus.user.UserInviteSeparate;
 import com.yeshi.fanli.entity.bus.user.UserSystemCoupon;
 import com.yeshi.fanli.entity.bus.user.vip.UserVIPInfo;
+import com.yeshi.fanli.entity.bus.user.vip.UserVIPPreInfo;
 import com.yeshi.fanli.entity.integral.IntegralDetail;
 import com.yeshi.fanli.entity.shop.BanLiShopOrder;
 import com.yeshi.fanli.entity.system.ConfigKeyEnum;
@@ -40,6 +42,7 @@
 import com.yeshi.fanli.service.inter.user.integral.IntegralDetailService;
 import com.yeshi.fanli.service.inter.user.invite.ThreeSaleSerivce;
 import com.yeshi.fanli.service.inter.user.vip.UserVIPInfoService;
+import com.yeshi.fanli.service.inter.user.vip.UserVIPPreInfoService;
 import com.yeshi.fanli.service.inter.user.vip.UserVipConfigService;
 import com.yeshi.fanli.util.Constant;
 import com.yeshi.fanli.util.TimeUtil;
@@ -84,6 +87,9 @@
 	@Lazy
 	@Resource
 	private UserSystemCouponService userSystemCouponService;
+	
+	@Resource
+	private UserVIPPreInfoService userVIPPreInfoService;
 
 	@Override
 	@Transactional(rollbackFor = Exception.class)
@@ -299,8 +305,29 @@
 
 		// 1銆佺洿鎺ョ矇涓濓紙浠� 2020 骞� 1 鏈� 1 鏃ヨ捣鐩存帴绮変笣浜х敓鏈夋晥璁㈠崟锛�
 		BigDecimal payMoney = new BigDecimal(userVipConfigService.getValueByKey("require_order_pay"));
-		long teamNum = hongBaoV2CountService.countValidOrderTeamUserByUid(uid,
-				TimeUtil.convertDateToTemp(Constant.VIP_ONLINE_TIME), payMoney);
+//		long teamNum = hongBaoV2CountService.countValidOrderTeamUserByUid(uid,
+//				TimeUtil.convertDateToTemp(Constant.VIP_ONLINE_TIME), payMoney);
+		long teamNum = 0L;
+		long vipBegin = TimeUtil.convertDateToTemp(Constant.VIP_ONLINE_TIME);
+		List<ThreeSale> listThreeSale = threeSaleSerivce.getValidWorkerIdsByTime(uid, vipBegin);
+		if (listThreeSale != null && listThreeSale.size() > 0) {
+			for (ThreeSale three: listThreeSale) {
+				UserInfo worker = three.getWorker();
+				if (worker == null || worker.getId() == null) {
+					continue;
+				}
+				// 1銆侀個璇峰叧绯绘垚鍔熷悗锛�2銆佸崟锛堝垎浜� + 鑷喘锛夊疄浠樻澶т簬1鍏�
+				long countValid = hongBaoV2CountService.countValidOrderByUidAndTime(worker.getId(), three.getSucceedTime(), payMoney);
+				if (countValid > 0) {
+					teamNum ++;
+				}
+			}
+		}
+		
+		
+		
+		
+		
 
 		// 鍖哄垎鑰佺敤鎴峰拰鏂扮敤鎴�
 		String limtDate = userVipConfigService.getValueByKey("vip_execute_time");
@@ -413,4 +440,30 @@
 		}
 	}
 
+	/**
+	 * 楠岃瘉鏄惁绗﹀悎VIP
+	 * @param uid
+	 * @return
+	 */
+	private boolean verifyVip(Long uid) {
+		// 閭�璇疯鍗�
+		long countZiGou = hongBaoV2CountService.counOrderByUidAndOrderType(uid, Constant.VIP_ORDER_PAY,
+				HongBaoV2.TYPE_ZIGOU);
+		// 閭�璇疯鍗�
+		long countShare = hongBaoV2CountService.counOrderByUidAndOrderType(uid, Constant.VIP_ORDER_PAY,
+				HongBaoV2.TYPE_SHARE_GOODS);
+		// 闃熷憳
+		long firstTeam = threeSaleSerivce.countFirstTeam(uid, 1);
+		long secondTeam = threeSaleSerivce.countSecondTeam(uid, 1);
+		if (countZiGou >= Constant.VIP_PROCESS_3_ZIGOU || countShare >= Constant.VIP_PROCESS_3_SHARE
+				|| (firstTeam >= Constant.VIP_PROCESS_3_TEAM && secondTeam >= Constant.VIP_PROCESS_3_TEAM_SECOND)) {
+			UserVIPPreInfo latestProcess = userVIPPreInfoService.getLatestProcessInfo(uid);
+			if (latestProcess == null || latestProcess.getProcess() != UserVIPPreInfo.PROCESS_2) {
+				userVIPPreInfoService.verifyVipPreInfo(uid, false);
+			} 
+			return true;
+		} 
+		return false;
+	}
+	
 }

--
Gitblit v1.8.0