From a9c4c99791e4d43971afd863946a2b0c4db44708 Mon Sep 17 00:00:00 2001
From: inleft <inleft@qq.com>
Date: Mon, 21 Feb 2022 02:02:04 +0800
Subject: [PATCH] 统计模块接口

---
 snowy-main/src/main/java/vip/xiaonuo/modular/blogStatistics/BlogStatisticsController.java |   60 +++++++++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 45 insertions(+), 15 deletions(-)

diff --git a/snowy-main/src/main/java/vip/xiaonuo/modular/blogStatistics/BlogStatisticsController.java b/snowy-main/src/main/java/vip/xiaonuo/modular/blogStatistics/BlogStatisticsController.java
index a315ead..48e1960 100644
--- a/snowy-main/src/main/java/vip/xiaonuo/modular/blogStatistics/BlogStatisticsController.java
+++ b/snowy-main/src/main/java/vip/xiaonuo/modular/blogStatistics/BlogStatisticsController.java
@@ -30,17 +30,17 @@
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 import vip.xiaonuo.core.annotion.BusinessLog;
+import vip.xiaonuo.core.consts.MyConstant;
 import vip.xiaonuo.core.enums.LogAnnotionOpTypeEnum;
 import vip.xiaonuo.core.pojo.response.ResponseData;
 import vip.xiaonuo.core.pojo.response.SuccessResponseData;
+import vip.xiaonuo.modular.blogStatistics.vo.BlogArchiveVo;
 import vip.xiaonuo.modular.blogStatistics.vo.BlogStatisticsVo;
 import vip.xiaonuo.modular.blogarticle.entity.BlogArticle;
 import vip.xiaonuo.modular.blogarticle.service.BlogArticleService;
 
 import javax.annotation.Resource;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
 
 /**
  * blog文章控制器 (提供给外部blog系统查询)
@@ -63,28 +63,24 @@
     @BusinessLog(title = "外部blog系统_统计_查询", opType = LogAnnotionOpTypeEnum.QUERY)
     public ResponseData statistics() {
 
-        //相差一个月,31天
-        long betweenDay = DateUtil.between(DateUtil.parseDate("2020-05-27"), new Date(), DateUnit.DAY);
-        String updateDate;
-        BlogArticle lastUpdateBlog = blogArticleService.lambdaQuery().orderByDesc(BlogArticle::getUpdateDate)
-                .last(" limit 1 ").one();
+        String updateDate = "--";
+        BlogArticle lastUpdateBlog = blogArticleService.lambdaQuery().orderByDesc(BlogArticle::getUpdateDate).last(" limit 1 ").one();
         if (lastUpdateBlog != null && lastUpdateBlog.getUpdateDate() != null) {
             updateDate = DateUtil.formatDate(lastUpdateBlog.getUpdateDate());
-        } else {
-            updateDate = "--";
         }
+
         String startFrom = "从这开始: 2020-05-27 ";
-        String aliveDayCount = "已稳定运行:" + betweenDay + "天";
+        String aliveDayCount = "已稳定运行:" + DateUtil.between(DateUtil.parseDate("2022-02-14"), new Date(), DateUnit.DAY) + "天";
         String lastUpdateDate = "上次更新:" + updateDate;
-        String visitCount = "累计访问:1010次";
-        String visitorCount = "累计访客:1001名";
+        String visitCount = "累计访问:1010次"; //24小时ip 访问次数
+        String visitorCount = "累计访客:1001名";//所有时间ip个数
 
         List<BlogStatisticsVo.simpleVo> res = new ArrayList<>();
         res.add(new BlogStatisticsVo.simpleVo().setName(startFrom));
         res.add(new BlogStatisticsVo.simpleVo().setName(aliveDayCount));
         res.add(new BlogStatisticsVo.simpleVo().setName(lastUpdateDate));
-        res.add(new BlogStatisticsVo.simpleVo().setName(visitCount));
-        res.add(new BlogStatisticsVo.simpleVo().setName(visitorCount));
+//        res.add(new BlogStatisticsVo.simpleVo().setName(visitCount));
+//        res.add(new BlogStatisticsVo.simpleVo().setName(visitorCount));
 
         BlogStatisticsVo statisticsVo = new BlogStatisticsVo();
         statisticsVo.setList(res);
@@ -93,5 +89,39 @@
 
     }
 
+    /**
+     * 查询blog归档
+     *
+     * @author inleft
+     * @date 2022-02-09 18:20:22
+     */
+    @GetMapping("/blog/archive")
+    @BusinessLog(title = "外部blog系统_blog归档_查询", opType = LogAnnotionOpTypeEnum.QUERY)
+    public ResponseData archive(Integer year, Integer month) {
+        //不考虑数据太多的情况,这里应该可以把数据全部捞出来
+
+        List<BlogArticle> articleList = blogArticleService.lambdaQuery()
+                .eq(BlogArticle::getIsEnable, MyConstant.Yes)
+                .eq(BlogArticle::getEditorStatus, MyConstant.Yes)
+//                .eq(year != null,BlogArticle::getSeparateYear, year)
+//                .eq(month != null, BlogArticle::getSeparateMonth, month)
+                .orderByDesc(BlogArticle::getSeparateYear)
+                .groupBy(BlogArticle::getSeparateYear)
+                .select(BlogArticle::getSeparateYear)
+                .list();
+
+        List<BlogArchiveVo> res = new ArrayList<>(articleList.size());
+        BlogArchiveVo blogArchiveVo;
+        for (BlogArticle blogArticle : articleList) {
+
+            blogArchiveVo = new BlogArchiveVo();
+            blogArchiveVo.setYear(blogArticle.getSeparateYear().toString());
+            blogArchiveVo.setList(blogArticleService.searchMonthCount(blogArticle.getSeparateYear()));
+            res.add(blogArchiveVo);
+        }
+
+        return new SuccessResponseData(res);
+    }
+
 
 }

--
Gitblit v1.9.1