From c952838555e557097f84a47624bc2860e0a2d9a8 Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期二, 30 六月 2020 15:50:46 +0800
Subject: [PATCH] 云发单异步 + 首单

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/user/cloud/UserCloudServiceImpl.java |   84 +++++++++++++++++++++++++++++-------------
 1 files changed, 58 insertions(+), 26 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/cloud/UserCloudServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/cloud/UserCloudServiceImpl.java
index 141e421..27d389a 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/cloud/UserCloudServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/cloud/UserCloudServiceImpl.java
@@ -14,7 +14,6 @@
 import org.yeshi.utils.BigDecimalUtil;
 import org.yeshi.utils.taobao.TbImgUtil;
 
-import com.alibaba.druid.support.logging.Log;
 import com.aliyun.openservices.ons.api.Message;
 import com.aliyun.openservices.ons.api.Producer;
 import com.yeshi.fanli.dao.mybatis.user.cloud.UserCloudMapper;
@@ -532,7 +531,18 @@
 
 		if (!hasToken)
 			throw new UserCloudException(1, "璇ュ唴瀹瑰寘鍚彲杞摼鍙d护鎴栭摼鎺�");
+		
+		// 寮傛鎵ц鍙戦��
+		executor.execute(new Runnable() {
+			@Override
+			public void run() {
+				sendEvaluate(uid, evaluate, way, userCloud, listOpen, listComment);
+			}
+		});
+	}
 
+	private void sendEvaluate(Long uid, GoodsEvaluate evaluate, int way, UserCloud userCloud, 
+			List<UserCloudGroup> listOpen, List<String> listComment) {
 		ImgInfo imgVideo = null;
 		List<String> listImg = new ArrayList<>();
 
@@ -547,14 +557,12 @@
 			}
 		}
 		
-		long time7= java.lang.System.currentTimeMillis();
-		LogHelper.test("sendCircleByDynamic鍙戝湀鍐呭缁勭粐杞摼锛�" + (time7 - time6));
-		
-
+		String wxId = userCloud.getWxId();
+		Integer robotId = userCloud.getRobotId();
 		// 淇濆瓨鍙戦�佽褰�
 		UserCloudSendRecord sendRecord = new UserCloudSendRecord();
 		sendRecord.setUid(uid);
-		sendRecord.setSendId(id);
+		sendRecord.setSendId(evaluate.getId());
 		sendRecord.setSendWay(way);
 		sendRecord.setWxId(wxId);
 		sendRecord.setRobotId(robotId);
@@ -563,9 +571,6 @@
 		UserCloudSendRecord result = userCloudSendRecordService.save(sendRecord);
 		String pid = result.getId();
 
-		long time8= java.lang.System.currentTimeMillis();
-		LogHelper.test("sendCircleByDynamic淇濆瓨鍙戝湀璁板綍锛�" + (time8 - time7));
-		
 		
 		for (UserCloudGroup cloudGroup : listOpen) {
 			String title = evaluate.getTitle();
@@ -658,12 +663,10 @@
 			}
 			userCloudSendContentService.save(sendContent);
 		}
-		
-		long time9= java.lang.System.currentTimeMillis();
-		LogHelper.test("sendCircleByDynamic鎵ц鍙戝湀鑰楁椂锛�" + (time9 - time8));
-		
 	}
-
+	
+	
+	
 	@Override
 	@Transactional(rollbackFor = Exception.class)
 	public void sendCustomGoods(Long uid, Long goodsId, Integer goodsType, Long sellerId) throws UserCloudException {
@@ -908,8 +911,13 @@
 		String commentText = shareGoodsTextTemplateService.getCommentTextByTaoToken(coupon, taoBaoLink.getTaoToken(),
 				goods.getZkPrice().toString(), quanPrice);
 
-		// 浜戝彂鍗�
-		sendGoods(robotId, wxId, listOpen, recommendText, commentText, goods.getImgList(), user.getId(), pid);
+		// 寮傛鎵ц鍙戦��
+		executor.execute(new Runnable() {
+			@Override
+			public void run() {
+				sendGoods(robotId, wxId, listOpen, recommendText, commentText, goods.getImgList(), user.getId(), pid);
+			}
+		});
 	}
 
 	/**
@@ -966,8 +974,14 @@
 		String commentText = shareGoodsTextTemplateService.getCommentTextByLink(coupon, jumpLink, zkPrice, quanPrice,
 				ConfigKeyEnum.quickShareJDCommentText);
 
-		// 浜戝彂鍗�
-		sendGoods(robotId, wxId, listOpen, recommendText, commentText, jdGoods.getImageList(), user.getId(), pid);
+		// 寮傛鎵ц鍙戦��
+		executor.execute(new Runnable() {
+			@Override
+			public void run() {
+				sendGoods(robotId, wxId, listOpen, recommendText, commentText, jdGoods.getImageList(), user.getId(), pid);
+			}
+		});
+				
 	}
 
 	/**
@@ -1023,8 +1037,16 @@
 		if (goodsGalleryUrls != null && goodsGalleryUrls.length > 0) {
 			list = Arrays.asList(goodsGalleryUrls);
 		}
-		// 浜戝彂鍗�
-		sendGoods(robotId, wxId, listOpen, recommendText, commentText, list, user.getId(), pid);
+		
+		List<String> list2 = list;
+		// 寮傛鎵ц鍙戦��
+		executor.execute(new Runnable() {
+			@Override
+			public void run() {
+				sendGoods(robotId, wxId, listOpen, recommendText, commentText, list2, user.getId(), pid);
+			}
+		});
+				
 	}
 
 	/**
@@ -1059,9 +1081,14 @@
 		String commentText = shareGoodsTextTemplateService.getCommentTextByLink(coupon, jumpLink,
 				goods.getMarketPrice(), quanPrice, ConfigKeyEnum.quickShareVIPCommentText);
 
-		// 浜戝彂鍗�
-		sendGoods(robotId, wxId, listOpen, recommendText, commentText, goods.getGoodsDetailPictures(), user.getId(),
-				pid);
+		// 寮傛鎵ц鍙戦��
+		executor.execute(new Runnable() {
+			@Override
+			public void run() {
+				sendGoods(robotId, wxId, listOpen, recommendText, commentText, goods.getGoodsDetailPictures(), user.getId(),
+						pid);
+			}
+		});
 	}
 
 	/**
@@ -1105,9 +1132,14 @@
 		for (SuningGoodsImg img : goods.getCommodityInfo().getPictureUrl()) {
 			imgList.add(img.getPicUrl());
 		}
-
-		// 浜戝彂鍗�
-		sendGoods(robotId, wxId, listOpen, recommendText, commentText, imgList, user.getId(), pid);
+		
+		executor.execute(new Runnable() {
+			@Override
+			public void run() {
+				// 浜戝彂鍗�
+				sendGoods(robotId, wxId, listOpen, recommendText, commentText, imgList, user.getId(), pid);
+			}
+		});
 	}
 
 	/**

--
Gitblit v1.8.0