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 | 75 +++++++++++++++++++++++++++++++++++++ 1 files changed, 75 insertions(+), 0 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 a855882..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 @@ -1,10 +1,21 @@ package com.ruoyi.article.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; 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.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.IMemberLikeService; +import com.ruoyi.common.core.exception.ServiceException; import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; /** * <p> @@ -18,4 +29,68 @@ public class MemberLikeServiceImpl extends ServiceImpl<MemberLikeMapper, MemberLike> implements IMemberLikeService { + @Resource + private ArticleMapper articleMapper; + + @Resource + private IArticleCommentsService articleCommentsService; + + @Override + public void saveMemberLike(MemberLikeDTO memberLikeDTO) { + if (memberLikeDTO.getMemberId()==null) { + throw new ServiceException("用户ID不能为空"); + } + 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){ + 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 = 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); + } + 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