From 72ef4f043ba34a535d00bff6a0e264d1a7e12548 Mon Sep 17 00:00:00 2001
From: rentaiming <806181062@qq.com>
Date: 星期一, 27 五月 2024 17:54:57 +0800
Subject: [PATCH] 写用户端接口

---
 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