From b69edf91df77182944ccd376ec0ec1c033bf5b82 Mon Sep 17 00:00:00 2001 From: rentaiming <806181062@qq.com> Date: 星期一, 27 五月 2024 15:25:00 +0800 Subject: [PATCH] 写用户端接口 --- ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/impl/MemberLikeServiceImpl.java | 77 ++++++++++++++++++++++++++++++++++++++ 1 files changed, 77 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..4655268 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,22 @@ 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.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.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; + +import javax.annotation.Resource; +import java.util.List; /** * <p> @@ -18,4 +30,69 @@ public class MemberLikeServiceImpl extends ServiceImpl<MemberLikeMapper, MemberLike> implements IMemberLikeService { + @Resource + private IMemberLikeService memberLikeService; + @Resource + private IArticleService articleService; + + @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("类型不能为空"); + } + 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); + + 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); + } + } + } + } } -- Gitblit v1.7.1