From 42b45134aa22b7528ae0136364d5147da61b1f09 Mon Sep 17 00:00:00 2001 From: zhangmeng <1334717033@qq.com> Date: Sat, 11 Dec 2021 19:15:25 +0800 Subject: [PATCH] =?UTF-8?q?2021=E5=B9=B412=E6=9C=8811=E6=97=A519:15:10?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../blog/controller/ArticleController.java | 2 +- .../zhangmeng/blog/service/ReplyService.java | 7 + .../zhangmeng/blog/service/TagsService.java | 8 + .../blog/service/impl/ReplyServiceImpl.java | 11 + .../blog/service/impl/TagsServiceImpl.java | 11 + .../com/zhangmeng/blog/tools/BlogTools.java | 207 ++++++++++++++++++ .../model/dto/article/CategoryModel.java | 15 ++ 7 files changed, 260 insertions(+), 1 deletion(-) create mode 100644 mystyle-cloud-blog/src/main/java/com/zhangmeng/blog/service/ReplyService.java create mode 100644 mystyle-cloud-blog/src/main/java/com/zhangmeng/blog/service/TagsService.java create mode 100644 mystyle-cloud-blog/src/main/java/com/zhangmeng/blog/service/impl/ReplyServiceImpl.java create mode 100644 mystyle-cloud-blog/src/main/java/com/zhangmeng/blog/service/impl/TagsServiceImpl.java create mode 100644 mystyle-cloud-blog/src/main/java/com/zhangmeng/blog/tools/BlogTools.java create mode 100644 mystyle-cloud-model/src/main/java/com/zhangmeng/model/dto/article/CategoryModel.java diff --git a/mystyle-cloud-blog/src/main/java/com/zhangmeng/blog/controller/ArticleController.java b/mystyle-cloud-blog/src/main/java/com/zhangmeng/blog/controller/ArticleController.java index d0b8cbe..924f9b6 100644 --- a/mystyle-cloud-blog/src/main/java/com/zhangmeng/blog/controller/ArticleController.java +++ b/mystyle-cloud-blog/src/main/java/com/zhangmeng/blog/controller/ArticleController.java @@ -229,7 +229,7 @@ public class ArticleController extends BaseController implements ArticleControll if (sysConfig.getAuthor() == null){ sysConfig.setAuthor("转身的背影在心底里沉沦"); } - + map.put("sysConfig",sysConfig); map.put("articleModel", articleModel); return map; } diff --git a/mystyle-cloud-blog/src/main/java/com/zhangmeng/blog/service/ReplyService.java b/mystyle-cloud-blog/src/main/java/com/zhangmeng/blog/service/ReplyService.java new file mode 100644 index 0000000..d2f8133 --- /dev/null +++ b/mystyle-cloud-blog/src/main/java/com/zhangmeng/blog/service/ReplyService.java @@ -0,0 +1,7 @@ +package com.zhangmeng.blog.service; + +import com.zhangmeng.model.base.baseService.BaseService; +import com.zhangmeng.model.entity.Reply; + +public interface ReplyService extends BaseService { +} diff --git a/mystyle-cloud-blog/src/main/java/com/zhangmeng/blog/service/TagsService.java b/mystyle-cloud-blog/src/main/java/com/zhangmeng/blog/service/TagsService.java new file mode 100644 index 0000000..117bd74 --- /dev/null +++ b/mystyle-cloud-blog/src/main/java/com/zhangmeng/blog/service/TagsService.java @@ -0,0 +1,8 @@ +package com.zhangmeng.blog.service; + + +import com.zhangmeng.model.base.baseService.BaseService; +import com.zhangmeng.model.entity.Tags; + +public interface TagsService extends BaseService { +} diff --git a/mystyle-cloud-blog/src/main/java/com/zhangmeng/blog/service/impl/ReplyServiceImpl.java b/mystyle-cloud-blog/src/main/java/com/zhangmeng/blog/service/impl/ReplyServiceImpl.java new file mode 100644 index 0000000..300f789 --- /dev/null +++ b/mystyle-cloud-blog/src/main/java/com/zhangmeng/blog/service/impl/ReplyServiceImpl.java @@ -0,0 +1,11 @@ +package com.zhangmeng.blog.service.impl; + + +import com.zhangmeng.blog.service.ReplyService; +import com.zhangmeng.model.base.baseService.impl.AbstractBaseServiceImpl; +import com.zhangmeng.model.entity.Reply; +import org.springframework.stereotype.Service; + +@Service +public class ReplyServiceImpl extends AbstractBaseServiceImpl implements ReplyService { +} diff --git a/mystyle-cloud-blog/src/main/java/com/zhangmeng/blog/service/impl/TagsServiceImpl.java b/mystyle-cloud-blog/src/main/java/com/zhangmeng/blog/service/impl/TagsServiceImpl.java new file mode 100644 index 0000000..514fd1e --- /dev/null +++ b/mystyle-cloud-blog/src/main/java/com/zhangmeng/blog/service/impl/TagsServiceImpl.java @@ -0,0 +1,11 @@ +package com.zhangmeng.blog.service.impl; + +import com.zhangmeng.blog.service.TagsService; +import com.zhangmeng.model.base.baseService.impl.AbstractBaseServiceImpl; +import com.zhangmeng.model.entity.Tags; +import org.springframework.stereotype.Service; + +@Service +public class TagsServiceImpl extends AbstractBaseServiceImpl implements TagsService { + +} diff --git a/mystyle-cloud-blog/src/main/java/com/zhangmeng/blog/tools/BlogTools.java b/mystyle-cloud-blog/src/main/java/com/zhangmeng/blog/tools/BlogTools.java new file mode 100644 index 0000000..bb4c62d --- /dev/null +++ b/mystyle-cloud-blog/src/main/java/com/zhangmeng/blog/tools/BlogTools.java @@ -0,0 +1,207 @@ +package com.zhangmeng.blog.tools; + +import com.github.pagehelper.PageInfo; +import com.zhangmeng.blog.feign.SysConfigFeign; +import com.zhangmeng.blog.feign.UserFeign; +import com.zhangmeng.blog.service.*; +import com.zhangmeng.model.dto.article.ArticleModel; +import com.zhangmeng.model.dto.article.CategoryModel; +import com.zhangmeng.model.dto.comment.CommentModel; +import com.zhangmeng.model.dto.query.QueryParams; +import com.zhangmeng.model.dto.query.QueryResult; +import com.zhangmeng.model.entity.*; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; +import tk.mybatis.mapper.entity.Condition; +import tk.mybatis.mapper.entity.Example; + +import java.util.ArrayList; +import java.util.List; + + +/** + * @author zhangmeng + * @date 2021年8月19日12:26:07 + * @version 1.0 + * 博客工具类 前端页面查询用 + */ +@Component +public class BlogTools { + + @Autowired + private CategoryService categoryService; + + @Autowired + private TagsService tagsService; + + @Autowired + private ArticleService articleService; + + @Autowired + private CommentService commentService; + + @Autowired + private ReplyService replyService; + + @Autowired + private SysConfigFeign sysConfigFeign; + + @Autowired + private UserFeign userFeign; + + private static String message = "别畏惧路上的孤单,谁也不是你的永远,你又何曾是谁的唯一。没谁陪你一直走,我们只是在浅遇中写因缘天定,在淡忘里看岁月静好。 莫辜负这似水流年,活着就是一种精彩;"; + + private static String title = "转身的背影在心底里沉沦"; + + /** + * 评论 + * + * @param articleId 文章id + * @return 评论集合 + */ + public List commentModelList(Long articleId) { + Condition condition = new Condition(Comment.class); + Example.Criteria criteria = condition.createCriteria(); + criteria.andEqualTo("deleteStatus", false); + criteria.andEqualTo("article_id", articleId); + List commentList = this.commentService.findByCondition(condition); + List modelList = new ArrayList<>(); + if (commentList.size() > 0) { + for (Comment comment : commentList) { + CommentModel commentModel = new CommentModel(); + commentModel.setComment(comment); + Condition reply_condition = new Condition(Reply.class); + Example.Criteria reply_criteria = reply_condition.createCriteria(); + reply_criteria.andEqualTo("comment_id", comment.getId()); + List replyList = this.replyService.findByCondition(reply_condition); + if (replyList.size() > 0) { + Reply reply = replyList.get(0); + commentModel.setReply(reply); + User reply_user = this.userFeign.findByUserId(reply.getUserId()); + commentModel.setReply_user(reply_user); + } + modelList.add(commentModel); + } + } + return modelList; + } + + //最新博客 + public List
latest_blog(){ + Condition article_condition = new Condition(Article.class); + Example.Criteria article_criteria = article_condition.createCriteria(); + article_criteria.andEqualTo("deleteStatus", false); + PageInfo
pageInfo = this.articleService.findByCondition(new QueryParams(1, 10, article_condition, "addTime desc"), true); + return pageInfo.getList(); + } + + //最新推荐 + public List
latest_recommended(){ + return latest_blog(); + } + + //博客文章 + public List
articleList(Integer pageNum,Integer pageSize){ + Condition article_condition = new Condition(Article.class); + Example.Criteria article_criteria = article_condition.createCriteria(); + article_criteria.andEqualTo("deleteStatus", false); + return this.articleService.findByCondition(new QueryParams(pageNum, pageSize, article_condition, "addTime desc"), true).getList(); + } + + //博客数量统计 + public Integer blog_count(){ + return this.articleService.findAll().size(); + } + + //个人信息 + public User userInfo(){ + return this.userFeign.findByUserId(1L); + } + + //分类信息 + public List categoryList() { + //分类列表 + Condition category_params = new Condition(Category.class); + Example.Criteria category_criteria = category_params.createCriteria(); + category_criteria.andEqualTo("deleteStatus", false); + List categoryList = this.categoryService.findByCondition(category_params); + List categoryModels = new ArrayList<>(); + if (categoryList.size() > 0) { + for (Category category : categoryList) { + CategoryModel categoryModel = new CategoryModel(); + BeanUtils.copyProperties(category, categoryModel); + categoryModel.setCount(category_cout(category.getId()).longValue()); + categoryModel.setId(category.getId()); + categoryModels.add(categoryModel); + } + } + return categoryModels; + } + + public Integer category_cout(Long categoryId){ + Condition article_condition = new Condition(Article.class); + Example.Criteria article_criteria = article_condition.createCriteria(); + article_criteria.andEqualTo("deleteStatus", false); + article_criteria.andEqualTo("category_id",categoryId); + return this.articleService.selectCountByCondition(article_condition); + } + + //分类数量 + public Integer category_count(){ + return this.categoryService.findAll().size(); + } + + //标签信息 + public List tagsList() { + return this.tagsService.findAll(); + } + + public String title() { + SysConfig sysConfig = this.sysConfigFeign.getSysConfig(); + if (sysConfig != null) { + String blogTitle = sysConfig.getBlogTitle(); + if (blogTitle != null && !blogTitle.equals("")) { + title = blogTitle; + } + } else { + title = "转身的背影在心底里沉沦"; + } + return title; + } + + public String message() { + return message; + } + + /** + * 博客标题 + */ + public void title(ArticleModel articleModel) { + SysConfig sysConfig = this.sysConfigFeign.getSysConfig(); + if (sysConfig != null) { + String blogTitle = sysConfig.getBlogTitle(); + if (blogTitle != null && !blogTitle.equals("")) { + title = blogTitle; + } + } + articleModel.setBlog_title(title); + articleModel.setMessage(message); + } + + public QueryResult queryResult(PageInfo pageInfo, List list){ + if (pageInfo.getPrePage() == 0 ){ + pageInfo.setPrePage(1); + } + if (pageInfo.getNextPage() == 0){ + pageInfo.setNextPage(1); + } + QueryResult queryResult = new QueryResult<>(); + queryResult.setList(list); + queryResult.setPrevPage(pageInfo.getPrePage()); + queryResult.setNextPage(pageInfo.getNextPage()); + queryResult.setPageNum(pageInfo.getPageNum()); + queryResult.setPageSize(pageInfo.getPageSize()); + return queryResult; + } +} diff --git a/mystyle-cloud-model/src/main/java/com/zhangmeng/model/dto/article/CategoryModel.java b/mystyle-cloud-model/src/main/java/com/zhangmeng/model/dto/article/CategoryModel.java new file mode 100644 index 0000000..4275d4a --- /dev/null +++ b/mystyle-cloud-model/src/main/java/com/zhangmeng/model/dto/article/CategoryModel.java @@ -0,0 +1,15 @@ +package com.zhangmeng.model.dto.article; + +import lombok.Data; + +import java.io.Serializable; + +@Data +public class CategoryModel implements Serializable { + + private Long id; + + private String categoryName; + + private Long count; +}