| | |
| | | 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.controller.forepart.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.service.IMemberLikeService; |
| | | import com.ruoyi.article.vo.ArticleCommentsVO; |
| | | import com.ruoyi.article.controller.forepart.vo.ArticleCommentsVO; |
| | | import com.ruoyi.article.controller.forepart.vo.ArticleVO; |
| | | import com.ruoyi.common.core.constant.SecurityConstants; |
| | | 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.page.PageDTO; |
| | | import com.ruoyi.system.api.domain.Member; |
| | | import com.ruoyi.system.api.feignClient.MemberClient; |
| | | import com.ruoyi.system.api.util.HuaWeiOBSUtil; |
| | | import java.io.IOException; |
| | | import java.time.LocalDateTime; |
| | | import java.util.ArrayList; |
| | |
| | | import javax.annotation.Resource; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | import util.HuaWeiOBSUtil; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | @Service |
| | | public class ArticleServiceImpl extends ServiceImpl<ArticleMapper, Article> implements IArticleService { |
| | | |
| | | @Resource |
| | | private IArticleService articleService; |
| | | |
| | | @Resource |
| | | private IArticleCommentsService articleCommentsService; |
| | |
| | | if (articleDTO.getArticleType()!=0){ |
| | | wrapper.eq(Article::getArticleType,articleDTO.getArticleType()); |
| | | } |
| | | wrapper.like(Article::getTitle,articleDTO.getTitle()); |
| | | if (articleDTO.getTitle()!=null){ |
| | | wrapper.like(Article::getTitle,articleDTO.getTitle()); |
| | | } |
| | | wrapper.eq(Article::getStatus,2); |
| | | wrapper.eq( Article::getDelFlag,0); |
| | | wrapper.orderByDesc(Article::getCreateTime); |
| | | Page< Article> page1 = articleService.page(page, wrapper); |
| | | Page< Article> page1 = this.page(page, wrapper); |
| | | |
| | | 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()); |
| | | R<Member> membeOne = memberClient.getMembeOne(articleVO.getMemberId(), |
| | | SecurityConstants.INNER); |
| | | Member data = membeOne.getData(); |
| | | articleVO.setMemberNickname(data.getNickname()); |
| | | articleVO.setMemberAvatar(data.getAvatar()); |
| | | } |
| | | LambdaQueryWrapper<MemberLike> wrapper1 = Wrappers.lambdaQuery(); |
| | | wrapper1.eq(MemberLike::getMemberId, articleDTO.getMemberId()); |
| | |
| | | Page<Article> page = new Page<>(articleDTO.getPageCurr(), articleDTO.getPageSize()); |
| | | LambdaQueryWrapper< Article> wrapper= Wrappers.lambdaQuery(); |
| | | wrapper.eq(Article::getMemberId,articleDTO.getMemberId()); |
| | | wrapper.eq(Article::getArticleType,2); |
| | | wrapper.eq( Article::getDelFlag,0); |
| | | wrapper.orderByDesc(Article::getCreateTime); |
| | | Page<Article> page1 = articleService.page(page, wrapper); |
| | | Page<Article> page1 = this.page(page, wrapper); |
| | | return PageDTO.of(page1); |
| | | } |
| | | |
| | |
| | | public void saveMemberArticle(ArticleDTO articleDTO) { |
| | | Article article=new Article(); |
| | | if (articleDTO.getId()!=null){ |
| | | article=articleService.getById(articleDTO.getId()); |
| | | article=this.getById(articleDTO.getId()); |
| | | } |
| | | article.setMemberId(articleDTO.getMemberId()); |
| | | |
| | | article.setArticleType(ArticleTypeEnum.USER_POSTING); |
| | | article.setStatus(AuditStatusEnum.TO_BE_REVIEWED); |
| | | article.setContent(articleDTO.getContent()); |
| | | article.setTitle(articleDTO.getTitle()); |
| | | List<String> urlList=new ArrayList<>(); |
| | | if (articleDTO.getRticleImageUrl().length>0){ |
| | | for (MultipartFile file:articleDTO.getRticleImageUrl()){ |
| | | try { |
| | | String url= HuaWeiOBSUtil.obsUpload(file); |
| | | urlList.add(url); |
| | | } catch (IOException e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | } |
| | | article.setImages(urlList.toString()); |
| | | } |
| | | articleService.saveOrUpdate(article); |
| | | article.setImages(articleDTO.getRticleImageUrl()); |
| | | this.saveOrUpdate(article); |
| | | |
| | | } |
| | | |
| | | @Override |
| | | public void delMemberArticle(ArticleDTO articleDTO) { |
| | | articleService.removeById(articleDTO.getId()); |
| | | this.removeById(articleDTO.getId()); |
| | | } |
| | | |
| | | @Override |
| | | public ArticleVO getMemberArticleInfo(ArticleDTO articleDTO) { |
| | | Article article=articleService.getById(articleDTO.getId()); |
| | | Article article=this.getById(articleDTO.getId()); |
| | | ArticleVO articleVO=new ArticleVO(); |
| | | |
| | | BeanUtils.copyProperties(article, articleVO); |
| | | |
| | | R<Member> membeOne = memberClient.getMembeOne(articleVO.getMemberId(), |
| | | SecurityConstants.INNER); |
| | | Member data = membeOne.getData(); |
| | | articleVO.setMemberNickname(data.getNickname()); |
| | | articleVO.setMemberAvatar(data.getAvatar()); |
| | | |
| | | LambdaQueryWrapper<MemberLike> wrapper1= Wrappers.lambdaQuery(); |
| | | wrapper1.eq(MemberLike::getMemberId,articleDTO.getMemberId()); |
| | |
| | | PageDTO<ArticleCommentsVO> articleCommentsVOPageDTO = PageDTO.of(page1, ArticleCommentsVO.class); |
| | | List<ArticleCommentsVO> list2 = articleCommentsVOPageDTO.getList(); |
| | | for(ArticleCommentsVO articleCommentsVO:list2){ |
| | | R<Member> membeOne = memberClient.getMembeOne(articleCommentsVO.getMemberId()); |
| | | R<Member> membeOne = memberClient.getMembeOne(articleCommentsVO.getMemberId(), |
| | | SecurityConstants.INNER); |
| | | Member data = membeOne.getData(); |
| | | articleCommentsVO.setMemberNickname(data.getNickname()); |
| | | articleCommentsVO.setBmemberNickavatar(data.getAvatar()); |
| | |
| | | for (ArticleComments articleComments1:list1){ |
| | | ArticleCommentsVO articleCommentsVO1=new ArticleCommentsVO(); |
| | | |
| | | R<Member> membeOne1 = memberClient.getMembeOne(articleCommentsVO.getMemberId()); |
| | | R<Member> membeOne1 = memberClient.getMembeOne(articleCommentsVO.getMemberId(), |
| | | SecurityConstants.INNER); |
| | | Member data1 = membeOne1.getData(); |
| | | |
| | | R<Member> membeOne2 = memberClient.getMembeOne(articleCommentsVO.getBmemberId()); |
| | | R<Member> membeOne2 = memberClient.getMembeOne(articleCommentsVO.getBmemberId(), |
| | | SecurityConstants.INNER); |
| | | Member data2 = membeOne2.getData(); |
| | | |
| | | articleCommentsVO1.setArticleId(articleComments1.getArticleId()); |
| | |
| | | |
| | | @Override |
| | | public void getReport(ArticleDTO articleDTO) { |
| | | Article article= articleService.getById(articleDTO.getId()); |
| | | Article article= this.getById(articleDTO.getId()); |
| | | R<Member> membeOne = memberClient.getMembeOne(articleDTO.getMemberId(), |
| | | SecurityConstants.INNER); |
| | | Member data = membeOne.getData(); |
| | | article.setReportBy(data.getNickname()); |
| | | article.setReportedTime(LocalDateTime.now()); |
| | | articleService.saveOrUpdate(article); |
| | | this.saveOrUpdate(article); |
| | | } |
| | | } |