ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/controller/ArticleController.java
@@ -3,8 +3,10 @@ import com.ruoyi.article.domain.Article; import com.ruoyi.article.dto.ArticleDTO; import com.ruoyi.article.dto.MemberLikeDTO; import com.ruoyi.article.service.IArticleService; import com.ruoyi.article.vo.ArticleCommentsVO; import com.ruoyi.article.vo.ArticleVO; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.utils.page.PageDTO; import com.ruoyi.system.api.domain.MemberAddress; @@ -42,7 +44,7 @@ @PostMapping("/getArticleList") @ResponseBody @ApiOperation(value = "获取资讯") public R<PageDTO<Article>> getArticleList(ArticleDTO articleDTO) { public R<PageDTO<ArticleVO>> getArticleList(ArticleDTO articleDTO) { return R.ok(iArticleService.getArticleList(articleDTO)); } @@ -73,11 +75,9 @@ @PostMapping("/getMemberArticleInfo") @ResponseBody @ApiOperation(value = "获取资讯详情") public R<Article> getMemberArticleInfo(ArticleDTO articleDTO) { public R<ArticleVO> getMemberArticleInfo(ArticleDTO articleDTO) { return R.ok(iArticleService.getMemberArticleInfo(articleDTO)); } @PostMapping("/getArticleCommentsList") @@ -94,4 +94,5 @@ iArticleService.getReport(articleDTO); return R.ok(); } } ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/controller/MemberArticleCollectionController.java
@@ -1,9 +1,24 @@ package com.ruoyi.article.controller; import com.ruoyi.article.domain.Article; import com.ruoyi.article.dto.ArticleDTO; import com.ruoyi.article.dto.MemberArticleCollectionDTO; import com.ruoyi.article.dto.MemberLikeDTO; import com.ruoyi.article.service.IMemberArticleCollectionService; import com.ruoyi.article.vo.ArticleVO; import com.ruoyi.article.vo.MemberArticleCollectionVO; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.utils.page.PageDTO; import io.swagger.annotations.ApiOperation; import org.apache.poi.ss.formula.functions.T; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; /** * <p> @@ -17,4 +32,23 @@ @RequestMapping("/member-article-collection") public class MemberArticleCollectionController { @Resource private IMemberArticleCollectionService memberArticleCollectionService; @PostMapping("/saveMemberArticleCollection") @ResponseBody @ApiOperation(value = "文章收藏和取消收藏") public R<T> saveMemberArticleCollection(MemberArticleCollectionDTO memberArticleCollectionDTO) { memberArticleCollectionService.saveMemberArticleCollection(memberArticleCollectionDTO); return R.ok(); } @PostMapping("/getMemberArticleCollection") @ResponseBody @ApiOperation(value = "获取用户收藏资讯") public R<PageDTO<MemberArticleCollectionVO>> getMemberArticleCollection(ArticleDTO articleDTO) { return R.ok(memberArticleCollectionService.getMemberArticleCollection(articleDTO)); } } ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/dto/ArticleCommentsDTO.java
@@ -1,12 +1,13 @@ package com.ruoyi.article.dto; import com.baomidou.mybatisplus.annotation.*; import com.ruoyi.common.core.web.page.BasePage; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.time.LocalDateTime; @Data public class ArticleCommentsDTO { public class ArticleCommentsDTO extends BasePage { @ApiModelProperty(value = "资讯评论id") @TableId(value = "id", type = IdType.ASSIGN_ID) ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/dto/MemberArticleCollectionDTO.java
New file @@ -0,0 +1,18 @@ package com.ruoyi.article.dto; import com.ruoyi.common.core.web.page.BasePage; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data public class MemberArticleCollectionDTO extends BasePage { @ApiModelProperty(value = "收藏目标id") private Long targetId; @ApiModelProperty(value = "会员id") private Long memberId; @ApiModelProperty(value = "1收藏,2 取消收藏") private Long state; } ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/dto/MemberLikeDTO.java
@@ -1,10 +1,11 @@ package com.ruoyi.article.dto; import com.ruoyi.common.core.web.page.BasePage; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data public class MemberLikeDTO { public class MemberLikeDTO extends BasePage { @ApiModelProperty(value = "会员id") private Long memberId; ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/IArticleService.java
@@ -4,6 +4,7 @@ import com.ruoyi.article.domain.Article; import com.ruoyi.article.dto.ArticleDTO; import com.ruoyi.article.vo.ArticleCommentsVO; import com.ruoyi.article.vo.ArticleVO; import com.ruoyi.common.core.utils.page.PageDTO; /** @@ -16,7 +17,7 @@ */ public interface IArticleService extends IService<Article> { PageDTO< Article> getArticleList(ArticleDTO articleDTO); PageDTO<ArticleVO> getArticleList(ArticleDTO articleDTO); PageDTO<Article> getMemberArticleList(ArticleDTO articleDTO); @@ -24,7 +25,7 @@ void delMemberArticle(ArticleDTO articleDTO); Article getMemberArticleInfo(ArticleDTO articleDTO); ArticleVO getMemberArticleInfo(ArticleDTO articleDTO); PageDTO<ArticleCommentsVO> getArticleCommentsList(ArticleDTO articleDTO); void getReport(ArticleDTO articleDTO); ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/IMemberArticleCollectionService.java
@@ -2,6 +2,11 @@ import com.ruoyi.article.domain.MemberArticleCollection; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.article.dto.ArticleDTO; import com.ruoyi.article.dto.MemberArticleCollectionDTO; import com.ruoyi.article.vo.ArticleVO; import com.ruoyi.article.vo.MemberArticleCollectionVO; import com.ruoyi.common.core.utils.page.PageDTO; /** * <p> @@ -12,5 +17,8 @@ * @since 2024-05-27 */ public interface IMemberArticleCollectionService extends IService<MemberArticleCollection> { void saveMemberArticleCollection(MemberArticleCollectionDTO memberArticleCollectionDTO); PageDTO<MemberArticleCollectionVO> getMemberArticleCollection(ArticleDTO articleDTO); } ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/impl/ArticleCommentsServiceImpl.java
@@ -1,10 +1,12 @@ package com.ruoyi.article.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.article.domain.Article; import com.ruoyi.article.domain.ArticleComments; import com.ruoyi.article.dto.ArticleCommentsDTO; import com.ruoyi.article.mapper.ArticleCommentsMapper; import com.ruoyi.article.service.IArticleCommentsService; import com.ruoyi.article.service.IArticleService; import com.ruoyi.common.core.exception.ServiceException; import org.springframework.stereotype.Service; @@ -23,6 +25,9 @@ ServiceImpl<ArticleCommentsMapper, ArticleComments> implements IArticleCommentsService { @Resource private IArticleCommentsService articleCommentsService; @Resource private IArticleService articleService; @Override public void saveMemberArticleComments(ArticleCommentsDTO articleCommentsDTO) { @@ -46,11 +51,20 @@ articleComments.setBmemberId(articleCommentsDTO.getBmemberId()); articleComments.setType(2); } Article byId = articleService.getById(articleCommentsDTO.getArticleId()); byId.setCommentCount(byId.getCommentCount()+1); articleService.saveOrUpdate(byId); articleCommentsService.saveOrUpdate(articleComments); } @Override public void delMemberArticleComments(ArticleCommentsDTO articleCommentsDTO) { ArticleComments byId1 = articleCommentsService.getById(articleCommentsDTO.getId()); Article byId = articleService.getById(byId1.getArticleId()); byId.setCommentCount(byId.getCommentCount()-1); articleService.saveOrUpdate(byId); articleCommentsService.removeById(articleCommentsDTO.getId()); } } ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/impl/ArticleServiceImpl.java
@@ -6,14 +6,20 @@ 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.MemberArticleCollection; import com.ruoyi.article.domain.MemberLike; import com.ruoyi.article.dto.ArticleDTO; import com.ruoyi.article.mapper.ArticleMapper; import com.ruoyi.article.service.IArticleCommentsService; import com.ruoyi.article.service.IArticleService; import com.ruoyi.article.service.IMemberArticleCollectionService; import com.ruoyi.article.service.IMemberLikeService; import com.ruoyi.article.vo.ArticleCommentsVO; import com.ruoyi.article.vo.ArticleVO; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.enums.ArticleTypeEnum; import com.ruoyi.common.core.enums.AuditStatusEnum; import com.ruoyi.common.core.utils.bean.BeanUtils; import com.ruoyi.common.core.utils.page.PageDTO; import com.ruoyi.system.api.domain.Member; import com.ruoyi.system.api.domain.MemberAddress; @@ -47,10 +53,16 @@ private IArticleCommentsService articleCommentsService; @Resource private MemberClient emberClient; private MemberClient memberClient; @Resource private IMemberLikeService memberLikeService; @Resource private IMemberArticleCollectionService memberArticleCollectionService; @Override public PageDTO<Article> getArticleList(ArticleDTO articleDTO) { public PageDTO<ArticleVO> getArticleList(ArticleDTO articleDTO) { Page<Article> page = new Page<>(articleDTO.getPageCurr(), articleDTO.getPageSize()); LambdaQueryWrapper< Article> wrapper= Wrappers.lambdaQuery(); if (articleDTO.getArticleType()!=0){ @@ -61,7 +73,39 @@ wrapper.eq( Article::getDelFlag,0); wrapper.orderByDesc(Article::getCreateTime); Page< Article> page1 = articleService.page(page, wrapper); return PageDTO.of(page1); PageDTO<ArticleVO> articleCommentsVOPageDTO = PageDTO.of(page1, ArticleVO.class); List<ArticleVO> list2 = articleCommentsVOPageDTO.getList(); for (ArticleVO articleVO:list2) { if (articleVO.getMemberId()!=null){ R<Member> membeOne = memberClient.getMembeOne(articleVO.getMemberId()); Member data = membeOne.getData(); articleVO.setMemberNickname(data.getNickname()); } LambdaQueryWrapper<MemberLike> wrapper1 = Wrappers.lambdaQuery(); wrapper1.eq(MemberLike::getMemberId, articleDTO.getMemberId()); wrapper1.eq(MemberLike::getArticleId, articleVO.getId()); wrapper1.eq(MemberLike::getType, 1); wrapper1.eq(MemberLike::getDelFlag, 0); List<MemberLike> list = memberLikeService.list(wrapper1); if (list.size() > 0) { articleVO.setIsLike(1); } else { articleVO.setIsLike(2); } LambdaQueryWrapper<MemberArticleCollection> wrapper2 = Wrappers.lambdaQuery(); wrapper2.eq(MemberArticleCollection::getMemberId, articleDTO.getMemberId()); wrapper2.eq(MemberArticleCollection::getTargetId, articleVO.getId()); wrapper2.eq(MemberArticleCollection::getDelFlag, 0); List<MemberArticleCollection> list1 = memberArticleCollectionService.list(wrapper2); if (list1.size() > 0) { articleVO.setIsCollect(1); } else { articleVO.setIsCollect(2); } } return articleCommentsVOPageDTO; } @Override @@ -108,9 +152,34 @@ } @Override public Article getMemberArticleInfo(ArticleDTO articleDTO) { public ArticleVO getMemberArticleInfo(ArticleDTO articleDTO) { Article article=articleService.getById(articleDTO.getId()); return article; ArticleVO articleVO=new ArticleVO(); BeanUtils.copyProperties(article, articleVO); LambdaQueryWrapper<MemberLike> wrapper1= Wrappers.lambdaQuery(); wrapper1.eq(MemberLike::getMemberId,articleDTO.getMemberId()); wrapper1.eq(MemberLike::getArticleId,article.getId()); wrapper1.eq(MemberLike::getType,1); wrapper1.eq( MemberLike::getDelFlag,0); List<MemberLike> list = memberLikeService.list(wrapper1); if (list.size()>0){ articleVO.setIsLike(1); }else { articleVO.setIsLike(2); } LambdaQueryWrapper<MemberArticleCollection> wrapper2= Wrappers.lambdaQuery(); wrapper2.eq(MemberArticleCollection::getMemberId,articleDTO.getMemberId()); wrapper2.eq(MemberArticleCollection::getTargetId,article.getId()); wrapper2.eq( MemberArticleCollection::getDelFlag,0); List<MemberArticleCollection> list1 = memberArticleCollectionService.list(wrapper2); if (list1.size()>0){ articleVO.setIsCollect(1); }else { articleVO.setIsCollect(2); } return articleVO; } @Override @@ -122,24 +191,79 @@ wrapper.eq( ArticleComments::getType,1); wrapper.orderByDesc(ArticleComments::getCreateTime); Page<ArticleComments> page1 = articleCommentsService.page(page, wrapper); List<ArticleComments> articleCommentsList=page1.getRecords(); List<ArticleCommentsVO> articleCommentsVOList=new ArrayList<>(); for(ArticleComments articleComments:articleCommentsList){ ArticleCommentsVO articleCommentsVO=new ArticleCommentsVO(); PageDTO<ArticleCommentsVO> articleCommentsVOPageDTO = PageDTO.of(page1, ArticleCommentsVO.class); List<ArticleCommentsVO> list2 = articleCommentsVOPageDTO.getList(); for(ArticleCommentsVO articleCommentsVO:list2){ R<Member> membeOne = memberClient.getMembeOne(articleCommentsVO.getMemberId()); Member data = membeOne.getData(); articleCommentsVO.setMemberNickname(data.getNickname()); articleCommentsVO.setBmemberNickavatar(data.getAvatar()); LambdaQueryWrapper<MemberLike> wrapper1= Wrappers.lambdaQuery(); wrapper1.eq(MemberLike::getMemberId,articleCommentsVO.getMemberId()); wrapper1.eq(MemberLike::getArticleId,articleCommentsVO.getArticleId()); wrapper1.eq(MemberLike::getType,2); wrapper1.eq( MemberLike::getDelFlag,0); List<MemberLike> list = memberLikeService.list(wrapper1); if (list.size()>0){ articleCommentsVO.setIslike(1); }else { articleCommentsVO.setIslike(2); } List<ArticleCommentsVO> articleCommentsVOList1=new ArrayList<>(); LambdaQueryWrapper< ArticleComments> wrapper2= Wrappers.lambdaQuery(); wrapper2.eq(ArticleComments::getReplyId,articleCommentsVO.getArticleId()); wrapper2.eq( ArticleComments::getDelFlag,0); wrapper2.eq( ArticleComments::getType,2); List<ArticleComments> list1 = articleCommentsService.list(wrapper2); for (ArticleComments articleComments1:list1){ ArticleCommentsVO articleCommentsVO1=new ArticleCommentsVO(); return null; R<Member> membeOne1 = memberClient.getMembeOne(articleCommentsVO.getMemberId()); Member data1 = membeOne1.getData(); R<Member> membeOne2 = memberClient.getMembeOne(articleCommentsVO.getBmemberId()); Member data2 = membeOne2.getData(); articleCommentsVO1.setArticleId(articleComments1.getArticleId()); articleCommentsVO1.setContent(articleComments1.getContent()); articleCommentsVO1.setMemberId(articleComments1.getMemberId()); articleCommentsVO1.setId(articleComments1.getId()); articleCommentsVO1.setMemberNickname(data1.getNickname()); articleCommentsVO1.setBmemberNickavatar(data1.getAvatar()); articleCommentsVO1.setLikeCount(articleComments1.getLikeCount()); articleCommentsVO1.setCreateTime(articleComments1.getCreateTime()); articleCommentsVO1.setBmemberNickavatar(data2.getAvatar()); articleCommentsVO1.setBmemberNickname(data2.getNickname()); LambdaQueryWrapper<MemberLike> wrapper3= Wrappers.lambdaQuery(); wrapper3.eq(MemberLike::getMemberId,articleCommentsVO.getMemberId()); wrapper3.eq(MemberLike::getArticleId,articleCommentsVO.getArticleId()); wrapper3.eq(MemberLike::getType,2); wrapper3.eq( MemberLike::getDelFlag,0); List<MemberLike> list3 = memberLikeService.list(wrapper3); if (list3.size()>0){ articleCommentsVO1.setIslike(1); }else { articleCommentsVO1.setIslike(2); } articleCommentsVOList1.add(articleCommentsVO1); } articleCommentsVO.setArticleCommentsVOList(articleCommentsVOList1); list2.add(articleCommentsVO); } return articleCommentsVOPageDTO; } @Override public void getReport(ArticleDTO articleDTO) { Article article= articleService.getById(articleDTO.getId()); R<Member> membeOne = emberClient.getMembeOne(articleDTO.getMemberId()); R<Member> membeOne = memberClient.getMembeOne(articleDTO.getMemberId()); Member data = membeOne.getData(); article.setReportBy(data.getNickname()); article.setReportedTime(LocalDateTime.now()); ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/impl/MemberArticleCollectionServiceImpl.java
@@ -1,10 +1,32 @@ package com.ruoyi.article.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.article.domain.Article; import com.ruoyi.article.domain.ArticleComments; import com.ruoyi.article.domain.MemberArticleCollection; import com.ruoyi.article.domain.MemberLike; import com.ruoyi.article.dto.ArticleDTO; import com.ruoyi.article.dto.MemberArticleCollectionDTO; import com.ruoyi.article.mapper.MemberArticleCollectionMapper; import com.ruoyi.article.service.IArticleService; import com.ruoyi.article.service.IMemberArticleCollectionService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.article.vo.ArticleCommentsVO; import com.ruoyi.article.vo.ArticleVO; import com.ruoyi.article.vo.MemberArticleCollectionVO; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.exception.ServiceException; import com.ruoyi.common.core.utils.page.PageDTO; import com.ruoyi.system.api.domain.Member; import com.ruoyi.system.api.feignClient.MemberClient; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.List; /** * <p> @@ -17,4 +39,74 @@ @Service public class MemberArticleCollectionServiceImpl extends ServiceImpl<MemberArticleCollectionMapper, MemberArticleCollection> implements IMemberArticleCollectionService { @Resource private IMemberArticleCollectionService memberArticleCollectionService; @Resource private IArticleService articleService; @Resource private MemberClient memberClient; @Override public void saveMemberArticleCollection(MemberArticleCollectionDTO memberArticleCollectionDTO) { if (memberArticleCollectionDTO.getMemberId()!=null) { throw new ServiceException("用户ID不能为空"); } if (memberArticleCollectionDTO.getState()!=null) { throw new ServiceException("类型不能为空"); } LambdaQueryWrapper< MemberArticleCollection> wrapper= Wrappers.lambdaQuery(); wrapper.eq(MemberArticleCollection::getMemberId,memberArticleCollectionDTO.getMemberId()); wrapper.eq(MemberArticleCollection::getTargetId,memberArticleCollectionDTO.getTargetId()); if (memberArticleCollectionDTO.getState()==1){ List<MemberArticleCollection> list = memberArticleCollectionService.list(wrapper); if (list.size()==0){ MemberArticleCollection m =new MemberArticleCollection(); m.setMemberId(memberArticleCollectionDTO.getMemberId()); m.setTargetId(memberArticleCollectionDTO.getTargetId()); memberArticleCollectionService.save(m); Article byId = articleService.getById(memberArticleCollectionDTO.getTargetId()); byId.setCollectCount(byId.getCollectCount()+1); articleService.saveOrUpdate(byId); } }else{ List<MemberArticleCollection> list = memberArticleCollectionService.list(wrapper); if (list.size()>0){ for (MemberArticleCollection memberArticleCollection:list){ Article byId = articleService.getById(memberArticleCollection.getTargetId()); byId.setCollectCount(byId.getCollectCount()-1); articleService.saveOrUpdate(byId); memberArticleCollectionService.removeById(memberArticleCollection); } } } } @Override public PageDTO<MemberArticleCollectionVO> getMemberArticleCollection(ArticleDTO articleDTO) { Page<MemberArticleCollection> page = new Page<>(articleDTO.getPageCurr(), articleDTO.getPageSize()); LambdaQueryWrapper< MemberArticleCollection> wrapper= Wrappers.lambdaQuery(); wrapper.eq(MemberArticleCollection::getMemberId,articleDTO.getMemberId()); Page<MemberArticleCollection> page1 = memberArticleCollectionService.page(page, wrapper); PageDTO<MemberArticleCollectionVO> articleCommentsVOPageDTO = PageDTO.of(page1, MemberArticleCollectionVO.class); List<MemberArticleCollectionVO> list2 = articleCommentsVOPageDTO.getList(); for (MemberArticleCollectionVO memberArticleCollectionVO:list2){ Article byId = articleService.getById(memberArticleCollectionVO.getTargetId()); memberArticleCollectionVO.setContent(byId.getContent()); memberArticleCollectionVO.setImages(byId.getImages()); memberArticleCollectionVO.setTitle(byId.getTitle()); R<Member> membeOne = memberClient.getMembeOne(memberArticleCollectionVO.getMemberId()); Member data = membeOne.getData(); memberArticleCollectionVO.setMemberNickname(data.getNickname()); memberArticleCollectionVO.setIsCollect(1); } return articleCommentsVOPageDTO; } } ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/impl/MemberLikeServiceImpl.java
@@ -46,7 +46,14 @@ 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){ List< MemberLike> memberLikes = memberLikeService.list(wrapper); if (memberLikes.size()==0){ MemberLike memberLike=new MemberLike(); memberLike.setMemberId(memberLikeDTO.getMemberId()); memberLike.setArticleId(memberLikeDTO.getArticleId()); @@ -67,13 +74,10 @@ 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); if (memberLikes.size()>0){ for (MemberLike memberLike:memberLikes){ memberLikeService.removeById(memberLike); @@ -94,5 +98,7 @@ } } } } } } ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/vo/ArticleCommentsVO.java
@@ -42,9 +42,11 @@ @ApiModelProperty(value = "会员头像") private String bmemberNickavatar; @ApiModelProperty(value = "点赞数") private Integer likeCount; @ApiModelProperty("点赞数") private Integer likeNum; @ApiModelProperty("是否点赞 1 点赞, 2 未点赞") private Integer islike; List<ArticleCommentsVO> articleCommentsVOList; } ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/vo/ArticleVO.java
New file @@ -0,0 +1,60 @@ package com.ruoyi.article.vo; import com.baomidou.mybatisplus.annotation.*; import com.ruoyi.common.core.enums.ArticleTypeEnum; import com.ruoyi.common.core.enums.AuditStatusEnum; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.time.LocalDateTime; @Data public class ArticleVO { @ApiModelProperty(value = "资讯id") @TableId(value = "id", type = IdType.ASSIGN_ID) private Long id; @ApiModelProperty(value = "资讯类型 1=平台发布 2=用户发布") private ArticleTypeEnum articleType; @ApiModelProperty(value = "资讯标题") private String title; @ApiModelProperty(value = "资讯内容") private String content; @ApiModelProperty(value = "资讯图片 ['a','b','c','d','e']") private String images; @ApiModelProperty(value = "资讯视频") private String videoUrl; @ApiModelProperty(value = "状态 1=待审核 2=已通过 3=已拒绝 4被举报") private AuditStatusEnum status; @ApiModelProperty(value = "点赞数") private Integer likeCount; @ApiModelProperty(value = "创建时间") private LocalDateTime createTime; @ApiModelProperty(value = "收藏数") private Integer collectCount; @ApiModelProperty(value = "评论数") private Integer commentCount; @ApiModelProperty(value = "会员id") private Long memberId; @ApiModelProperty(value = "拒绝原因") private String refuseComment; @ApiModelProperty("是否点赞 1 点赞, 2 未点赞") private Integer isLike; @ApiModelProperty("是否收藏 1收藏, 2 未收藏") private Integer isCollect; @ApiModelProperty(value = "会员名称") private String memberNickname; } ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/vo/MemberArticleCollectionVO.java
New file @@ -0,0 +1,41 @@ package com.ruoyi.article.vo; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.time.LocalDateTime; @Data public class MemberArticleCollectionVO { private Integer id; @ApiModelProperty(value = "收藏目标id") private Long targetId; @ApiModelProperty(value = "会员id") private Long memberId; @ApiModelProperty(value = "资讯标题") private String title; @ApiModelProperty(value = "资讯内容") private String content; @ApiModelProperty(value = "资讯图片 ['a','b','c','d','e']") private String images; @ApiModelProperty(value = "资讯视频") private String videoUrl; @ApiModelProperty(value = "会员名称") private String memberNickname; @ApiModelProperty("是否收藏 1收藏, 2 未收藏") private Integer isCollect; @ApiModelProperty(value = "创建时间") private LocalDateTime createTime; }