From 33a603f2c8abe311fae3c84b0e54067580cc088c Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期五, 24 四月 2020 16:26:25 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/div' into div

---
 fanli/src/main/java/com/yeshi/fanli/service/manger/user/UserLevelManager.java |   36 ++++++++++++++++++++++++++++++++----
 1 files changed, 32 insertions(+), 4 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/manger/user/UserLevelManager.java b/fanli/src/main/java/com/yeshi/fanli/service/manger/user/UserLevelManager.java
index 1155a17..4659c00 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/manger/user/UserLevelManager.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/manger/user/UserLevelManager.java
@@ -5,9 +5,14 @@
 import javax.annotation.Resource;
 
 import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
 
+import com.yeshi.fanli.entity.bus.user.UserInfo;
 import com.yeshi.fanli.entity.bus.user.vip.UserLevelEnum;
+import com.yeshi.fanli.entity.bus.user.vip.UserVIPInfo;
 import com.yeshi.fanli.entity.bus.user.vip.UserVIPPreInfo;
+import com.yeshi.fanli.exception.user.vip.UserVIPInfoException;
+import com.yeshi.fanli.exception.user.vip.UserVIPPreInfoException;
 import com.yeshi.fanli.service.inter.user.vip.UserVIPInfoService;
 import com.yeshi.fanli.service.inter.user.vip.UserVIPPreInfoService;
 
@@ -29,8 +34,6 @@
 	 * @throws
 	 */
 	public UserLevelEnum getUserLevel(Long uid) {
-		if (userVIPInfoService.isVIP(uid))
-			return UserLevelEnum.superVIP;
 		UserVIPPreInfo info = userVIPPreInfoService.getLatestProcessInfo(uid);
 		if (info != null)
 			for (UserLevelEnum level : UserLevelEnum.values())
@@ -50,8 +53,6 @@
 	 * @throws
 	 */
 	public UserLevelEnum getUserLevel(Long uid, Date date) {
-		if (userVIPInfoService.isVIP(uid, date.getTime()))
-			return UserLevelEnum.superVIP;
 		UserVIPPreInfo info = userVIPPreInfoService.getProcessInfo(uid, date);
 		if (info != null)
 			for (UserLevelEnum level : UserLevelEnum.values())
@@ -60,4 +61,31 @@
 		return UserLevelEnum.daRen;
 	}
 
+	@Transactional
+	public void setUserLevel(Long uid, UserLevelEnum level, Date date) {
+
+		// 鍒犻櫎鍘熸湁绛夌骇
+
+		for (UserLevelEnum le : UserLevelEnum.values()) {
+			UserVIPPreInfo info = userVIPPreInfoService.getVipByProcess(uid, le.getLevel());
+			if (info != null)
+				userVIPPreInfoService.deleteByPrimaryKey(info.getId());
+		}
+
+		// 娣诲姞鏂扮殑绛夌骇
+		if (level == UserLevelEnum.daRen)
+			return;
+
+		UserVIPPreInfo info = new UserVIPPreInfo();
+		info.setCreateTime(date);
+		info.setProcess(level.getLevel());
+		info.setUid(uid);
+		try {
+			userVIPPreInfoService.addUserVIPPreInfo(info);
+		} catch (UserVIPPreInfoException e) {
+			e.printStackTrace();
+		}
+
+	}
+
 }

--
Gitblit v1.8.0