rentaiming
2024-06-12 7613f6b73a96039ea400aeba3d63c15ffaf04795
ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/impl/ArticleServiceImpl.java
@@ -25,6 +25,7 @@
import com.ruoyi.common.core.enums.ArticleTypeEnum;
import com.ruoyi.common.core.enums.AuditStatusEnum;
import com.ruoyi.common.core.exception.ServiceException;
import com.ruoyi.common.core.enums.ListingStatusEnum;
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.common.core.utils.page.BeanUtils;
import com.ruoyi.common.core.utils.page.PageDTO;
@@ -80,6 +81,7 @@
        if (articleDTO.getTitle()!=null){
            wrapper.like(Article::getTitle,articleDTO.getTitle());
        }
        wrapper.eq(Article::getListingStatus,0);
        wrapper.eq(Article::getStatus,2);
        wrapper.eq( Article::getDelFlag,0);
        wrapper.orderByDesc(Article::getCreateTime);
@@ -202,73 +204,80 @@
        Page<ArticleComments> page1 = articleCommentsService.page(page, wrapper);
        PageDTO<ArticleCommentsVO> articleCommentsVOPageDTO = PageDTO.of(page1, ArticleCommentsVO.class);
        List<ArticleCommentsVO> list2 = articleCommentsVOPageDTO.getList();
        for(ArticleCommentsVO articleCommentsVO:list2){
            R<Member> membeOne = memberClient.getMembeOne(articleCommentsVO.getMemberId(),
                    SecurityConstants.INNER);
            Member data = membeOne.getData();
            articleCommentsVO.setMemberNickname(data.getNickname());
            articleCommentsVO.setBmemberNickavatar(data.getAvatar());
            LambdaQueryWrapper<MemberLike> wrapper1= Wrappers.lambdaQuery();
            wrapper1.eq(MemberLike::getMemberId,articleCommentsVO.getMemberId());
            wrapper1.eq(MemberLike::getArticleId,articleCommentsVO.getArticleId());
            wrapper1.eq(MemberLike::getType,2);
            wrapper1.eq( MemberLike::getDelFlag,0);
            List<MemberLike> list = memberLikeService.list(wrapper1);
            if (list.size()>0){
                articleCommentsVO.setIslike(1);
            }else {
                articleCommentsVO.setIslike(2);
            }
            List<ArticleCommentsVO> articleCommentsVOList1=new ArrayList<>();
            LambdaQueryWrapper< ArticleComments> wrapper2= Wrappers.lambdaQuery();
            wrapper2.eq(ArticleComments::getReplyId,articleCommentsVO.getArticleId());
            wrapper2.eq( ArticleComments::getDelFlag,0);
            wrapper2.eq( ArticleComments::getType,2);
            List<ArticleComments> list1 = articleCommentsService.list(wrapper2);
            for (ArticleComments articleComments1:list1){
                ArticleCommentsVO articleCommentsVO1=new ArticleCommentsVO();
                R<Member> membeOne1 = memberClient.getMembeOne(articleCommentsVO.getMemberId(),
        if (list2!=null){
            for(int i=0;i<list2.size();i++){
                ArticleCommentsVO articleCommentsVO=list2.get(i);
                R<Member> membeOne = memberClient.getMembeOne(articleCommentsVO.getMemberId(),
                        SecurityConstants.INNER);
                Member data1 = membeOne1.getData();
                R<Member> membeOne2 = memberClient.getMembeOne(articleCommentsVO.getBmemberId(),
                        SecurityConstants.INNER);
                Member data2 = membeOne2.getData();
                articleCommentsVO1.setArticleId(articleComments1.getArticleId());
                articleCommentsVO1.setContent(articleComments1.getContent());
                articleCommentsVO1.setMemberId(articleComments1.getMemberId());
                articleCommentsVO1.setId(articleComments1.getId());
                articleCommentsVO1.setMemberNickname(data1.getNickname());
                articleCommentsVO1.setBmemberNickavatar(data1.getAvatar());
                articleCommentsVO1.setLikeCount(articleComments1.getLikeCount());
                articleCommentsVO1.setCreateTime(articleComments1.getCreateTime());
                articleCommentsVO1.setBmemberNickavatar(data2.getAvatar());
                articleCommentsVO1.setBmemberNickname(data2.getNickname());
                LambdaQueryWrapper<MemberLike> wrapper3= Wrappers.lambdaQuery();
                wrapper3.eq(MemberLike::getMemberId,articleCommentsVO.getMemberId());
                wrapper3.eq(MemberLike::getArticleId,articleCommentsVO.getArticleId());
                wrapper3.eq(MemberLike::getType,2);
                wrapper3.eq( MemberLike::getDelFlag,0);
                List<MemberLike> list3 = memberLikeService.list(wrapper3);
                if (list3.size()>0){
                    articleCommentsVO1.setIslike(1);
                Member data = membeOne.getData();
                articleCommentsVO.setMemberNickname(data.getNickname());
                articleCommentsVO.setMemberNickavatar(data.getAvatar());
                LambdaQueryWrapper<MemberLike> wrapper1= Wrappers.lambdaQuery();
                wrapper1.eq(MemberLike::getMemberId,articleCommentsVO.getMemberId());
                wrapper1.eq(MemberLike::getArticleId,articleCommentsVO.getId());
                wrapper1.eq(MemberLike::getType,2);
                wrapper1.eq( MemberLike::getDelFlag,0);
                List<MemberLike> list = memberLikeService.list(wrapper1);
                if (list.size()>0){
                    articleCommentsVO.setIslike(1);
                }else {
                    articleCommentsVO1.setIslike(2);
                    articleCommentsVO.setIslike(2);
                }
                articleCommentsVOList1.add(articleCommentsVO1);
                List<ArticleCommentsVO> articleCommentsVOList1=new ArrayList<>();
                LambdaQueryWrapper< ArticleComments> wrapper2= Wrappers.lambdaQuery();
                wrapper2.eq(ArticleComments::getReplyId,articleCommentsVO.getId());
                wrapper2.eq( ArticleComments::getDelFlag,0);
                wrapper2.eq( ArticleComments::getType,2);
                List<ArticleComments> list1 = articleCommentsService.list(wrapper2);
                for (ArticleComments articleComments1:list1){
                    ArticleCommentsVO articleCommentsVO1=new ArticleCommentsVO();
                    R<Member> membeOne1 = memberClient.getMembeOne(articleComments1.getMemberId(),
                            SecurityConstants.INNER);
                    Member data1 = membeOne1.getData();
                    R<Member> membeOne2 = memberClient.getMembeOne(articleComments1.getBmemberId(),
                            SecurityConstants.INNER);
                    Member data2 = membeOne2.getData();
                    articleCommentsVO1.setArticleId(articleComments1.getArticleId());
                    articleCommentsVO1.setContent(articleComments1.getContent());
                    articleCommentsVO1.setMemberId(articleComments1.getMemberId());
                    articleCommentsVO1.setId(articleComments1.getId());
                    articleCommentsVO1.setMemberNickname(data1.getNickname());
                    articleCommentsVO1.setMemberNickavatar(data1.getAvatar());
                    articleCommentsVO1.setBmemberNickavatar(data1.getAvatar());
                    articleCommentsVO1.setLikeCount(articleComments1.getLikeCount());
                    articleCommentsVO1.setCreateTime(articleComments1.getCreateTime());
                    articleCommentsVO1.setBmemberNickname(data2.getNickname());
                    articleCommentsVO1.setState(articleComments1.getState());
                    articleCommentsVO1.setBmemberId(data2.getId());
                    LambdaQueryWrapper<MemberLike> wrapper3= Wrappers.lambdaQuery();
                    wrapper3.eq(MemberLike::getMemberId,articleCommentsVO.getMemberId());
                    wrapper3.eq(MemberLike::getArticleId,articleComments1.getId());
                    wrapper3.eq(MemberLike::getType,2);
                    wrapper3.eq( MemberLike::getDelFlag,0);
                    List<MemberLike> list3 = memberLikeService.list(wrapper3);
                    if (list3.size()>0){
                        articleCommentsVO1.setIslike(1);
                    }else {
                        articleCommentsVO1.setIslike(2);
                    }
                    articleCommentsVOList1.add(articleCommentsVO1);
                }
                articleCommentsVO.setArticleCommentsVOList(articleCommentsVOList1);
            }
            articleCommentsVO.setArticleCommentsVOList(articleCommentsVOList1);
            list2.add(articleCommentsVO);
        }
        return articleCommentsVOPageDTO;
    }