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