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