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/MemberLikeServiceImpl.java | 90 ++++++++++++++++++++++----------------------- 1 files changed, 44 insertions(+), 46 deletions(-) diff --git a/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/impl/MemberLikeServiceImpl.java b/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/impl/MemberLikeServiceImpl.java index 4655268..da666cb 100644 --- a/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/impl/MemberLikeServiceImpl.java +++ b/ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/impl/MemberLikeServiceImpl.java @@ -2,15 +2,14 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; 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.domain.Article; import com.ruoyi.article.domain.ArticleComments; import com.ruoyi.article.domain.MemberLike; -import com.ruoyi.article.dto.MemberLikeDTO; +import com.ruoyi.article.controller.forepart.dto.MemberLikeDTO; +import com.ruoyi.article.mapper.ArticleMapper; import com.ruoyi.article.mapper.MemberLikeMapper; import com.ruoyi.article.service.IArticleCommentsService; -import com.ruoyi.article.service.IArticleService; import com.ruoyi.article.service.IMemberLikeService; import com.ruoyi.common.core.exception.ServiceException; import org.springframework.stereotype.Service; @@ -31,68 +30,67 @@ IMemberLikeService { @Resource - private IMemberLikeService memberLikeService; - @Resource - private IArticleService articleService; + private ArticleMapper articleMapper; @Resource private IArticleCommentsService articleCommentsService; @Override public void saveMemberLike(MemberLikeDTO memberLikeDTO) { - if (memberLikeDTO.getMemberId()!=null) { + if (memberLikeDTO.getMemberId()==null) { throw new ServiceException("用户ID不能为空"); } - if (memberLikeDTO.getState()!=null) { + if (memberLikeDTO.getState()==null) { throw new ServiceException("类型不能为空"); } + LambdaQueryWrapper< MemberLike> wrapper= Wrappers.lambdaQuery(); + wrapper.eq(MemberLike::getMemberId,memberLikeDTO.getMemberId()); + wrapper.eq(MemberLike::getArticleId,memberLikeDTO.getArticleId()); + wrapper.eq(MemberLike::getType,memberLikeDTO.getType()); + wrapper.eq( MemberLike::getDelFlag,0); if (memberLikeDTO.getState()==1){ - MemberLike memberLike=new MemberLike(); - memberLike.setMemberId(memberLikeDTO.getMemberId()); - memberLike.setArticleId(memberLikeDTO.getArticleId()); - memberLike.setType(memberLikeDTO.getType()); - if (memberLikeDTO.getType()==1){ - Article byId = articleService.getById(memberLikeDTO.getArticleId()); - byId.setLikeCount(byId.getLikeCount()+1); - articleService.saveOrUpdate(byId); - } - if (memberLikeDTO.getType()==2){ - ArticleComments byId = articleCommentsService.getById(memberLikeDTO.getArticleId()); - byId.setLikeCount(byId.getLikeCount()+1); - articleCommentsService.saveOrUpdate(byId); - } - if (memberLikeDTO.getType()==3){ - ArticleComments byId = articleCommentsService.getById(memberLikeDTO.getArticleId()); - byId.setLikeCount(byId.getLikeCount()+1); - articleCommentsService.saveOrUpdate(byId); - } - memberLikeService.save(memberLike); - }else{ - LambdaQueryWrapper< MemberLike> wrapper= Wrappers.lambdaQuery(); - wrapper.eq(MemberLike::getMemberId,memberLikeDTO.getMemberId()); - wrapper.eq(MemberLike::getArticleId,memberLikeDTO.getArticleId()); - wrapper.eq(MemberLike::getType,memberLikeDTO.getType()); - wrapper.eq( MemberLike::getDelFlag,0); - List< MemberLike> memberLikes = memberLikeService.list(wrapper); - for (MemberLike memberLike:memberLikes){ - memberLikeService.removeById(memberLike); - + List< MemberLike> memberLikes = this.list(wrapper); + if (memberLikes.size()==0){ + MemberLike memberLike=new MemberLike(); + memberLike.setMemberId(memberLikeDTO.getMemberId()); + memberLike.setArticleId(memberLikeDTO.getArticleId()); + memberLike.setType(memberLikeDTO.getType()); if (memberLikeDTO.getType()==1){ - Article byId = articleService.getById(memberLikeDTO.getArticleId()); - byId.setLikeCount(byId.getLikeCount()-1); - articleService.saveOrUpdate(byId); + Article byId = articleMapper.selectById(memberLikeDTO.getArticleId()); + byId.setLikeCount(byId.getLikeCount()+1); + articleMapper.updateById(byId); } if (memberLikeDTO.getType()==2){ ArticleComments byId = articleCommentsService.getById(memberLikeDTO.getArticleId()); - byId.setLikeCount(byId.getLikeCount()-1); + byId.setLikeCount(byId.getLikeCount()+1); articleCommentsService.saveOrUpdate(byId); } - if (memberLikeDTO.getType()==3){ - ArticleComments byId = articleCommentsService.getById(memberLikeDTO.getArticleId()); - byId.setLikeCount(byId.getLikeCount()-1); - articleCommentsService.saveOrUpdate(byId); + this.save(memberLike); + } + }else{ + List< MemberLike> memberLikes = this.list(wrapper); + if (memberLikes.size()>0){ + for (MemberLike memberLike:memberLikes){ + this.removeById(memberLike); + + if (memberLikeDTO.getType()==1){ + Article byId = articleMapper.selectById(memberLikeDTO.getArticleId()); + byId.setLikeCount(byId.getLikeCount()-1); + articleMapper.updateById(byId); + } + if (memberLikeDTO.getType()==2){ + ArticleComments byId = articleCommentsService.getById(memberLikeDTO.getArticleId()); + byId.setLikeCount(byId.getLikeCount()-1); + articleCommentsService.saveOrUpdate(byId); + } + if (memberLikeDTO.getType()==3){ + ArticleComments byId = articleCommentsService.getById(memberLikeDTO.getArticleId()); + byId.setLikeCount(byId.getLikeCount()-1); + articleCommentsService.saveOrUpdate(byId); + } } } + } } } -- Gitblit v1.7.1