| | |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ruoyi.article.domain.Article; |
| | | import com.ruoyi.article.domain.ArticleComments; |
| | | import com.ruoyi.article.domain.MemberArticleCollection; |
| | | import com.ruoyi.article.domain.MemberLike; |
| | | import com.ruoyi.article.dto.ArticleDTO; |
| | | import com.ruoyi.article.mapper.ArticleMapper; |
| | | import com.ruoyi.article.service.IArticleCommentsService; |
| | | import com.ruoyi.article.service.IArticleService; |
| | | import com.ruoyi.article.service.IMemberArticleCollectionService; |
| | | import com.ruoyi.article.service.IMemberLikeService; |
| | | import com.ruoyi.article.vo.ArticleCommentsVO; |
| | | import com.ruoyi.article.vo.ArticleVO; |
| | | import com.ruoyi.common.core.constant.SecurityConstants; |
| | | import com.ruoyi.common.core.domain.R; |
| | | import com.ruoyi.common.core.enums.ArticleTypeEnum; |
| | | import com.ruoyi.common.core.enums.AuditStatusEnum; |
| | | import com.ruoyi.common.core.utils.bean.BeanUtils; |
| | | import com.ruoyi.common.core.utils.page.PageDTO; |
| | | import com.ruoyi.system.api.domain.Member; |
| | | import com.ruoyi.system.api.domain.MemberAddress; |
| | | import com.ruoyi.system.api.feignClient.MemberClient; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | import util.HuaWeiOBSUtil; |
| | | |
| | | import javax.annotation.Resource; |
| | | import org.springframework.stereotype.Service; |
| | | import com.ruoyi.system.api.util.HuaWeiOBSUtil; |
| | | import java.io.IOException; |
| | | import java.time.LocalDateTime; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import javax.annotation.Resource; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | private IArticleCommentsService articleCommentsService; |
| | | |
| | | @Resource |
| | | private MemberClient emberClient; |
| | | private MemberClient memberClient; |
| | | |
| | | @Resource |
| | | private IMemberLikeService memberLikeService; |
| | | |
| | | @Resource |
| | | private IMemberArticleCollectionService memberArticleCollectionService; |
| | | |
| | | @Override |
| | | public PageDTO<Article> getArticleList(ArticleDTO articleDTO) { |
| | | public PageDTO<ArticleVO> getArticleList(ArticleDTO articleDTO) { |
| | | Page<Article> page = new Page<>(articleDTO.getPageCurr(), articleDTO.getPageSize()); |
| | | LambdaQueryWrapper< Article> wrapper= Wrappers.lambdaQuery(); |
| | | if (articleDTO.getArticleType()!=0){ |
| | |
| | | wrapper.eq( Article::getDelFlag,0); |
| | | wrapper.orderByDesc(Article::getCreateTime); |
| | | Page< Article> page1 = articleService.page(page, wrapper); |
| | | return PageDTO.of(page1); |
| | | |
| | | PageDTO<ArticleVO> articleCommentsVOPageDTO = PageDTO.of(page1, ArticleVO.class); |
| | | List<ArticleVO> list2 = articleCommentsVOPageDTO.getList(); |
| | | for (ArticleVO articleVO:list2) { |
| | | if (articleVO.getMemberId()!=null){ |
| | | R<Member> membeOne = memberClient.getMembeOne(articleVO.getMemberId(), |
| | | SecurityConstants.INNER); |
| | | Member data = membeOne.getData(); |
| | | articleVO.setMemberNickname(data.getNickname()); |
| | | } |
| | | LambdaQueryWrapper<MemberLike> wrapper1 = Wrappers.lambdaQuery(); |
| | | wrapper1.eq(MemberLike::getMemberId, articleDTO.getMemberId()); |
| | | wrapper1.eq(MemberLike::getArticleId, articleVO.getId()); |
| | | wrapper1.eq(MemberLike::getType, 1); |
| | | wrapper1.eq(MemberLike::getDelFlag, 0); |
| | | List<MemberLike> list = memberLikeService.list(wrapper1); |
| | | if (list.size() > 0) { |
| | | articleVO.setIsLike(1); |
| | | } else { |
| | | articleVO.setIsLike(2); |
| | | } |
| | | |
| | | LambdaQueryWrapper<MemberArticleCollection> wrapper2 = Wrappers.lambdaQuery(); |
| | | wrapper2.eq(MemberArticleCollection::getMemberId, articleDTO.getMemberId()); |
| | | wrapper2.eq(MemberArticleCollection::getTargetId, articleVO.getId()); |
| | | wrapper2.eq(MemberArticleCollection::getDelFlag, 0); |
| | | List<MemberArticleCollection> list1 = memberArticleCollectionService.list(wrapper2); |
| | | if (list1.size() > 0) { |
| | | articleVO.setIsCollect(1); |
| | | } else { |
| | | articleVO.setIsCollect(2); |
| | | } |
| | | } |
| | | return articleCommentsVOPageDTO; |
| | | } |
| | | |
| | | @Override |
| | |
| | | } |
| | | |
| | | @Override |
| | | public Article getMemberArticleInfo(ArticleDTO articleDTO) { |
| | | public ArticleVO getMemberArticleInfo(ArticleDTO articleDTO) { |
| | | Article article=articleService.getById(articleDTO.getId()); |
| | | return article; |
| | | ArticleVO articleVO=new ArticleVO(); |
| | | BeanUtils.copyProperties(article, articleVO); |
| | | |
| | | LambdaQueryWrapper<MemberLike> wrapper1= Wrappers.lambdaQuery(); |
| | | wrapper1.eq(MemberLike::getMemberId,articleDTO.getMemberId()); |
| | | wrapper1.eq(MemberLike::getArticleId,article.getId()); |
| | | wrapper1.eq(MemberLike::getType,1); |
| | | wrapper1.eq( MemberLike::getDelFlag,0); |
| | | List<MemberLike> list = memberLikeService.list(wrapper1); |
| | | if (list.size()>0){ |
| | | articleVO.setIsLike(1); |
| | | }else { |
| | | articleVO.setIsLike(2); |
| | | } |
| | | |
| | | LambdaQueryWrapper<MemberArticleCollection> wrapper2= Wrappers.lambdaQuery(); |
| | | wrapper2.eq(MemberArticleCollection::getMemberId,articleDTO.getMemberId()); |
| | | wrapper2.eq(MemberArticleCollection::getTargetId,article.getId()); |
| | | wrapper2.eq( MemberArticleCollection::getDelFlag,0); |
| | | List<MemberArticleCollection> list1 = memberArticleCollectionService.list(wrapper2); |
| | | if (list1.size()>0){ |
| | | articleVO.setIsCollect(1); |
| | | }else { |
| | | articleVO.setIsCollect(2); |
| | | } |
| | | return articleVO; |
| | | } |
| | | |
| | | @Override |
| | |
| | | wrapper.eq( ArticleComments::getType,1); |
| | | wrapper.orderByDesc(ArticleComments::getCreateTime); |
| | | 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<ArticleComments> articleCommentsList=page1.getRecords(); |
| | | List<ArticleCommentsVO> articleCommentsVOList=new ArrayList<>(); |
| | | for(ArticleComments articleComments:articleCommentsList){ |
| | | ArticleCommentsVO articleCommentsVO=new ArticleCommentsVO(); |
| | | |
| | | 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(), |
| | | 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); |
| | | }else { |
| | | articleCommentsVO1.setIslike(2); |
| | | } |
| | | articleCommentsVOList1.add(articleCommentsVO1); |
| | | } |
| | | |
| | | articleCommentsVO.setArticleCommentsVOList(articleCommentsVOList1); |
| | | |
| | | list2.add(articleCommentsVO); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | return null; |
| | | return articleCommentsVOPageDTO; |
| | | } |
| | | |
| | | @Override |
| | | public void getReport(ArticleDTO articleDTO) { |
| | | Article article= articleService.getById(articleDTO.getId()); |
| | | R<Member> membeOne = emberClient.getMembeOne(articleDTO.getMemberId()); |
| | | R<Member> membeOne = memberClient.getMembeOne(articleDTO.getMemberId(), |
| | | SecurityConstants.INNER); |
| | | Member data = membeOne.getData(); |
| | | article.setReportBy(data.getNickname()); |
| | | article.setReportedTime(LocalDateTime.now()); |