| | |
| | | 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); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | } |