From 0870c58c8e0877d52146a57b060c1086156fda85 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期四, 07 十一月 2019 14:15:15 +0800
Subject: [PATCH] 消息整改

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/user/invite/ThreeSaleSerivceImpl.java |   53 ++++++++++++++++++++++++++---------------------------
 1 files changed, 26 insertions(+), 27 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 57821d3..94753bb 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,8 +13,13 @@
 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.UserInfo;
@@ -30,7 +35,7 @@
 import com.yeshi.fanli.service.inter.user.invite.UserInviteMsgNotificationService;
 import com.yeshi.fanli.util.Constant;
 import com.yeshi.fanli.util.StringUtil;
-import com.yeshi.fanli.util.cmq.ThreeSaleCMQManager;
+import com.yeshi.fanli.util.rocketmq.MQTopicName;
 
 import net.sf.json.JSONArray;
 import net.sf.json.JSONObject;
@@ -71,6 +76,9 @@
 
 	@Resource(name = "taskExecutor")
 	private TaskExecutor executor;
+
+	@Resource(name = "producer")
+	private Producer producer;
 
 	public UserInfo getBoss(final long uid) {
 		return threeSaleMapper.selectBoss(uid);
@@ -185,8 +193,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()) {// 鏈敓鏁堢殑涓婄骇鍜岀幇鍦ㄤ笂绾т竴鏍峰氨鐢熸晥
@@ -194,8 +201,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));
 					}
 				}
 			}
@@ -226,14 +232,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);
 		}
 	}
 
@@ -536,20 +539,7 @@
 			threeSaleMapper.deleteExpireRecord(inviter.getId(), invitee.getId());
 		}
 
-		// 娣诲姞鍒伴槦鍒�
-		ThreeSaleCMQManager.getInstance().addThreeSaleMsg(threeSale);
-
-		// 閭�璇锋秷鎭�
-		userInviteMsgNotificationService.inviteSuccess(inviter.getId(), threeSale);
-
-		executor.execute(new Runnable() {
-			@Override
-			public void run() {
-				// 閭�璇烽噾甯�
-				integralGetService.addInviteLevelOne(inviter.getId(), invitee.getId());
-			}
-		});
-
+		inviteSuccess(inviter.getId(), invitee.getId(), threeSale);
 	}
 
 	@Override
@@ -600,19 +590,28 @@
 		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);
-
 		executor.execute(new Runnable() {
 			@Override
 			public void run() {
 				// 閭�璇烽噾甯�
-				integralGetService.addInviteLevelOne(boss.getId(), invitee.getId());
+				integralGetService.addInviteLevelOne(bossId, workerId);
 			}
 		});
+		UserInviteMQMsg msg = new UserInviteMQMsg(bossId, workerId, null, new Date(), UserInviteMQMsg.STATE_SUCCESS);
+		Message message = new Message(MQTopicName.TOPIC_USER.name(), UserTopicTagEnum.inviteSuccess.name(),
+				new Gson().toJson(msg).getBytes());
+		producer.send(message);
 	}
 
 	/**

--
Gitblit v1.8.0