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