From f0beb464c1fd4cf1c6481f86610a6a130b93ead4 Mon Sep 17 00:00:00 2001 From: inleft <inleft@qq.com> Date: Wed, 10 Jan 2024 21:30:14 +0800 Subject: [PATCH] 修订文字 --- snowy-main/src/main/java/vip/xiaonuo/modular/blogStatistics/BlogStatisticsController.java | 71 ++++++++++++++++++++++++++++------- 1 files changed, 57 insertions(+), 14 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 372919e..ef9037b 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 @@ -24,6 +24,7 @@ */ package vip.xiaonuo.modular.blogStatistics; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.DateUnit; import cn.hutool.core.date.DateUtil; import org.springframework.web.bind.annotation.GetMapping; @@ -32,6 +33,7 @@ import vip.xiaonuo.core.annotion.BusinessLog; import vip.xiaonuo.core.consts.MyConstant; import vip.xiaonuo.core.enums.LogAnnotionOpTypeEnum; +import vip.xiaonuo.core.exception.BlogException; import vip.xiaonuo.core.pojo.response.ResponseData; import vip.xiaonuo.core.pojo.response.SuccessResponseData; import vip.xiaonuo.modular.blogStatistics.vo.BlogArchiveDetailVo; @@ -39,11 +41,14 @@ import vip.xiaonuo.modular.blogStatistics.vo.BlogStatisticsVo; import vip.xiaonuo.modular.blogarticle.entity.BlogArticle; import vip.xiaonuo.modular.blogarticle.service.BlogArticleService; +import vip.xiaonuo.modular.blogarticlecomment.entity.BlogArticleComment; +import vip.xiaonuo.modular.blogarticlecomment.service.BlogArticleCommentService; import javax.annotation.Resource; import java.util.*; import java.util.function.Function; import java.util.stream.Collectors; +import java.util.stream.Stream; /** * blog文章控制器 (提供给外部blog系统查询) @@ -58,6 +63,9 @@ @Resource private BlogArticleService blogArticleService; + @Resource + private BlogArticleCommentService commentService; + /** * @author inleft * @date 2022-02-09 18:20:22 @@ -67,14 +75,28 @@ public ResponseData statistics() { String updateDate = "--"; - BlogArticle lastUpdateBlog = blogArticleService.lambdaQuery().orderByDesc(BlogArticle::getUpdateDate).last(" limit 1 ").one(); + BlogArticle lastUpdateBlog = blogArticleService.lambdaQuery().orderByDesc(BlogArticle::getUpdateDate).last(MyConstant.limit).one(); if (lastUpdateBlog != null && lastUpdateBlog.getUpdateDate() != null) { updateDate = DateUtil.formatDate(lastUpdateBlog.getUpdateDate()); } + //新增最近的评论时间 + BlogArticleComment comment = commentService.lambdaQuery() + .eq(BlogArticleComment::getVisitorNickName, MyConstant.inleft) + .orderByDesc(BlogArticleComment::getCreateDate) + .last(MyConstant.limit) + .select(BlogArticleComment::getId, BlogArticleComment::getCreateDate) + .one(); + + if (comment != null && comment.getCreateDate() != null + && lastUpdateBlog != null + && lastUpdateBlog.getCreateDate().before(comment.getCreateDate())) { + updateDate = DateUtil.formatDate(comment.getCreateDate()); + } + String startFrom = "从这开始: 2020-05-27 "; - String aliveDayCount = "已稳定运行:" + DateUtil.between(DateUtil.parseDate("2022-02-14"), new Date(), DateUnit.DAY) + "天"; - String lastUpdateDate = "上次更新:" + updateDate; + String aliveDayCount = "已起航:" + DateUtil.between(DateUtil.parseDate("2022-02-14"), new Date(), DateUnit.DAY) + "天"; + String lastUpdateDate = "上次活跃于:" + updateDate; String visitCount = "累计访问:1010次"; //24小时ip 访问次数 String visitorCount = "累计访客:1001名";//所有时间ip个数 @@ -103,26 +125,29 @@ public ResponseData archive() { //不考虑数据太多的情况,这里应该可以把数据全部捞出来 - List<BlogArticle> articleList = blogArticleService.lambdaQuery() - .eq(BlogArticle::getIsEnable, MyConstant.Yes) - .eq(BlogArticle::getEditorStatus, MyConstant.Yes) - .orderByDesc(BlogArticle::getSeparateYear) - .groupBy(BlogArticle::getSeparateYear) - .select(BlogArticle::getSeparateYear) - .list(); + Integer thisYear = DateUtil.thisYear(); + Integer startYear = blogArticleService.lambdaQuery().orderByAsc(BlogArticle::getSeparateYear).last(MyConstant.limit).one().getSeparateYear(); + List<Integer> yearList = Stream.iterate(thisYear, n -> n - 1).limit(thisYear - startYear + 1).collect(Collectors.toList()); - List<BlogArchiveVo> res = new ArrayList<>(articleList.size()); + List<BlogArchiveVo> res = new ArrayList<>(yearList.size()); BlogArchiveVo blogArchiveVo; - for (BlogArticle blogArticle : articleList) { + List<BlogArchiveDetailVo> tempVoList; + for (Integer year : yearList) { + tempVoList = blogArticleService.searchMonthCount(year); + if (CollUtil.isEmpty(tempVoList)) { + continue; + } blogArchiveVo = new BlogArchiveVo(); - blogArchiveVo.setYear(blogArticle.getSeparateYear().toString()); - blogArchiveVo.setList(blogArticleService.searchMonthCount(blogArticle.getSeparateYear())); + blogArchiveVo.setYear(year.toString()); + blogArchiveVo.setList(tempVoList); + res.add(blogArchiveVo); } return new SuccessResponseData(res); } + @GetMapping("/blog/archiveGroup") @BusinessLog(title = "外部blog系统_blog归档组列表_查询", opType = LogAnnotionOpTypeEnum.QUERY) @@ -133,6 +158,7 @@ .eq(BlogArticle::getEditorStatus, MyConstant.Yes) .eq(year != null, BlogArticle::getSeparateYear, year) .eq(month != null, BlogArticle::getSeparateMonth, month) + .le(BlogArticle::getPublishDate, DateUtil.date()) .orderByDesc(BlogArticle::getSeparateYear) .orderByDesc(BlogArticle::getSeparateMonth) .select(BlogArticle::getId, BlogArticle::getTitle, @@ -183,4 +209,21 @@ return new SuccessResponseData(res); } + + @GetMapping("/blog/option") + @BusinessLog(title = "外部blog系统_blog统计数据_添加", opType = LogAnnotionOpTypeEnum.EDIT) + public ResponseData option(Long articleId, Integer option) { + BlogArticle find = blogArticleService.lambdaQuery() + .eq(BlogArticle::getIsEnable, MyConstant.Yes) + .eq(BlogArticle::getEditorStatus, MyConstant.Yes) + .eq(BlogArticle::getId, articleId) + .one(); + if (find == null) { + throw new BlogException("查询不到相关日志"); + } + /** + * 同一个ip,24小时之内只统计一次 访问次数,访问人数(ip) + */ + return null; + } } -- Gitblit v1.9.1