From 0ddbc554f850590483bbbb414407353f550d097f Mon Sep 17 00:00:00 2001 From: zlg <482370576@qq.com> Date: Sat, 20 Jul 2024 19:30:38 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=A4=9A=E7=BA=BF=E7=A8=8B=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...draShareCommentReplyDomainServiceImpl.java | 55 ++++++++++++++++--- 1 file changed, 47 insertions(+), 8 deletions(-) diff --git a/schisandra-cloud-storage-share/schisandra-cloud-storage-share-domain/src/main/java/com/schisandra/share/domain/service/impl/SchisandraShareCommentReplyDomainServiceImpl.java b/schisandra-cloud-storage-share/schisandra-cloud-storage-share-domain/src/main/java/com/schisandra/share/domain/service/impl/SchisandraShareCommentReplyDomainServiceImpl.java index 1082ab5..a174425 100644 --- a/schisandra-cloud-storage-share/schisandra-cloud-storage-share-domain/src/main/java/com/schisandra/share/domain/service/impl/SchisandraShareCommentReplyDomainServiceImpl.java +++ b/schisandra-cloud-storage-share/schisandra-cloud-storage-share-domain/src/main/java/com/schisandra/share/domain/service/impl/SchisandraShareCommentReplyDomainServiceImpl.java @@ -1,5 +1,7 @@ package com.schisandra.share.domain.service.impl; +import com.jd.platform.async.executor.Async; +import com.jd.platform.async.worker.WorkResult; import com.jd.platform.async.wrapper.WorkerWrapper; import com.schisandra.share.common.enums.IsDeletedFlagEnum; import com.schisandra.share.domain.convert.SchisandraShareCommentReplyBOConverter; @@ -18,6 +20,11 @@ import org.springframework.util.Assert; import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; +import java.util.Map; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.LinkedBlockingQueue; +import java.util.concurrent.ThreadPoolExecutor; +import java.util.concurrent.TimeUnit; /** * 评论回复表 领域service实现了 @@ -90,16 +97,48 @@ public class SchisandraShareCommentReplyDomainServiceImpl implements SchisandraS public List listComment(String detailId, String userId) { List schisandraShareComments = schisandraShareCommentReplyService.listComment(detailId); List schisandraShareCommentBOS = SchisandraShareCommentReplyBOConverter.INSTANCE.convertEntityToBOList(schisandraShareComments); + List wrappers = new ArrayList<>(); schisandraShareCommentBOS.forEach(schisandraShareCommentReplyBO -> { - SchisandraUserLikesComment schisandraUserLikesComment = - schisandraUserLikesCommentService.queryByuserIdAndDetailId(schisandraShareCommentReplyBO.getId(), userId); - if(schisandraUserLikesComment!=null){ - schisandraShareCommentReplyBO.setIsLike(true); - } - AuthUserInfoEntity userInfo = userRpc.getUserInfo(schisandraShareCommentReplyBO.getUserId()); - schisandraShareCommentReplyBO.setNick(userInfo.getNickName()); - schisandraShareCommentReplyBO.setAvatar(userInfo.getAvatar()); + WorkerWrapper workerWrapper = new WorkerWrapper.Builder() + .worker((SchisandraShareCommentReplyBO object, Map allWrappers) -> { + SchisandraUserLikesComment schisandraUserLikesComment = + schisandraUserLikesCommentService.queryByuserIdAndDetailId(object.getId(), userId); + if(schisandraUserLikesComment!=null){ + object.setIsLike(true); + } + AuthUserInfoEntity userInfo = userRpc.getUserInfo(object.getUserId()); + object.setNick(userInfo.getNickName()); + object.setAvatar(userInfo.getAvatar()); + return "success"; + + }) + .param(schisandraShareCommentReplyBO) + .id(schisandraShareCommentReplyBO.getId()) + .callback((boolean success, SchisandraShareCommentReplyBO param, WorkResult workResult) -> + System.out.println("该线程"+Thread.currentThread().getName())) + .build(); + + wrappers.add(workerWrapper); + + +// +// SchisandraUserLikesComment schisandraUserLikesComment = +// schisandraUserLikesCommentService.queryByuserIdAndDetailId(schisandraShareCommentReplyBO.getId(), userId); +// if(schisandraUserLikesComment!=null){ +// schisandraShareCommentReplyBO.setIsLike(true); +// } +// AuthUserInfoEntity userInfo = userRpc.getUserInfo(schisandraShareCommentReplyBO.getUserId()); +// schisandraShareCommentReplyBO.setNick(userInfo.getNickName()); +// schisandraShareCommentReplyBO.setAvatar(userInfo.getAvatar()); }); + try { + Async.beginWork(3500L,new ThreadPoolExecutor(10, 100, 5L, + TimeUnit.SECONDS, new LinkedBlockingQueue()), wrappers); + } catch (ExecutionException e) { + throw new RuntimeException(e); + } catch (InterruptedException e) { + throw new RuntimeException(e); + } return schisandraShareCommentBOS; }