diff --git a/src/main/java/cn/celess/blog/service/serviceimpl/ArticleServiceImpl.java b/src/main/java/cn/celess/blog/service/serviceimpl/ArticleServiceImpl.java index e4338e5..79d1f30 100644 --- a/src/main/java/cn/celess/blog/service/serviceimpl/ArticleServiceImpl.java +++ b/src/main/java/cn/celess/blog/service/serviceimpl/ArticleServiceImpl.java @@ -304,7 +304,7 @@ public class ArticleServiceImpl implements ArticleService { public PageData retrievePageForOpen(int count, int page) { PageHelper.startPage(page, count); List
articleList = articleMapper.findAllByOpen(true); - PageData pageData = new PageData<>(new PageInfo
(articleList)); + PageData pageData = new PageData<>(new PageInfo<>(articleList)); List articleModelList = articleList .stream() @@ -323,9 +323,7 @@ public class ArticleServiceImpl implements ArticleService { PageHelper.startPage(page, count); List
open = articleMapper.findAllByCategoryIdAndOpen(category.getId()); - List modelList = new ArrayList<>(); - - modelList = open.stream() + List modelList = open.stream() .map(article -> ModalTrans.article(article, true)) .peek(articleModel -> { articleModel.setNextArticle(null); diff --git a/src/main/java/cn/celess/blog/service/serviceimpl/CategoryServiceImpl.java b/src/main/java/cn/celess/blog/service/serviceimpl/CategoryServiceImpl.java index 36c32e2..61849a4 100644 --- a/src/main/java/cn/celess/blog/service/serviceimpl/CategoryServiceImpl.java +++ b/src/main/java/cn/celess/blog/service/serviceimpl/CategoryServiceImpl.java @@ -17,8 +17,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.servlet.http.HttpServletRequest; -import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; /** * @author : xiaohai @@ -68,22 +68,25 @@ public class CategoryServiceImpl implements CategoryService { public PageData retrievePage(int page, int count) { PageHelper.startPage(page, count); List all = categoryMapper.findAll(); - List modelList = new ArrayList<>(); - all.forEach(e -> { - CategoryModel model = ModalTrans.category(e); - List
allByCategoryId = articleMapper.findAllByCategoryId(e.getId()); - List articleModelList = new ArrayList<>(); - allByCategoryId.forEach(article -> { - ArticleModel articleModel = ModalTrans.article(article, true); - articleModel.setPreArticle(null); - articleModel.setNextArticle(null); - articleModel.setTags(null); - articleModelList.add(articleModel); - }); - model.setArticles(articleModelList); - modelList.add(model); - }); - - return new PageData(new PageInfo(all), modelList); + // 遍历没一个category + List modelList = all + .stream() + .map(ModalTrans::category) + .peek(categoryModel -> { + // 根据category去查article,并赋值给categoryModel + List
allByCategoryId = articleMapper.findAllByCategoryId(categoryModel.getId()); + List articleModelList = allByCategoryId + .stream() + .map(article -> ModalTrans.article(article, true)) + .peek(articleModel -> { + // 去除不必要的字段 + articleModel.setPreArticle(null); + articleModel.setNextArticle(null); + articleModel.setTags(null); + }) + .collect(Collectors.toList()); + categoryModel.setArticles(articleModelList); + }).collect(Collectors.toList()); + return new PageData<>(new PageInfo<>(all), modelList); } } diff --git a/src/main/java/cn/celess/blog/service/serviceimpl/CommentServiceImpl.java b/src/main/java/cn/celess/blog/service/serviceimpl/CommentServiceImpl.java index 2190e27..b58e706 100644 --- a/src/main/java/cn/celess/blog/service/serviceimpl/CommentServiceImpl.java +++ b/src/main/java/cn/celess/blog/service/serviceimpl/CommentServiceImpl.java @@ -23,6 +23,7 @@ import org.springframework.stereotype.Service; import javax.servlet.http.HttpServletRequest; import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; /** * @author : xiaohai @@ -107,14 +108,11 @@ public class CommentServiceImpl implements CommentService { @Override public List retrievePageByPid(long pid) { List allByPagePath = commentMapper.findAllByPid(pid); - List commentModels = new ArrayList<>(); - allByPagePath.forEach(comment -> { - if (comment.getStatus() != CommentStatusEnum.DELETED.getCode()) { - commentModels.add(ModalTrans.comment(comment)); - } - }); - - return commentModels; + return allByPagePath + .stream() + .filter(comment -> comment.getStatus() != CommentStatusEnum.DELETED.getCode()) + .map(ModalTrans::comment) + .collect(Collectors.toList()); } @Override @@ -145,14 +143,11 @@ public class CommentServiceImpl implements CommentService { private PageData pageTrans(List commentList, boolean noResponseList) { PageInfo p = PageInfo.of(commentList); - List modelList = new ArrayList<>(); - commentList.forEach(l -> { - CommentModel model = ModalTrans.comment(l); - if (!noResponseList) { - model.setRespComment(this.retrievePageByPid(model.getId())); - } - modelList.add(model); - }); - return new PageData(p, modelList); + List modelList = commentList + .stream() + .map(ModalTrans::comment) + .peek(commentModel -> commentModel.setRespComment(this.retrievePageByPid(commentModel.getId()))) + .collect(Collectors.toList()); + return new PageData<>(p, modelList); } } diff --git a/src/main/java/cn/celess/blog/service/serviceimpl/TagServiceImpl.java b/src/main/java/cn/celess/blog/service/serviceimpl/TagServiceImpl.java index 472178b..8b0d5d0 100644 --- a/src/main/java/cn/celess/blog/service/serviceimpl/TagServiceImpl.java +++ b/src/main/java/cn/celess/blog/service/serviceimpl/TagServiceImpl.java @@ -21,6 +21,7 @@ import org.springframework.transaction.annotation.Transactional; import javax.servlet.http.HttpServletRequest; import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; /** * @author : xiaohai @@ -81,20 +82,22 @@ public class TagServiceImpl implements TagService { List tagList = tagMapper.findAll(); List modelList = new ArrayList<>(); tagList.forEach(tag -> modelList.add(ModalTrans.tag(tag))); - return new PageData(new PageInfo(tagList), modelList); + return new PageData<>(new PageInfo<>(tagList), modelList); } @Override public List findAll() { - List list = new ArrayList<>(); - tagMapper.findAll().forEach(e -> { - TagModel model = ModalTrans.tag(e); - List articleByTagAndOpen = articleTagMapper.findArticleByTagAndOpen(e.getId()); - List articleModelList = new ArrayList<>(); - articleByTagAndOpen.forEach(articleTag -> articleModelList.add(ModalTrans.article(articleTag.getArticle(), true))); - model.setArticles(articleModelList); - list.add(model); - }); - return list; + return tagMapper.findAll().stream() + .map(ModalTrans::tag) + .peek(tagModel -> { + List articleByTagAndOpen = articleTagMapper.findArticleByTagAndOpen(tagModel.getId()); + tagModel.setArticles( + articleByTagAndOpen + .stream() + .map(articleTag -> ModalTrans.article(articleTag.getArticle(), true)) + .collect(Collectors.toList()) + ); + }) + .collect(Collectors.toList()); } }