From d22d18f40d088277195e5c3ab587d07450f1a94d Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期三, 22 四月 2020 18:22:17 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/div' into div

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/user/vip/UserVIPInfoServiceImpl.java |   39 ++++++++++++++++++++++++++++++++++++---
 1 files changed, 36 insertions(+), 3 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 fd6b9db..bcf7aae 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
@@ -10,13 +10,18 @@
 import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
-import org.yeshi.utils.DateUtil;
 
+import com.aliyun.openservices.ons.api.Message;
+import com.aliyun.openservices.ons.api.Producer;
 import com.yeshi.fanli.dao.mybatis.user.vip.UserVIPInfoMapper;
+import com.yeshi.fanli.dto.mq.user.UserTopicTagEnum;
+import com.yeshi.fanli.dto.mq.user.body.UserLevelChangedMQMsg;
 import com.yeshi.fanli.entity.bus.user.HongBaoV2;
 import com.yeshi.fanli.entity.bus.user.UserInfoExtra;
 import com.yeshi.fanli.entity.bus.user.UserInviteValidNum;
 import com.yeshi.fanli.entity.bus.user.UserSystemCoupon;
+import com.yeshi.fanli.entity.bus.user.vip.UserLevelEnum;
+import com.yeshi.fanli.entity.bus.user.vip.UserLevelUpgradedNotify;
 import com.yeshi.fanli.entity.bus.user.vip.UserVIPInfo;
 import com.yeshi.fanli.entity.bus.user.vip.UserVIPPreInfo;
 import com.yeshi.fanli.entity.system.SystemCoupon.CouponTypeEnum;
@@ -33,11 +38,15 @@
 import com.yeshi.fanli.service.inter.user.invite.ThreeSaleSerivce;
 import com.yeshi.fanli.service.inter.user.invite.UserInviteValidNumService;
 import com.yeshi.fanli.service.inter.user.msg.UserAccountMsgNotificationService;
+import com.yeshi.fanli.service.inter.user.vip.UserLevelUpgradedNotifyService;
 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.StringUtil;
+import com.yeshi.fanli.util.TimeUtil;
+import com.yeshi.fanli.util.rocketmq.MQMsgBodyFactory;
+import com.yeshi.fanli.util.rocketmq.MQTopicName;
 
 @Service
 public class UserVIPInfoServiceImpl implements UserVIPInfoService {
@@ -88,6 +97,15 @@
 	
 	@Resource
 	private UserInviteValidNumService userInviteValidNumService;
+	
+	@Resource
+	private UserLevelUpgradedNotifyService userLevelUpgradedNotifyService;
+	
+	
+	@Resource(name = "producer")
+	private Producer producer;
+	
+	
 
 	@Override
 	@Transactional(rollbackFor = Exception.class)
@@ -221,6 +239,15 @@
 		info.setUpdateTime(upgradeTime);
 		userVIPInfoMapper.updateByPrimaryKeySelective(info);
 
+		// 鍗囩骇寮规鎻愮ず
+		UserLevelUpgradedNotify notify = new UserLevelUpgradedNotify();
+		notify.setUid(uid);
+		notify.setFromLevel(UserLevelEnum.highVIP);
+		notify.setToLevel(UserLevelEnum.superVIP);
+		notify.setValid(true);
+		notify.setCreateTime(new Date());
+		userLevelUpgradedNotifyService.addUserLevelUpgradedNotify(notify);
+		
 		try {
 			// 璧犻�佸厤鍗曞埜
 			String giveCoupon = userVipConfigService.getValueByKey("vip_pre_10_gift_givefree_coupon");
@@ -236,14 +263,20 @@
 		try {
 			// 鍗囩骇娑堟伅
 			UserVIPPreInfo pre1 = userVIPPreInfoService.getVipByProcess(uid, UserVIPPreInfo.PROCESS_2);
-			int days = DateUtil.daysBetween(pre1.getCreateTime(), new Date());
-			userAccountMsgNotificationService.vipUpgradeSuccess(uid, days);
+			userAccountMsgNotificationService.vipUpgradeSuccess(uid, TimeUtil.getDayDifferenceCount(pre1.getCreateTime(), new Date()));
 			
 			// 鍗囩骇鎻愰啋涓婄骇
 			userVIPPreInfoService.remindBoss(uid, "瓒呯骇浼氬憳", getPassItem(uid), upgradeTime, false);
 		} catch (Exception e) {
 			e.printStackTrace();
 		}
+		
+
+		if (!Constant.IS_TEST) {
+			UserLevelChangedMQMsg msg = new UserLevelChangedMQMsg(uid, UserLevelEnum.highVIP,UserLevelEnum.superVIP, new Date());
+			Message message = MQMsgBodyFactory.create(MQTopicName.TOPIC_USER, UserTopicTagEnum.userLevelChanged, msg);
+			producer.send(message);
+		}
 	}
 
 

--
Gitblit v1.8.0