From 392b42c4891cf2e6beda57ab32c51598f290f4b7 Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期五, 14 三月 2025 20:56:27 +0800 Subject: [PATCH] bug修改 --- ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/impl/MemberArticleCollectionServiceImpl.java | 82 +++++++++++++++++++++++++++++------------ 1 files changed, 58 insertions(+), 24 deletions(-) diff --git a/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/impl/MemberArticleCollectionServiceImpl.java b/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/impl/MemberArticleCollectionServiceImpl.java index 09d3d0f..f434c3e 100644 --- a/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/impl/MemberArticleCollectionServiceImpl.java +++ b/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/impl/MemberArticleCollectionServiceImpl.java @@ -4,21 +4,26 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.article.controller.forepart.dto.ArticleDTO; +import com.ruoyi.article.controller.forepart.dto.MemberArticleCollectionDTO; +import com.ruoyi.article.controller.forepart.vo.MemberArticleCollectionVO; import com.ruoyi.article.domain.Article; import com.ruoyi.article.domain.MemberArticleCollection; -import com.ruoyi.article.dto.ArticleDTO; -import com.ruoyi.article.dto.MemberArticleCollectionDTO; +import com.ruoyi.article.mapper.ArticleMapper; import com.ruoyi.article.mapper.MemberArticleCollectionMapper; -import com.ruoyi.article.service.IArticleService; import com.ruoyi.article.service.IMemberArticleCollectionService; -import com.ruoyi.article.vo.MemberArticleCollectionVO; import com.ruoyi.common.core.constant.SecurityConstants; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.exception.ServiceException; +import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.core.utils.page.PageDTO; import com.ruoyi.system.api.domain.Member; import com.ruoyi.system.api.feignClient.MemberClient; +import java.util.HashSet; import java.util.List; +import java.util.Objects; +import java.util.Set; +import java.util.stream.Collectors; import javax.annotation.Resource; import org.springframework.stereotype.Service; @@ -33,20 +38,18 @@ @Service public class MemberArticleCollectionServiceImpl extends ServiceImpl<MemberArticleCollectionMapper, MemberArticleCollection> implements IMemberArticleCollectionService { - @Resource - private IMemberArticleCollectionService memberArticleCollectionService; @Resource - private IArticleService articleService; + private ArticleMapper articleMapper; @Resource private MemberClient memberClient; @Override public void saveMemberArticleCollection(MemberArticleCollectionDTO memberArticleCollectionDTO) { - if (memberArticleCollectionDTO.getMemberId()!=null) { + if (memberArticleCollectionDTO.getMemberId()==null) { throw new ServiceException("用户ID不能为空"); } - if (memberArticleCollectionDTO.getState()!=null) { + if (memberArticleCollectionDTO.getState()==null) { throw new ServiceException("类型不能为空"); } @@ -55,26 +58,26 @@ wrapper.eq(MemberArticleCollection::getTargetId,memberArticleCollectionDTO.getTargetId()); if (memberArticleCollectionDTO.getState()==1){ - List<MemberArticleCollection> list = memberArticleCollectionService.list(wrapper); + List<MemberArticleCollection> list = this.list(wrapper); if (list.size()==0){ MemberArticleCollection m =new MemberArticleCollection(); m.setMemberId(memberArticleCollectionDTO.getMemberId()); m.setTargetId(memberArticleCollectionDTO.getTargetId()); - memberArticleCollectionService.save(m); + this.save(m); - Article byId = articleService.getById(memberArticleCollectionDTO.getTargetId()); + Article byId = articleMapper.selectById(memberArticleCollectionDTO.getTargetId()); byId.setCollectCount(byId.getCollectCount()+1); - articleService.saveOrUpdate(byId); + articleMapper.updateById(byId); } }else{ - List<MemberArticleCollection> list = memberArticleCollectionService.list(wrapper); + List<MemberArticleCollection> list = this.list(wrapper); if (list.size()>0){ for (MemberArticleCollection memberArticleCollection:list){ - Article byId = articleService.getById(memberArticleCollection.getTargetId()); + Article byId = articleMapper.selectById(memberArticleCollection.getTargetId()); byId.setCollectCount(byId.getCollectCount()-1); - articleService.saveOrUpdate(byId); - memberArticleCollectionService.removeById(memberArticleCollection); + articleMapper.updateById(byId); + this.removeById(memberArticleCollection); } } @@ -83,23 +86,54 @@ @Override public PageDTO<MemberArticleCollectionVO> getMemberArticleCollection(ArticleDTO articleDTO) { + Set<Long> goodsSkuIdList = null; + if (StringUtils.isNotEmpty(articleDTO.getGoodsSkuName())) { + LambdaQueryWrapper<Article> wrapper= Wrappers.lambdaQuery(); + wrapper.like(Article::getTitle,articleDTO.getGoodsSkuName()); + wrapper.eq(Article::getDelFlag,0); + List<Article> page1 = articleMapper.selectList(wrapper); + goodsSkuIdList = page1.stream().map(Article::getId) + .collect(Collectors.toSet()); + } Page<MemberArticleCollection> page = new Page<>(articleDTO.getPageCurr(), articleDTO.getPageSize()); - LambdaQueryWrapper< MemberArticleCollection> wrapper= Wrappers.lambdaQuery(); + LambdaQueryWrapper<MemberArticleCollection> wrapper= Wrappers.lambdaQuery(); wrapper.eq(MemberArticleCollection::getMemberId,articleDTO.getMemberId()); - Page<MemberArticleCollection> page1 = memberArticleCollectionService.page(page, wrapper); + if (StringUtils.isNotEmpty(articleDTO.getGoodsSkuName())){ + if (goodsSkuIdList.size()>0){ + wrapper.in(MemberArticleCollection::getTargetId,goodsSkuIdList); + }else{ + Set<Long> goodsSkuIdList1 = new HashSet<>(); + goodsSkuIdList1.add(0L); + wrapper.in(MemberArticleCollection::getTargetId,goodsSkuIdList1); + } + } + wrapper.eq(MemberArticleCollection::getDelFlag,0); + wrapper.orderByDesc(MemberArticleCollection::getCreateTime); + Page<MemberArticleCollection> page1 = this.page(page, wrapper); PageDTO<MemberArticleCollectionVO> articleCommentsVOPageDTO = PageDTO.of(page1, MemberArticleCollectionVO.class); List<MemberArticleCollectionVO> list2 = articleCommentsVOPageDTO.getList(); for (MemberArticleCollectionVO memberArticleCollectionVO:list2){ - Article byId = articleService.getById(memberArticleCollectionVO.getTargetId()); + Article byId = articleMapper.selectById(memberArticleCollectionVO.getTargetId()); + if (Objects.isNull(byId)) { + continue; + } memberArticleCollectionVO.setContent(byId.getContent()); memberArticleCollectionVO.setImages(byId.getImages()); memberArticleCollectionVO.setTitle(byId.getTitle()); - - R<Member> membeOne = memberClient.getMembeOne(memberArticleCollectionVO.getMemberId(), + memberArticleCollectionVO.setCreateTime(byId.getCreateTime()); + memberArticleCollectionVO.setId(byId.getId()); + R<Member> membeOne = memberClient.getMembeOne(byId.getMemberId(), SecurityConstants.INNER); Member data = membeOne.getData(); - memberArticleCollectionVO.setMemberNickname(data.getNickname()); - memberArticleCollectionVO.setIsCollect(1); + if (data!=null){ + memberArticleCollectionVO.setMemberNickname(data.getNickname()); + memberArticleCollectionVO.setMemberAvatar(data.getAvatar()); + }else{ + memberArticleCollectionVO.setMemberNickname("平台发布"); + memberArticleCollectionVO.setMemberAvatar("https://jyzx-obs.obs.cn-sccd1.ctyun.cn/d41508d822cb4b7896aaa1bb56e6167f.png"); + } + + memberArticleCollectionVO.setIsCollect(2); } return articleCommentsVOPageDTO; -- Gitblit v1.7.1