From 4e92d262f629903c4b39f5b5e9c7f77379cd6c6b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BB=BA=E6=98=8E=20=E6=B2=88?= <2431685932@qq.com> Date: Tue, 23 Jul 2024 15:20:47 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=A4=9A=E7=BA=BF=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...SchisandraShareCommentReplyController.java | 2 -- ...draShareCommentReplyDomainServiceImpl.java | 31 ++++++++++++------- ...chisandraShareDetailDomainServiceImpl.java | 15 +++++++-- 3 files changed, 33 insertions(+), 15 deletions(-) diff --git a/schisandra-cloud-storage-share/schisandra-cloud-storage-share-application/schisandra-cloud-storage-share-application-controller/src/main/java/com/schisandra/share/application/controller/SchisandraShareCommentReplyController.java b/schisandra-cloud-storage-share/schisandra-cloud-storage-share-application/schisandra-cloud-storage-share-application-controller/src/main/java/com/schisandra/share/application/controller/SchisandraShareCommentReplyController.java index c5db61f..d67dcdf 100644 --- a/schisandra-cloud-storage-share/schisandra-cloud-storage-share-application/schisandra-cloud-storage-share-application-controller/src/main/java/com/schisandra/share/application/controller/SchisandraShareCommentReplyController.java +++ b/schisandra-cloud-storage-share/schisandra-cloud-storage-share-application/schisandra-cloud-storage-share-application-controller/src/main/java/com/schisandra/share/application/controller/SchisandraShareCommentReplyController.java @@ -252,8 +252,6 @@ public class SchisandraShareCommentReplyController { Preconditions.checkNotNull(schisandraShareCommentReplyDTO.getDetailId(), "分享文章id不能为空"); Preconditions.checkNotNull(schisandraShareCommentReplyDTO.getUserId(), "发布人id不能为空"); SchisandraShareCommentReplyBO schisandraShareCommentReplyBO = SchisandraShareCommentReplyDTOConverter.INSTANCE.convertDTOToBO(schisandraShareCommentReplyDTO); -// String result = SensitiveWordHelper.replace(schisandraShareCommentReplyBO.getContent()); -// schisandraShareCommentReplyBO.setContent(result); caffeineUtil.caffeineBuild().invalidate("listcommenthot" + schisandraShareCommentReplyBO.getDetailId()); caffeineUtil.caffeineBuild().invalidate("listcomment" + schisandraShareCommentReplyBO.getDetailId()); return Result.ok(schisandraShareCommentReplyDomainService.addComment(schisandraShareCommentReplyBO)); 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 0abdb3b..1033ead 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,8 +1,5 @@ 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.bo.SchisandraShareCommentReplyBO; import com.schisandra.share.domain.convert.SchisandraShareCommentReplyBOConverter; @@ -20,8 +17,8 @@ import org.springframework.stereotype.Service; import org.springframework.util.Assert; import javax.annotation.Resource; -import java.util.ArrayList; import java.util.List; +import java.util.concurrent.CompletableFuture; /** @@ -97,23 +94,27 @@ public class SchisandraShareCommentReplyDomainServiceImpl implements SchisandraS public List listComment(String detailId, String userId) { List schisandraShareComments = schisandraShareCommentReplyService.listComment(detailId); List schisandraShareCommentBOS = SchisandraShareCommentReplyBOConverter.INSTANCE.convertEntityToBOList(schisandraShareComments); - schisandraShareCommentBOS.forEach(schisandraShareCommentReplyBO -> { + for (SchisandraShareCommentReplyBO schisandraShareCommentReplyBO : schisandraShareCommentBOS) { SchisandraUserLikesComment schisandraUserLikesComment = schisandraUserLikesCommentService.queryByuserIdAndCommentId(schisandraShareCommentReplyBO.getId(), userId); - if(schisandraUserLikesComment!=null){ + if (schisandraUserLikesComment != null) { schisandraShareCommentReplyBO.setIsLike(true); } - AuthUserInfoEntity userInfo = userRpc.getUserInfo(schisandraShareCommentReplyBO.getUserId()); + CompletableFuture futurePrice = CompletableFuture.supplyAsync(() -> { + AuthUserInfoEntity info = userRpc.getUserInfo(schisandraShareCommentReplyBO.getUserId()); + return info; + }); + AuthUserInfoEntity userInfo = futurePrice.join(); schisandraShareCommentReplyBO.setNick(userInfo.getNickName()); schisandraShareCommentReplyBO.setAvatar(userInfo.getAvatar()); AuthUserAddressEntity userAddress = addressRpc.getUserAddress(schisandraShareCommentReplyBO.getUserId()); - if(userAddress!=null){ + if (userAddress != null) { schisandraShareCommentReplyBO.setLocation(userAddress.getLocation()); schisandraShareCommentReplyBO.setBrowser(userAddress.getBrowser()); schisandraShareCommentReplyBO.setBrowserVersion(userAddress.getBrowserVersion()); } - }); + } return schisandraShareCommentBOS; } @@ -127,7 +128,11 @@ public class SchisandraShareCommentReplyDomainServiceImpl implements SchisandraS if(schisandraUserLikesComment!=null){ schisandraShareCommentReplyBO.setIsLike(true); } - AuthUserInfoEntity userInfo = userRpc.getUserInfo(schisandraShareCommentReplyBO.getUserId()); + CompletableFuture futurePrice = CompletableFuture.supplyAsync(() -> { + AuthUserInfoEntity info = userRpc.getUserInfo(schisandraShareCommentReplyBO.getUserId()); + return info; + }); + AuthUserInfoEntity userInfo = futurePrice.join(); schisandraShareCommentReplyBO.setNick(userInfo.getNickName()); schisandraShareCommentReplyBO.setAvatar(userInfo.getAvatar()); AuthUserAddressEntity userAddress = addressRpc.getUserAddress(schisandraShareCommentReplyBO.getUserId()); @@ -150,7 +155,11 @@ public class SchisandraShareCommentReplyDomainServiceImpl implements SchisandraS if(schisandraUserLikesComment!=null){ schisandraShareReplyBO.setIsLike(true); } - AuthUserInfoEntity userInfo = userRpc.getUserInfo(schisandraShareReplyBO.getUserId()); + CompletableFuture futurePrice = CompletableFuture.supplyAsync(() -> { + AuthUserInfoEntity info = userRpc.getUserInfo(schisandraShareReplyBO.getUserId()); + return info; + }); + AuthUserInfoEntity userInfo = futurePrice.join(); if (schisandraShareReplyBO.getReplyUser() != null) { AuthUserInfoEntity userInfo2 = userRpc.getUserInfo(schisandraShareReplyBO.getReplyUser()); diff --git a/schisandra-cloud-storage-share/schisandra-cloud-storage-share-domain/src/main/java/com/schisandra/share/domain/service/impl/SchisandraShareDetailDomainServiceImpl.java b/schisandra-cloud-storage-share/schisandra-cloud-storage-share-domain/src/main/java/com/schisandra/share/domain/service/impl/SchisandraShareDetailDomainServiceImpl.java index 05dbd39..0c4fde5 100644 --- a/schisandra-cloud-storage-share/schisandra-cloud-storage-share-domain/src/main/java/com/schisandra/share/domain/service/impl/SchisandraShareDetailDomainServiceImpl.java +++ b/schisandra-cloud-storage-share/schisandra-cloud-storage-share-domain/src/main/java/com/schisandra/share/domain/service/impl/SchisandraShareDetailDomainServiceImpl.java @@ -18,6 +18,7 @@ import java.util.ArrayList; import java.util.LinkedList; import java.util.List; import java.util.Objects; +import java.util.concurrent.CompletableFuture; import java.util.stream.Collectors; import static com.schisandra.share.common.enums.TypeName.getByType; @@ -79,7 +80,13 @@ public class SchisandraShareDetailDomainServiceImpl implements SchisandraShareDe List shareDetailBOList = SchisandraShareDetailBOConverter.INSTANCE.convertEntityToBOList(schisandraShareDetails); LinkedList resultList = new LinkedList<>(); shareDetailBOList.forEach(shareDetailBO -> { - AuthUserInfoEntity userInfo = userRpc.getUserInfo(shareDetailBO.getUserId()); + + CompletableFuture futurePrice = CompletableFuture.supplyAsync(() -> { + AuthUserInfoEntity info = userRpc.getUserInfo(shareDetailBO.getUserId()); + return info; + }); + AuthUserInfoEntity userInfo = futurePrice.join(); + SchisandraShareDetailBO schisandraShareDetailBO = new SchisandraShareDetailBO(); SchisandraUserLikesComment schisandraUserLikesComment = schisandraUserLikesCommentService.queryByuserIdAndCommentId(shareDetailBO.getId(), userId); @@ -193,7 +200,11 @@ public class SchisandraShareDetailDomainServiceImpl implements SchisandraShareDe List shareDetailBOList = SchisandraShareDetailBOConverter.INSTANCE.convertEntityToBOList(schisandraShareDetails); LinkedList resultList = new LinkedList<>(); shareDetailBOList.forEach(shareDetailBO -> { - AuthUserInfoEntity userInfo = userRpc.getUserInfo(shareDetailBO.getUserId()); + CompletableFuture futurePrice = CompletableFuture.supplyAsync(() -> { + AuthUserInfoEntity info = userRpc.getUserInfo(shareDetailBO.getUserId()); + return info; + }); + AuthUserInfoEntity userInfo = futurePrice.join(); SchisandraShareDetailBO schisandraShareDetailBO = new SchisandraShareDetailBO(); schisandraShareDetailBO.setCircleId(shareDetailBO.getCircleId()); schisandraShareDetailBO.setIcon(shareDetailBO.getIcon());