diff --git a/.idea/encodings.xml b/.idea/encodings.xml
index f6720fb..326bdc2 100644
--- a/.idea/encodings.xml
+++ b/.idea/encodings.xml
@@ -3,18 +3,23 @@
+
+
+
+
+
-
\ No newline at end of file
+
diff --git a/1068-yexiu-read-model-mybatis/src/main/java/com/yuexiu/secp/read/infra/constant/ArticleConstant.java b/1068-yexiu-read-model-mybatis/src/main/java/com/yuexiu/secp/read/infra/constant/ArticleConstant.java
new file mode 100644
index 0000000..5325a01
--- /dev/null
+++ b/1068-yexiu-read-model-mybatis/src/main/java/com/yuexiu/secp/read/infra/constant/ArticleConstant.java
@@ -0,0 +1,21 @@
+package com.yuexiu.secp.read.infra.constant;
+
+public class ArticleConstant {
+
+ //前缀
+ public final static String SIE = "SIE";
+
+ //阅读标记
+ public final static String READ = "READ";
+
+ //分享标记
+ public final static String SHARE = "SHARE";
+
+ //所有的文章信息标记
+ public final static String ARTICLE = "ARTICLE";
+
+ //我已推荐的文章标记
+ public final static String RECOMMEND = "RECOMMEND";
+
+
+}
diff --git a/1068-yexiu-read-model-mybatis/src/main/java/com/yuexiu/secp/read/model/dao/ArticleDao.java b/1068-yexiu-read-model-mybatis/src/main/java/com/yuexiu/secp/read/model/dao/ArticleDao.java
new file mode 100644
index 0000000..c200ac8
--- /dev/null
+++ b/1068-yexiu-read-model-mybatis/src/main/java/com/yuexiu/secp/read/model/dao/ArticleDao.java
@@ -0,0 +1,17 @@
+package com.yuexiu.secp.read.model.dao;
+
+import com.sie.iot.common.model.dao.BaseCommonDAO_HI;
+import com.yuexiu.secp.read.model.entities.ArticleEntity;
+import com.yuexiu.secp.read.model.entities.ArticlePreviewEntity;
+import org.apache.ibatis.annotations.Select;
+import org.springframework.stereotype.Component;
+
+/**
+ * 文章信息Dao
+ */
+@Component("ArticleDao")
+public interface ArticleDao extends BaseCommonDAO_HI {
+
+ @Select("select count(1) from yxh_article where promotion_status = 1 and task_status = 1")
+ int findRecommend();
+}
diff --git a/1068-yexiu-read-model-mybatis/src/main/java/com/yuexiu/secp/read/model/dao/ArticleGatherDao.java b/1068-yexiu-read-model-mybatis/src/main/java/com/yuexiu/secp/read/model/dao/ArticleGatherDao.java
new file mode 100644
index 0000000..7d157c6
--- /dev/null
+++ b/1068-yexiu-read-model-mybatis/src/main/java/com/yuexiu/secp/read/model/dao/ArticleGatherDao.java
@@ -0,0 +1,11 @@
+package com.yuexiu.secp.read.model.dao;
+
+import com.sie.iot.common.model.dao.BaseCommonDAO_HI;
+import com.yuexiu.secp.read.model.entities.ArticleGatherEntity;
+import org.springframework.stereotype.Component;
+
+@Component("ArticleGatherDao")
+public interface ArticleGatherDao extends BaseCommonDAO_HI {
+
+
+}
diff --git a/1068-yexiu-read-model-mybatis/src/main/java/com/yuexiu/secp/read/model/dao/ArticlePreviewDao.java b/1068-yexiu-read-model-mybatis/src/main/java/com/yuexiu/secp/read/model/dao/ArticlePreviewDao.java
index e310320..324feed 100644
--- a/1068-yexiu-read-model-mybatis/src/main/java/com/yuexiu/secp/read/model/dao/ArticlePreviewDao.java
+++ b/1068-yexiu-read-model-mybatis/src/main/java/com/yuexiu/secp/read/model/dao/ArticlePreviewDao.java
@@ -1,13 +1,14 @@
package com.yuexiu.secp.read.model.dao;
-import com.yuexiu.secp.read.model.entities.readonly.ArticlePreview;
+import com.yuexiu.secp.read.model.entities.ArticlePreviewEntity;
import com.sie.iot.common.model.dao.BaseCommonDAO_HI;
-import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Component;
+/**
+ * 文章信息预览Dao
+ */
@Component("ArticlePreviewDao")
-public interface ArticlePreviewDao extends BaseCommonDAO_HI {
+public interface ArticlePreviewDao extends BaseCommonDAO_HI {
+
- @Select("select count(1) from yxh_article where promotion_status = 1 and task_status = 1")
- int findRecommend();
}
diff --git a/1068-yexiu-read-model-mybatis/src/main/java/com/yuexiu/secp/read/model/entities/ArticleEntity.java b/1068-yexiu-read-model-mybatis/src/main/java/com/yuexiu/secp/read/model/entities/ArticleEntity.java
index c9c146d..b6be44d 100644
--- a/1068-yexiu-read-model-mybatis/src/main/java/com/yuexiu/secp/read/model/entities/ArticleEntity.java
+++ b/1068-yexiu-read-model-mybatis/src/main/java/com/yuexiu/secp/read/model/entities/ArticleEntity.java
@@ -2,12 +2,16 @@ package com.yuexiu.secp.read.model.entities;
import java.util.Date;
import com.alibaba.fastjson.annotation.JSONField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.sie.iot.common.idgenerate.GeneratedKeyValue;
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
-/**
- * YxhArticleEntity_MY Entity Object
- * Tue May 10 15:09:48 CST 2022 Auto Generate
- */
+@Data
+@TableName("yxh_article")
+@GeneratedKeyValue
+@ApiModel(value = "文章信息表")
public class ArticleEntity {
private Long articleId;
private String publishUnit;
diff --git a/1068-yexiu-read-model-mybatis/src/main/java/com/yuexiu/secp/read/model/entities/ArticleGatherEntity.java b/1068-yexiu-read-model-mybatis/src/main/java/com/yuexiu/secp/read/model/entities/ArticleGatherEntity.java
new file mode 100644
index 0000000..e145a38
--- /dev/null
+++ b/1068-yexiu-read-model-mybatis/src/main/java/com/yuexiu/secp/read/model/entities/ArticleGatherEntity.java
@@ -0,0 +1,158 @@
+package com.yuexiu.secp.read.model.entities;
+
+import java.util.Date;
+import com.alibaba.fastjson.annotation.JSONField;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.sie.iot.common.idgenerate.GeneratedKeyValue;
+import com.sie.iot.common.model.entity.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+/**
+ * 文章推广汇总表
+ */
+@Data
+@TableName("yxh_article_gather")
+@GeneratedKeyValue
+@ApiModel(value = "文章推广汇总表")
+public class ArticleGatherEntity extends BaseEntity {
+ @TableId(value = "article_gather_id", type = IdType.ASSIGN_ID)
+ private Long articleGatherId;
+ private Long articleId;
+ private Integer readCount;
+ private Integer totalPoint;
+ private Integer shareCount;
+ private Integer thumbsCount;
+ private Long tenantId;
+ private Long createdBy;
+ @JSONField(format = "yyyy-MM-dd HH:mm:ss")
+ private Date creationDate;
+ private Long lastUpdatedBy;
+ @JSONField(format = "yyyy-MM-dd HH:mm:ss")
+ private Date lastUpdateDate;
+ private Long lastUpdateLogin;
+ private Integer deleteFlag;
+
+ public void setArticleGatherId(Long articleGatherId) {
+ this.articleGatherId = articleGatherId;
+ }
+
+
+
+ public Long getArticleGatherId() {
+ return articleGatherId;
+ }
+
+ public void setArticleId(Long articleId) {
+ this.articleId = articleId;
+ }
+
+
+ public Long getArticleId() {
+ return articleId;
+ }
+
+ public void setReadCount(Integer readCount) {
+ this.readCount = readCount;
+ }
+
+
+ public Integer getReadCount() {
+ return readCount;
+ }
+
+ public void setTotalPoint(Integer totalPoint) {
+ this.totalPoint = totalPoint;
+ }
+
+
+ public Integer getTotalPoint() {
+ return totalPoint;
+ }
+
+ public void setShareCount(Integer shareCount) {
+ this.shareCount = shareCount;
+ }
+
+
+ public Integer getShareCount() {
+ return shareCount;
+ }
+
+ public void setThumbsCount(Integer thumbsCount) {
+ this.thumbsCount = thumbsCount;
+ }
+
+
+ public Integer getThumbsCount() {
+ return thumbsCount;
+ }
+
+ public void setTenantId(Long tenantId) {
+ this.tenantId = tenantId;
+ }
+
+
+ public Long getTenantId() {
+ return tenantId;
+ }
+
+ public void setCreatedBy(Long createdBy) {
+ this.createdBy = createdBy;
+ }
+
+
+ public Long getCreatedBy() {
+ return createdBy;
+ }
+
+ public void setCreationDate(Date creationDate) {
+ this.creationDate = creationDate;
+ }
+
+
+ public Date getCreationDate() {
+ return creationDate;
+ }
+
+ public void setLastUpdatedBy(Long lastUpdatedBy) {
+ this.lastUpdatedBy = lastUpdatedBy;
+ }
+
+
+ public Long getLastUpdatedBy() {
+ return lastUpdatedBy;
+ }
+
+ public void setLastUpdateDate(Date lastUpdateDate) {
+ this.lastUpdateDate = lastUpdateDate;
+ }
+
+
+ public Date getLastUpdateDate() {
+ return lastUpdateDate;
+ }
+
+ public void setLastUpdateLogin(Long lastUpdateLogin) {
+ this.lastUpdateLogin = lastUpdateLogin;
+ }
+
+
+ public Long getLastUpdateLogin() {
+ return lastUpdateLogin;
+ }
+
+ public void setDeleteFlag(Integer deleteFlag) {
+ this.deleteFlag = deleteFlag;
+ }
+
+
+ public Integer getDeleteFlag() {
+ return deleteFlag;
+ }
+
+
+}
+
diff --git a/1068-yexiu-read-model-mybatis/src/main/java/com/yuexiu/secp/read/model/entities/ArticlePreviewContentEntity.java b/1068-yexiu-read-model-mybatis/src/main/java/com/yuexiu/secp/read/model/entities/ArticlePreviewContentEntity.java
index 4353df5..64e680a 100644
--- a/1068-yexiu-read-model-mybatis/src/main/java/com/yuexiu/secp/read/model/entities/ArticlePreviewContentEntity.java
+++ b/1068-yexiu-read-model-mybatis/src/main/java/com/yuexiu/secp/read/model/entities/ArticlePreviewContentEntity.java
@@ -1,6 +1,5 @@
package com.yuexiu.secp.read.model.entities;
-import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
@@ -11,7 +10,6 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
-import java.util.Date;
@Data
@TableName("yx_article_preview_content")
diff --git a/2068-yexiu-read-api/src/main/java/com/yuexiu/secp/read/dto/ArticleAddCountDto.java b/2068-yexiu-read-api/src/main/java/com/yuexiu/secp/read/dto/ArticleAddCountDto.java
new file mode 100644
index 0000000..9afb772
--- /dev/null
+++ b/2068-yexiu-read-api/src/main/java/com/yuexiu/secp/read/dto/ArticleAddCountDto.java
@@ -0,0 +1,23 @@
+package com.yuexiu.secp.read.dto;
+/**
+ * 用于增加文章统计数 + 1
+ */
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+
+@Data
+@NoArgsConstructor
+@ApiModel(value = "增加文章统计数Dto")
+public class ArticleAddCountDto {
+
+ @ApiModelProperty(value = "文章id")
+ private String articleId;
+
+ @ApiModelProperty(value = "类型 - 1:阅读数 2:分享数")
+ private Integer type;
+
+}
diff --git a/2068-yexiu-read-api/src/main/java/com/yuexiu/secp/read/vo/StatisticsRespVo.java b/2068-yexiu-read-api/src/main/java/com/yuexiu/secp/read/vo/StatisticsRespVo.java
new file mode 100644
index 0000000..3fac1e0
--- /dev/null
+++ b/2068-yexiu-read-api/src/main/java/com/yuexiu/secp/read/vo/StatisticsRespVo.java
@@ -0,0 +1,23 @@
+package com.yuexiu.secp.read.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * 封装统计数返回对象
+ */
+@Data
+@NoArgsConstructor
+public class StatisticsRespVo {
+
+ @ApiModelProperty(value = "文章id")
+ private String articleId;
+
+ @ApiModelProperty(value = "阅读数")
+ private String read;
+
+ @ApiModelProperty(value = "分享数")
+ private String share;
+
+}
diff --git a/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/controller/ArticleController.java b/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/controller/ArticleController.java
index 3d77c73..9315d1d 100644
--- a/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/controller/ArticleController.java
+++ b/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/controller/ArticleController.java
@@ -17,7 +17,7 @@ import java.util.List;
@Validated
@Api(value = "阅读有礼-文章", tags = "阅读有礼-文章")
@RestController
-@RequestMapping("/read/article")
+@RequestMapping("/ArticleController")
public class ArticleController {
@@ -51,4 +51,6 @@ public class ArticleController {
+
+
}
diff --git a/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/controller/ArticleGatherController.java b/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/controller/ArticleGatherController.java
new file mode 100644
index 0000000..1d72931
--- /dev/null
+++ b/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/controller/ArticleGatherController.java
@@ -0,0 +1,45 @@
+package com.yuexiu.secp.read.controller;
+
+
+import com.sie.iot.common.secure.annotation.CheckToken;
+import com.yuexiu.secp.read.dto.ArticleAddCountDto;
+import com.yuexiu.secp.read.model.service.IArticleGatherServer;
+import com.yuexiu.secp.read.vo.StatisticsRespVo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+
+@Validated
+@Api(value = "阅读有礼-文章推广汇总", tags = "阅读有礼-文章推广汇总")
+@RestController
+@RequestMapping("/ArticleGatherController")
+public class ArticleGatherController {
+
+
+ @Autowired
+ private IArticleGatherServer iArticleGatherServer;
+
+ @ApiOperation(value = "根据文章id阅读数和分享数", notes = "根据文章id阅读数和分享数")
+ @GetMapping(value = "/find/{articleId}/count")
+ @CheckToken
+ public StatisticsRespVo findByArticleIdCount(@PathVariable Long articleId) {
+ return iArticleGatherServer.findByArticleIdCount(articleId);
+ }
+
+
+ /**
+ * 根据文章id增加相关的文章阅读数和分享数
+ */
+ @ApiOperation(value = "根据文章id增加相关的文章阅读数和分享数", notes = "根据文章id增加相关的文章阅读数和分享数")
+ @PostMapping(value = "/add/ArticleCount")
+ @CheckToken
+ public void addArticleCount(@RequestBody ArticleAddCountDto articlePreviewDto) {
+ iArticleGatherServer.addArticleCount(articlePreviewDto);
+
+ }
+
+
+}
diff --git a/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/controller/ArticleStatisticsController.java b/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/controller/ArticleStatisticsController.java
deleted file mode 100644
index 0738a68..0000000
--- a/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/controller/ArticleStatisticsController.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package com.yuexiu.secp.read.controller;
-
-import com.sie.iot.common.bean.ResponseData;
-import com.sie.iot.common.secure.annotation.CheckToken;
-import com.yuexiu.secp.read.model.service.IArticleServer;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-@Validated
-@Api(value = "阅读有礼文章统计数", tags = "阅读有礼文章统计数")
-@RestController
-@RequestMapping("/read/")
-public class ArticleStatisticsController {
-
-
- @Autowired
- private IArticleServer iArticleServer;
-
- @ApiOperation(value = "根据文章id获取统计数", notes = "根据文章id获取统计数")
- @GetMapping(value = "/find/{articleId}/count")
- @CheckToken
- public ResponseData findByArticleIdCount(@PathVariable Long articleId) {
- iArticleServer.findByArticleIdCount(articleId);
- return null;
- }
-
-}
diff --git a/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/model/service/IArticleGatherServer.java b/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/model/service/IArticleGatherServer.java
new file mode 100644
index 0000000..87f54a8
--- /dev/null
+++ b/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/model/service/IArticleGatherServer.java
@@ -0,0 +1,29 @@
+package com.yuexiu.secp.read.model.service;
+
+import com.yuexiu.secp.read.dto.ArticleAddCountDto;
+import com.yuexiu.secp.read.model.entities.ArticleGatherEntity;
+import com.yuexiu.secp.read.vo.StatisticsRespVo;
+
+public interface IArticleGatherServer {
+
+ /**
+ * 根据类型和文章id,获取统计数
+ * @param articleId
+ */
+ String findByArticleIdAndTypeCount(Long articleId , int type);
+
+ /**
+ * 根据文章id获取相关统计数
+ * @param articleId
+ */
+ StatisticsRespVo findByArticleIdCount(Long articleId);
+
+
+ /**
+ * 根据文章和类型,增加相关的统计数
+ * @param articlePreviewDto
+ */
+ void addArticleCount(ArticleAddCountDto articlePreviewDto);
+
+
+}
diff --git a/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/model/service/IArticlePreview.java b/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/model/service/IArticlePreview.java
index 38d75f0..8e0512b 100644
--- a/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/model/service/IArticlePreview.java
+++ b/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/model/service/IArticlePreview.java
@@ -3,7 +3,6 @@ package com.yuexiu.secp.read.model.service;
import com.sie.iot.common.model.inter.IBaseCommon;
import com.yuexiu.secp.read.dto.ArticlePreviewDto;
-import com.yuexiu.secp.read.dto.RecommendDto;
import com.yuexiu.secp.read.model.entities.ArticlePreviewEntity;
import com.yuexiu.secp.read.model.entities.CostUnitEntity;
diff --git a/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/model/service/IArticleServer.java b/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/model/service/IArticleServer.java
index 0bdc80e..f7421e6 100644
--- a/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/model/service/IArticleServer.java
+++ b/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/model/service/IArticleServer.java
@@ -3,7 +3,6 @@ package com.yuexiu.secp.read.model.service;
import com.yuexiu.secp.read.dto.ArticleQueryDto;
-import com.yuexiu.secp.read.dto.RecommendDto;
import com.yuexiu.secp.read.model.entities.ArticleEntity;
@@ -16,6 +15,4 @@ public interface IArticleServer {
List findPrevious(ArticleQueryDto articleQueryDto);
-
- void findByArticleIdCount(Long articleId);
}
diff --git a/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/model/service/impl/ArticleGatherServer.java b/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/model/service/impl/ArticleGatherServer.java
new file mode 100644
index 0000000..9bedfeb
--- /dev/null
+++ b/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/model/service/impl/ArticleGatherServer.java
@@ -0,0 +1,96 @@
+package com.yuexiu.secp.read.model.service.impl;
+
+import com.itextpdf.text.log.Logger;
+import com.itextpdf.text.log.LoggerFactory;
+import com.sie.iot.common.model.inter.server.BaseCommonServer;
+import com.yuexiu.secp.read.dto.ArticleAddCountDto;
+import com.yuexiu.secp.read.infra.constant.ArticleConstant;
+import com.yuexiu.secp.read.infra.util.RedisUtils;
+import com.yuexiu.secp.read.model.entities.ArticleGatherEntity;
+import com.yuexiu.secp.read.model.service.IArticleGatherServer;
+import com.yuexiu.secp.read.vo.StatisticsRespVo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.StringRedisTemplate;
+import org.springframework.stereotype.Service;
+import org.springframework.util.StringUtils;
+
+@Service
+public class ArticleGatherServer extends BaseCommonServer implements IArticleGatherServer {
+
+ private static final Logger LOGGER = LoggerFactory.getLogger(ArticleGatherServer.class);
+
+ //阅读标记
+ public final static Integer READ_TYPE = 1;
+
+ //阅读标记
+ public final static Integer SHARE_TYPE = 2;
+
+
+ /**
+ * redis
+ */
+ @Autowired
+ private StringRedisTemplate redisTemplate;
+
+
+ /**
+ * 获取文章统计数
+ * type:
+ * 1:阅读数
+ * 2:转发数
+ *
+ * @param articleId
+ */
+ public String findByArticleIdAndTypeCount(Long articleId, int type) {
+ LOGGER.info("articleId : {}" + articleId + "type --> {}" + type);
+ String count = "";
+ if (type == READ_TYPE) {
+ count = redisTemplate.opsForValue().get(RedisUtils.getRedisKey(ArticleConstant.SIE, ArticleConstant.READ, String.valueOf(articleId)));
+ } else if (type == SHARE_TYPE) {
+ count = redisTemplate.opsForValue().get(RedisUtils.getRedisKey(ArticleConstant.SIE, ArticleConstant.SHARE, String.valueOf(articleId)));
+ }
+ return count;
+ }
+
+ /**
+ * 根据文章id获取相关统计数
+ *
+ * @param articleId
+ */
+ @Override
+ public StatisticsRespVo findByArticleIdCount(Long articleId) {
+ LOGGER.info("articleId : {}" + articleId);
+
+ StatisticsRespVo statisticsRespVo = new StatisticsRespVo();
+ //获取阅读数
+ String read = this.findByArticleIdAndTypeCount(articleId, READ_TYPE);
+ String share = this.findByArticleIdAndTypeCount(articleId, SHARE_TYPE);
+ LOGGER.info("该文章id:" + articleId + "获取到的阅读数:" + read + "和分享数:" + share);
+ //组装数据
+ statisticsRespVo.setRead(!StringUtils.isEmpty(read) ? read : "0");
+ statisticsRespVo.setShare(!StringUtils.isEmpty(share) ? read : "0");
+
+ return statisticsRespVo;
+
+ }
+
+
+ /**
+ * 根据文章和类型,增加相关的统计数
+ *
+ * @param articlePreviewDto
+ */
+ @Override
+ public void addArticleCount(ArticleAddCountDto articlePreviewDto) {
+ LOGGER.info("articlePreviewDto : {}" + articlePreviewDto);
+ if (articlePreviewDto.getType() == READ_TYPE) {
+ redisTemplate.opsForValue().increment(RedisUtils.getRedisKey(ArticleConstant.SIE, ArticleConstant.READ, articlePreviewDto.getArticleId()), 1L);
+ } else if (articlePreviewDto.getType() == SHARE_TYPE) {
+ redisTemplate.opsForValue().increment(RedisUtils.getRedisKey(ArticleConstant.SIE, ArticleConstant.SHARE, articlePreviewDto.getArticleId()), 1L);
+ } else {
+ LOGGER.error("传参有误,没有定义该类型:" + articlePreviewDto.getType());
+ }
+ }
+
+
+}
diff --git a/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/model/service/impl/ArticleServer.java b/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/model/service/impl/ArticleServer.java
index a56db33..fc8790a 100644
--- a/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/model/service/impl/ArticleServer.java
+++ b/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/model/service/impl/ArticleServer.java
@@ -4,8 +4,9 @@ package com.yuexiu.secp.read.model.service.impl;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.common.collect.Iterables;
import com.yuexiu.secp.read.dto.ArticleQueryDto;
+import com.yuexiu.secp.read.infra.constant.ArticleConstant;
import com.yuexiu.secp.read.infra.util.RedisUtils;
-import com.yuexiu.secp.read.model.dao.ArticlePreviewDao;
+import com.yuexiu.secp.read.model.dao.ArticleDao;
import com.yuexiu.secp.read.model.entities.ArticleEntity;
import com.yuexiu.secp.read.model.service.IArticleServer;
@@ -36,7 +37,7 @@ public class ArticleServer implements IArticleServer{
* 文章DAO
*/
@Autowired
- private ArticlePreviewDao articlePreviewDao;
+ private ArticleDao articleDao;
/**
@@ -55,16 +56,16 @@ public class ArticleServer implements IArticleServer{
List dataList = new ArrayList<>();
//查询是否有最新推荐
- int count = articlePreviewDao.findRecommend();
+ int count = articleDao.findRecommend();
if (count < 1) {
return null;
}
//获取当前登录用户
//获取我已推荐的文章
- Set recommendIdList = redisTemplate.opsForSet().members(RedisUtils.getRedisKey("SIE" , "RECOMMEND" ,String.valueOf(articleQueryDto.getUserId())));
+ Set recommendIdList = redisTemplate.opsForSet().members(RedisUtils.getRedisKey(ArticleConstant.SIE , ArticleConstant.RECOMMEND ,String.valueOf(articleQueryDto.getUserId())));
//获取所有文章的信息
- Map