From c4cce942213fbafd43ae66d714b9df7ab08a4e02 Mon Sep 17 00:00:00 2001 From: yubinCloud Date: Fri, 30 Apr 2021 15:51:08 +0800 Subject: [PATCH] =?UTF-8?q?11-6=20=E5=90=8E=E7=AB=AF=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E7=BB=9F=E8=AE=A1=E6=95=B0=E5=80=BC=E7=9A=84?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/EbookSnapshotController.java | 31 +++++++++++++++++++ .../fairywiki/dto/resp/StatisticRespDto.java | 18 +++++++++++ .../mapper/EbookSnapshotMapperCustom.java | 6 ++++ .../service/EbookSnapshotService.java | 9 ++++++ .../mapper/EbookSnapshotMapperCustom.xml | 17 ++++++++++ 5 files changed, 81 insertions(+) create mode 100644 src/main/java/io/github/yubincloud/fairywiki/controller/EbookSnapshotController.java create mode 100644 src/main/java/io/github/yubincloud/fairywiki/dto/resp/StatisticRespDto.java diff --git a/src/main/java/io/github/yubincloud/fairywiki/controller/EbookSnapshotController.java b/src/main/java/io/github/yubincloud/fairywiki/controller/EbookSnapshotController.java new file mode 100644 index 0000000..eff2db0 --- /dev/null +++ b/src/main/java/io/github/yubincloud/fairywiki/controller/EbookSnapshotController.java @@ -0,0 +1,31 @@ +package io.github.yubincloud.fairywiki.controller; + + +import io.github.yubincloud.fairywiki.dto.resp.ErrorCode; +import io.github.yubincloud.fairywiki.dto.resp.RestfulModel; +import io.github.yubincloud.fairywiki.dto.resp.StatisticRespDto; +import io.github.yubincloud.fairywiki.service.EbookSnapshotService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.List; + +@RestController +@RequestMapping("/ebook-snapshot") +@Api("电子书快照管理") +public class EbookSnapshotController { + + @Resource + private EbookSnapshotService ebookSnapshotService; + + @GetMapping("/get-statistic") + @ApiOperation(value = "从电子书快照中获取统计数据") + public RestfulModel> getStatistic() { + List statisticRespDtoList = ebookSnapshotService.getStatistic(); + return new RestfulModel<>(ErrorCode.SUCCESS, "", statisticRespDtoList); + } +} diff --git a/src/main/java/io/github/yubincloud/fairywiki/dto/resp/StatisticRespDto.java b/src/main/java/io/github/yubincloud/fairywiki/dto/resp/StatisticRespDto.java new file mode 100644 index 0000000..5facb20 --- /dev/null +++ b/src/main/java/io/github/yubincloud/fairywiki/dto/resp/StatisticRespDto.java @@ -0,0 +1,18 @@ +package io.github.yubincloud.fairywiki.dto.resp; + +import lombok.Data; + +import java.util.Date; + +@Data +public class StatisticRespDto { + private Date date; + + private int viewCount; + + private int voteCount; + + private int viewIncrease; + + private int voteIncrease; +} diff --git a/src/main/java/io/github/yubincloud/fairywiki/mapper/EbookSnapshotMapperCustom.java b/src/main/java/io/github/yubincloud/fairywiki/mapper/EbookSnapshotMapperCustom.java index 6a50b0a..8efbcab 100644 --- a/src/main/java/io/github/yubincloud/fairywiki/mapper/EbookSnapshotMapperCustom.java +++ b/src/main/java/io/github/yubincloud/fairywiki/mapper/EbookSnapshotMapperCustom.java @@ -1,5 +1,11 @@ package io.github.yubincloud.fairywiki.mapper; +import io.github.yubincloud.fairywiki.dto.resp.StatisticRespDto; + +import java.util.List; + public interface EbookSnapshotMapperCustom { void genSnapshot(); + + List getStatistic(); } diff --git a/src/main/java/io/github/yubincloud/fairywiki/service/EbookSnapshotService.java b/src/main/java/io/github/yubincloud/fairywiki/service/EbookSnapshotService.java index 65aa96c..06a6478 100644 --- a/src/main/java/io/github/yubincloud/fairywiki/service/EbookSnapshotService.java +++ b/src/main/java/io/github/yubincloud/fairywiki/service/EbookSnapshotService.java @@ -1,9 +1,11 @@ package io.github.yubincloud.fairywiki.service; +import io.github.yubincloud.fairywiki.dto.resp.StatisticRespDto; import io.github.yubincloud.fairywiki.mapper.EbookSnapshotMapperCustom; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.List; @Service public class EbookSnapshotService { @@ -14,4 +16,11 @@ public class EbookSnapshotService { public void genSnapshots() { ebookSnapshotMapperCustom.genSnapshot(); } + + /** + * 获取首页数值数据:总阅读数、总点赞数、今日阅读数、今日点赞数、今日预计阅读数、今日预计阅读增长 + */ + public List getStatistic() { + return ebookSnapshotMapperCustom.getStatistic(); + } } diff --git a/src/main/resources/mapper/EbookSnapshotMapperCustom.xml b/src/main/resources/mapper/EbookSnapshotMapperCustom.xml index 5856340..70d432f 100644 --- a/src/main/resources/mapper/EbookSnapshotMapperCustom.xml +++ b/src/main/resources/mapper/EbookSnapshotMapperCustom.xml @@ -37,4 +37,21 @@ WHERE t1.`date` = curdate(); + + \ No newline at end of file -- GitLab