From 51a4ff5d777028d52a19c314a99f796334cb7b51 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期六, 23 十一月 2019 18:30:01 +0800
Subject: [PATCH] 配置文件修改

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/user/invite/ThreeSaleSerivceImpl.java |  136 +++++++++++++--------------------------------
 1 files changed, 39 insertions(+), 97 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/invite/ThreeSaleSerivceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/invite/ThreeSaleSerivceImpl.java
index 815ba2c..addd16c 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/invite/ThreeSaleSerivceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/invite/ThreeSaleSerivceImpl.java
@@ -13,16 +13,19 @@
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import com.aliyun.openservices.ons.api.Message;
+import com.aliyun.openservices.ons.api.Producer;
+import com.google.gson.Gson;
 import com.yeshi.fanli.dao.mybatis.ThreeSaleMapper;
 import com.yeshi.fanli.dao.mybatis.UserInfoMapper;
+import com.yeshi.fanli.dto.mq.user.UserTopicTagEnum;
+import com.yeshi.fanli.dto.mq.user.body.UserInviteMQMsg;
 import com.yeshi.fanli.entity.bus.user.ThreeSale;
 import com.yeshi.fanli.entity.bus.user.ThreeSaleExtraInfo;
 import com.yeshi.fanli.entity.bus.user.UserActiveLog;
 import com.yeshi.fanli.entity.bus.user.UserInfo;
 import com.yeshi.fanli.exception.user.ThreeSaleException;
-import com.yeshi.fanli.log.LogHelper;
 import com.yeshi.fanli.service.inter.order.config.HongBaoManageService;
-import com.yeshi.fanli.service.inter.tlj.UserTaoLiJinOriginService;
 import com.yeshi.fanli.service.inter.user.UserActiveLogService;
 import com.yeshi.fanli.service.inter.user.UserInfoExtraService;
 import com.yeshi.fanli.service.inter.user.UserInfoService;
@@ -34,7 +37,8 @@
 import com.yeshi.fanli.util.Constant;
 import com.yeshi.fanli.util.StringUtil;
 import com.yeshi.fanli.util.VersionUtil;
-import com.yeshi.fanli.util.cmq.ThreeSaleCMQManager;
+import com.yeshi.fanli.util.rocketmq.MQMsgBodyFactory;
+import com.yeshi.fanli.util.rocketmq.MQTopicName;
 
 import net.sf.json.JSONArray;
 import net.sf.json.JSONObject;
@@ -61,9 +65,6 @@
 	private MsgInviteDetailService msgInviteDetailService;
 
 	@Resource
-	private UserTaoLiJinOriginService userTaoLiJinOriginService;
-
-	@Resource
 	private UserActiveLogService userActiveLogService;
 
 	@Resource
@@ -78,6 +79,9 @@
 
 	@Resource(name = "taskExecutor")
 	private TaskExecutor executor;
+
+	@Resource(name = "producer")
+	private Producer producer;
 
 	public UserInfo getBoss(final long uid) {
 		return threeSaleMapper.selectBoss(uid);
@@ -192,8 +196,7 @@
 					ts.setSucceedTime(System.currentTimeMillis());
 					ts.setWorker(worker);
 					threeSaleMapper.insertSelective(ts);
-					ThreeSaleCMQManager.getInstance().addThreeSaleMsg(ts);
-					userInviteMsgNotificationService.inviteSuccess(inviter.getId(), ts);
+					inviteSuccess(inviter.getId(), worker.getId(), ts);
 				} else {
 					if (!list.get(0).getState() && list.get(0).getExpire() == ThreeSale.EXPIRE_NORMAL
 							&& list.get(0).getBoss().getId() == inviter.getId().longValue()) {// 鏈敓鏁堢殑涓婄骇鍜岀幇鍦ㄤ笂绾т竴鏍峰氨鐢熸晥
@@ -201,8 +204,7 @@
 						update.setState(true);
 						update.setSucceedTime(System.currentTimeMillis());
 						threeSaleMapper.updateByPrimaryKeySelective(update);
-						ThreeSaleCMQManager.getInstance().addThreeSaleMsg(list.get(0));// 娣诲姞閫氱煡
-						userInviteMsgNotificationService.inviteSuccess(inviter.getId(), list.get(0));
+						inviteSuccess(list.get(0).getBoss().getId(), list.get(0).getWorker().getId(), list.get(0));
 					}
 				}
 			}
@@ -233,14 +235,11 @@
 			oldSale.setState(update.getState());
 			oldSale.setSucceedTime(update.getSucceedTime());
 
-			UserInfo inviter = list.get(0).getBoss();
 			// 涓嶄互閭�璇蜂汉鏁拌绠楃瓑绾�
 			// if (inviter != null)
 			// reComputeUserRank(inviter.getId());
 			// 娣诲姞鍒伴槦鍒�
-			ThreeSaleCMQManager.getInstance().addThreeSaleMsg(oldSale);
-			// 閫氱煡
-			userInviteMsgNotificationService.inviteSuccess(inviter.getId(), oldSale);
+			inviteSuccess(oldSale.getBoss().getId(), oldSale.getWorker().getId(), oldSale);
 		}
 	}
 
@@ -543,52 +542,7 @@
 			threeSaleMapper.deleteExpireRecord(inviter.getId(), invitee.getId());
 		}
 
-		// 娣诲姞鍒伴槦鍒�
-		ThreeSaleCMQManager.getInstance().addThreeSaleMsg(threeSale);
-
-		// 閭�璇锋秷鎭�
-		userInviteMsgNotificationService.inviteSuccess(inviter.getId(), threeSale);
-
-		executor.execute(new Runnable() {
-			@Override
-			public void run() {
-
-				UserActiveLog activeLog = userActiveLogService.getUserLatestActiveInfo(inviter.getId());
-				try {
-					if (activeLog != null && !StringUtil.isNullOrEmpty(activeLog.getVersionCode())) {
-						String versionCode = activeLog.getVersionCode();
-						String channel = activeLog.getChannel();
-
-						boolean result = false;
-						// 娓犻亾鏄痑ppstore 鍒ゆ柇涓篒OS
-						if (!StringUtil.isNullOrEmpty(channel) && "appstore".equalsIgnoreCase(channel)) {
-							result = VersionUtil.greaterThan_1_5_60("ios", versionCode);
-						} else {
-							result = VersionUtil.greaterThan_1_5_60("android", versionCode);
-						}
-
-						if (result) {
-							// 琚個璇峰悕绉�
-							String inviteName = invitee.getNickName();
-							if (StringUtil.isNullOrEmpty(inviteName)) {
-								UserInfo userInfo = userInfoService.selectByPKey(invitee.getId());
-								if (userInfo != null) {
-									inviteName = userInfo.getNickName();
-								}
-							}
-							// 濂栧姳閭�璇风孩鍖咃紙娣樼ぜ閲戯級
-							userTaoLiJinOriginService.addInviteWinMoney(inviter.getId(), inviteName);
-						}
-					}
-				} catch (Exception e) {
-					LogHelper.errorDetailInfo(e);
-				}
-
-				// 閭�璇烽噾甯�
-				integralGetService.addInviteLevelOne(inviter.getId(), invitee.getId());
-			}
-		});
-
+		inviteSuccess(inviter.getId(), invitee.getId(), threeSale);
 	}
 
 	@Override
@@ -639,50 +593,35 @@
 		threeSale.setBoss(boss);
 		threeSale.setWorker(invitee);
 
-		// 娣诲姞鍒伴槦鍒�
-		ThreeSaleCMQManager.getInstance().addThreeSaleMsg(threeSale);
+		inviteSuccess(boss.getId(), invitee.getId(), threeSale);
 
+	}
+
+	/**
+	 * 閭�璇锋垚鍔�
+	 */
+	@Transactional
+	private void inviteSuccess(Long bossId, Long workerId, ThreeSale threeSale) {
 		// 閭�璇锋秷鎭�
-		userInviteMsgNotificationService.inviteSuccess(threeSale.getBoss().getId(), threeSale);
-
+		UserActiveLog activeLog = userActiveLogService.getUserLatestActiveInfo(bossId);
+		if (activeLog != null && VersionUtil.greaterThan_2_1("appstore".equalsIgnoreCase(activeLog.getChannel()) ? "ios" : "android",
+				activeLog.getVersionCode())) { // 2.1鐗堟湰浠ヤ笂
+			userInviteMsgNotificationService.inviteSuccess2_1(bossId, threeSale);
+		} else { // 鏈�鍒濇秷鎭�
+			userInviteMsgNotificationService.inviteSuccess(threeSale.getBoss().getId(), threeSale);
+		}
+		
 		executor.execute(new Runnable() {
 			@Override
 			public void run() {
-				try {
-					UserActiveLog activeLog = userActiveLogService.getUserLatestActiveInfo(inviterId);
-					if (activeLog != null && !StringUtil.isNullOrEmpty(activeLog.getVersionCode())) {
-						boolean result = false;
-						String versionCode = activeLog.getVersionCode();
-						String channel = activeLog.getChannel();
-
-						// 娓犻亾鏄痑ppstore 鍒ゆ柇涓篒OS
-						if (!StringUtil.isNullOrEmpty(channel) && "appstore".equalsIgnoreCase(channel)) {
-							result = VersionUtil.greaterThan_1_5_60("ios", versionCode);
-						} else {
-							result = VersionUtil.greaterThan_1_5_60("android", versionCode);
-						}
-
-						if (result) {
-							// 琚個璇峰悕绉�
-							String inviteName = invitee.getNickName();
-							if (StringUtil.isNullOrEmpty(inviteName)) {
-								UserInfo userInfo = userInfoService.selectByPKey(invitee.getId());
-								if (userInfo != null) {
-									inviteName = userInfo.getNickName();
-								}
-							}
-							// 濂栧姳閭�璇风孩鍖咃紙娣樼ぜ閲戯級
-							userTaoLiJinOriginService.addInviteWinMoney(inviterId, inviteName);
-						}
-					}
-				} catch (Exception e) {
-					LogHelper.errorDetailInfo(e);
-				}
-
 				// 閭�璇烽噾甯�
-				integralGetService.addInviteLevelOne(boss.getId(), invitee.getId());
+				integralGetService.addInviteLevelOne(bossId, workerId);
 			}
 		});
+		UserInviteMQMsg msg = new UserInviteMQMsg(bossId, workerId, null, new Date(), UserInviteMQMsg.STATE_SUCCESS);
+		Message message = MQMsgBodyFactory.create(MQTopicName.TOPIC_USER, UserTopicTagEnum.inviteSuccess,
+				msg);
+		producer.send(message);
 	}
 
 	/**
@@ -723,8 +662,11 @@
 
 	@Override
 	public ThreeSale selectLatestByWorkerIdAndState(Long workerId, int state) {
-
 		return threeSaleMapper.selectLatestByWorkerIdAndState(workerId, state);
 	}
 
+	@Override
+	public ThreeSale getByWorkerIdAndTime(Long workerId, long time) {
+		return threeSaleMapper.getByWorkerIdAndTime(workerId, time);
+	}
 }

--
Gitblit v1.8.0