From 2db77321e009270c6ceaaabdffd22c8051ba891d Mon Sep 17 00:00:00 2001 From: "853029827@qq.com" <853029827@qq.com> Date: Fri, 4 Jan 2019 15:41:43 +0800 Subject: [PATCH] =?UTF-8?q?:alien:=20=E6=B7=BB=E5=8A=A0=E5=B0=8F=E7=A8=8B?= =?UTF-8?q?=E5=BA=8F=E8=BF=94=E5=9B=9E=E6=89=80=E6=9C=89=E6=96=87=E7=AB=A0?= =?UTF-8?q?Api?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ryanc/halo/repository/PostRepository.java | 23 +++++++++++++++++++ .../cc/ryanc/halo/service/PostService.java | 10 ++++++++ .../halo/service/impl/PostServiceImpl.java | 23 +++++++++++++++++++ .../controller/api/ApiArchivesController.java | 19 +++++++++++++++ 4 files changed, 75 insertions(+) diff --git a/src/main/java/cc/ryanc/halo/repository/PostRepository.java b/src/main/java/cc/ryanc/halo/repository/PostRepository.java index 71c1e49e9..e3a37de55 100644 --- a/src/main/java/cc/ryanc/halo/repository/PostRepository.java +++ b/src/main/java/cc/ryanc/halo/repository/PostRepository.java @@ -130,6 +130,29 @@ public interface PostRepository extends JpaRepository { @Query(value = "SELECT YEAR(post_date) AS YEAR,COUNT(*) AS COUNT FROM halo_post WHERE post_status=0 AND post_type='post' GROUP BY YEAR(post_date) ORDER BY YEAR DESC", nativeQuery = true) List findPostGroupByYear(); + + /** + * @Author Aquan + * @Description 查询文章归档信息 查询所有文章 + * @Date 2019.1.4 11:19 + * @Param + * @return List + **/ + @Query(value = "SELECT *,YEAR(post_date) AS YEAR FROM halo_post WHERE post_status=0 AND post_type='post' ORDER BY post_date DESC", nativeQuery = true) + List findAllPost(); + + /** + * @Author Aquan + * @Description 查询文章总数 + * @Date 2019.1.4 15:03 + * @Param + * @return Integer + **/ + @Query(value = "SELECT count(1) AS COUNT FROM halo_post WHERE post_status=0 AND post_type='post'", nativeQuery = true) + Integer totalAllPostCount(); + + + /** * 根据年份和月份查询文章 * diff --git a/src/main/java/cc/ryanc/halo/service/PostService.java b/src/main/java/cc/ryanc/halo/service/PostService.java index 833c581dd..0360879a2 100755 --- a/src/main/java/cc/ryanc/halo/service/PostService.java +++ b/src/main/java/cc/ryanc/halo/service/PostService.java @@ -161,6 +161,16 @@ public interface PostService { */ List findPostGroupByYear(); + /** + * @Author Aquan + * @Description 查询归档信息 查看所有文章 + * @Date 2019.1.4 11:14 + * @Param + * @return List + **/ + List findAllPost(); + + /** * 根据年份和月份查询文章 * diff --git a/src/main/java/cc/ryanc/halo/service/impl/PostServiceImpl.java b/src/main/java/cc/ryanc/halo/service/impl/PostServiceImpl.java index 37c83704d..adace5541 100755 --- a/src/main/java/cc/ryanc/halo/service/impl/PostServiceImpl.java +++ b/src/main/java/cc/ryanc/halo/service/impl/PostServiceImpl.java @@ -286,6 +286,29 @@ public class PostServiceImpl implements PostService { return archives; } + /** + * @Author Aquan + * @Description 查询归档信息 返回所有文章 + * @Date 2019.1.4 11:16 + * @Param + * @return List + **/ + @Override + @Cacheable(value = POSTS_CACHE_NAME, key = "'archives_all'") + public List findAllPost() { + final List posts = postRepository.findAllPost(); + final Integer count = postRepository.totalAllPostCount(); + final List archives = new ArrayList<>(); + Archive archive = null; + archive = new Archive(); + archive.setCount(String.valueOf(count)); + archive.setPosts(posts); + archives.add(archive); + + return archives; + } + + /** * 根据年份和月份查询文章 * diff --git a/src/main/java/cc/ryanc/halo/web/controller/api/ApiArchivesController.java b/src/main/java/cc/ryanc/halo/web/controller/api/ApiArchivesController.java index 0448ce0b8..f6197ed54 100644 --- a/src/main/java/cc/ryanc/halo/web/controller/api/ApiArchivesController.java +++ b/src/main/java/cc/ryanc/halo/web/controller/api/ApiArchivesController.java @@ -135,4 +135,23 @@ public class ApiArchivesController { return new JsonResult(ResponseStatusEnum.EMPTY.getCode(), ResponseStatusEnum.EMPTY.getMsg()); } } + + /** + * @Author Aquan + * @Description 返回所有文章 + * @Date 2019.1.4 11:06 + * @Param + * @return JsonResult + **/ + @GetMapping(value = "/all") + public JsonResult archivesAllPost() { + final List archive = postService.findAllPost(); + if (null != archive && archive.size() > 0) { + return new JsonResult(ResponseStatusEnum.SUCCESS.getCode(), ResponseStatusEnum.SUCCESS.getMsg(), archive); + } else { + return new JsonResult(ResponseStatusEnum.EMPTY.getCode(), ResponseStatusEnum.EMPTY.getMsg()); + } + } + + }