From 23e78efefd96d28f0c492348f3cb8a9e6cdcbbab Mon Sep 17 00:00:00 2001
From: rentaiming <806181062@qq.com>
Date: 星期五, 31 五月 2024 12:31:14 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/impl/MemberLikeServiceImpl.java | 70 +++++++++++++++++++----------------
1 files changed, 38 insertions(+), 32 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..8c2ee66 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
@@ -46,53 +46,59 @@
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);
-
+ 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);
+ byId.setLikeCount(byId.getLikeCount()+1);
articleService.saveOrUpdate(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);
+ byId.setLikeCount(byId.getLikeCount()+1);
articleCommentsService.saveOrUpdate(byId);
}
+ memberLikeService.save(memberLike);
}
+ }else{
+ List< MemberLike> memberLikes = memberLikeService.list(wrapper);
+ if (memberLikes.size()>0){
+ 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