diff --git a/1068-yexiu-read-model-mybatis/1068-yexiu-read-model-mybatis.iml b/1068-yexiu-read-model-mybatis/1068-yexiu-read-model-mybatis.iml
index 84be0df..30b0184 100644
--- a/1068-yexiu-read-model-mybatis/1068-yexiu-read-model-mybatis.iml
+++ b/1068-yexiu-read-model-mybatis/1068-yexiu-read-model-mybatis.iml
@@ -9,6 +9,7 @@
+
diff --git a/1068-yexiu-read-model-mybatis/src/main/java/com/yuexiu/secp/read/infra/util/RedisUtils.java b/1068-yexiu-read-model-mybatis/src/main/java/com/yuexiu/secp/read/infra/util/RedisUtils.java
new file mode 100644
index 0000000..48d36e0
--- /dev/null
+++ b/1068-yexiu-read-model-mybatis/src/main/java/com/yuexiu/secp/read/infra/util/RedisUtils.java
@@ -0,0 +1,39 @@
+package com.yuexiu.secp.read.infra.util;
+
+import com.google.common.base.Joiner;
+import com.google.common.collect.Lists;
+import org.apache.commons.lang.StringUtils;
+
+import java.util.ArrayList;
+
+/**
+ * 生成key的工具类
+ */
+public class RedisUtils {
+ //分隔符
+ public final static String split = ":";
+ public static String getRedisKey(String... name) {
+ StringBuffer sb = new StringBuffer();
+ for (String str : name) {
+ if (StringUtils.isNotBlank(str)) {
+ sb.append(str);
+ sb.append(split);
+ }
+ }
+ sb = sb.deleteCharAt(sb.lastIndexOf(split));
+
+ return sb.toString();
+ }
+
+ public static String getRedisKeyJoin(String... name){
+ ArrayList strlist = Lists.newArrayList();
+ for (String str : name) {
+ if (StringUtils.isNotBlank(str)) {
+ strlist.add(str);
+ }
+ }
+ return Joiner.on("_").join(strlist);
+ }
+
+
+}
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 3277bfb..e310320 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,13 @@
package com.yuexiu.secp.read.model.dao;
+import com.yuexiu.secp.read.model.entities.readonly.ArticlePreview;
import com.sie.iot.common.model.dao.BaseCommonDAO_HI;
-import com.yuexiu.secp.read.model.entities.ArticlePreviewEntity;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Component;
@Component("ArticlePreviewDao")
-public interface ArticlePreviewDao extends BaseCommonDAO_HI {
+public interface ArticlePreviewDao extends BaseCommonDAO_HI {
- @Select("select * from sie_article_preview where promotion_status = 1 and task_status = 1")
+ @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
new file mode 100644
index 0000000..c9c146d
--- /dev/null
+++ b/1068-yexiu-read-model-mybatis/src/main/java/com/yuexiu/secp/read/model/entities/ArticleEntity.java
@@ -0,0 +1,392 @@
+package com.yuexiu.secp.read.model.entities;
+
+import java.util.Date;
+import com.alibaba.fastjson.annotation.JSONField;
+
+/**
+ * YxhArticleEntity_MY Entity Object
+ * Tue May 10 15:09:48 CST 2022 Auto Generate
+ */
+
+public class ArticleEntity {
+ private Long articleId;
+ private String publishUnit;
+ private String articleTitle;
+ @JSONField(format = "yyyy-MM-dd HH:mm:ss")
+ private Date spreadBeginTime;
+ @JSONField(format = "yyyy-MM-dd HH:mm:ss")
+ private Date spreadEndTime;
+ private Integer shareType;
+ private String copywrite1;
+ private String copywrite2;
+ private String copywrite3;
+ private String copywrite4;
+ private String copywrite5;
+ private String shareTitle;
+ private String shareImg;
+ @JSONField(format = "yyyy-MM-dd HH:mm:ss")
+ private Date releaseTime;
+ @JSONField(format = "yyyy-MM-dd HH:mm:ss")
+ private Date releaseTaskTime;
+ private Integer releaseTaskUser;
+ @JSONField(format = "yyyy-MM-dd HH:mm:ss")
+ private Date endTaskTime;
+ private Integer endTaskUser;
+ private Integer taskStatus;
+ private Integer promotionStatus;
+ private Integer approvalStatus;
+ private Integer approvalUser;
+ @JSONField(format = "yyyy-MM-dd HH:mm:ss")
+ private Date approvalTime;
+ private Integer articleType;
+ private String articleTypeAlias;
+ private String authorName;
+ private String authorLogo;
+ private String articleUrl;
+ private String codeImg;
+ 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;
+ private Integer versionNum;
+
+ public void setArticleId(Long articleId) {
+ this.articleId = articleId;
+ }
+
+
+
+ public Long getArticleId() {
+ return articleId;
+ }
+
+ public void setPublishUnit(String publishUnit) {
+ this.publishUnit = publishUnit;
+ }
+
+
+ public String getPublishUnit() {
+ return publishUnit;
+ }
+
+ public void setArticleTitle(String articleTitle) {
+ this.articleTitle = articleTitle;
+ }
+
+
+ public String getArticleTitle() {
+ return articleTitle;
+ }
+
+ public void setSpreadBeginTime(Date spreadBeginTime) {
+ this.spreadBeginTime = spreadBeginTime;
+ }
+
+
+ public Date getSpreadBeginTime() {
+ return spreadBeginTime;
+ }
+
+ public void setSpreadEndTime(Date spreadEndTime) {
+ this.spreadEndTime = spreadEndTime;
+ }
+
+
+ public Date getSpreadEndTime() {
+ return spreadEndTime;
+ }
+
+ public void setShareType(Integer shareType) {
+ this.shareType = shareType;
+ }
+
+
+ public Integer getShareType() {
+ return shareType;
+ }
+
+ public void setCopywrite1(String copywrite1) {
+ this.copywrite1 = copywrite1;
+ }
+
+
+ public String getCopywrite1() {
+ return copywrite1;
+ }
+
+ public void setCopywrite2(String copywrite2) {
+ this.copywrite2 = copywrite2;
+ }
+
+
+ public String getCopywrite2() {
+ return copywrite2;
+ }
+
+ public void setCopywrite3(String copywrite3) {
+ this.copywrite3 = copywrite3;
+ }
+
+
+ public String getCopywrite3() {
+ return copywrite3;
+ }
+
+ public void setCopywrite4(String copywrite4) {
+ this.copywrite4 = copywrite4;
+ }
+
+
+ public String getCopywrite4() {
+ return copywrite4;
+ }
+
+ public void setCopywrite5(String copywrite5) {
+ this.copywrite5 = copywrite5;
+ }
+
+
+ public String getCopywrite5() {
+ return copywrite5;
+ }
+
+ public void setShareTitle(String shareTitle) {
+ this.shareTitle = shareTitle;
+ }
+
+
+ public String getShareTitle() {
+ return shareTitle;
+ }
+
+ public void setShareImg(String shareImg) {
+ this.shareImg = shareImg;
+ }
+
+
+ public String getShareImg() {
+ return shareImg;
+ }
+
+ public void setReleaseTime(Date releaseTime) {
+ this.releaseTime = releaseTime;
+ }
+
+
+ public Date getReleaseTime() {
+ return releaseTime;
+ }
+
+ public void setReleaseTaskTime(Date releaseTaskTime) {
+ this.releaseTaskTime = releaseTaskTime;
+ }
+
+
+ public Date getReleaseTaskTime() {
+ return releaseTaskTime;
+ }
+
+ public void setReleaseTaskUser(Integer releaseTaskUser) {
+ this.releaseTaskUser = releaseTaskUser;
+ }
+
+
+ public Integer getReleaseTaskUser() {
+ return releaseTaskUser;
+ }
+
+ public void setEndTaskTime(Date endTaskTime) {
+ this.endTaskTime = endTaskTime;
+ }
+
+
+ public Date getEndTaskTime() {
+ return endTaskTime;
+ }
+
+ public void setEndTaskUser(Integer endTaskUser) {
+ this.endTaskUser = endTaskUser;
+ }
+
+
+ public Integer getEndTaskUser() {
+ return endTaskUser;
+ }
+
+ public void setTaskStatus(Integer taskStatus) {
+ this.taskStatus = taskStatus;
+ }
+
+
+ public Integer getTaskStatus() {
+ return taskStatus;
+ }
+
+ public void setPromotionStatus(Integer promotionStatus) {
+ this.promotionStatus = promotionStatus;
+ }
+
+
+ public Integer getPromotionStatus() {
+ return promotionStatus;
+ }
+
+ public void setApprovalStatus(Integer approvalStatus) {
+ this.approvalStatus = approvalStatus;
+ }
+
+
+ public Integer getApprovalStatus() {
+ return approvalStatus;
+ }
+
+ public void setApprovalUser(Integer approvalUser) {
+ this.approvalUser = approvalUser;
+ }
+
+
+ public Integer getApprovalUser() {
+ return approvalUser;
+ }
+
+ public void setApprovalTime(Date approvalTime) {
+ this.approvalTime = approvalTime;
+ }
+
+
+ public Date getApprovalTime() {
+ return approvalTime;
+ }
+
+ public void setArticleType(Integer articleType) {
+ this.articleType = articleType;
+ }
+
+
+ public Integer getArticleType() {
+ return articleType;
+ }
+
+ public void setArticleTypeAlias(String articleTypeAlias) {
+ this.articleTypeAlias = articleTypeAlias;
+ }
+
+
+ public String getArticleTypeAlias() {
+ return articleTypeAlias;
+ }
+
+ public void setAuthorName(String authorName) {
+ this.authorName = authorName;
+ }
+
+
+ public String getAuthorName() {
+ return authorName;
+ }
+
+ public void setAuthorLogo(String authorLogo) {
+ this.authorLogo = authorLogo;
+ }
+
+
+ public String getAuthorLogo() {
+ return authorLogo;
+ }
+
+ public void setArticleUrl(String articleUrl) {
+ this.articleUrl = articleUrl;
+ }
+
+
+ public String getArticleUrl() {
+ return articleUrl;
+ }
+
+ public void setCodeImg(String codeImg) {
+ this.codeImg = codeImg;
+ }
+
+
+ public String getCodeImg() {
+ return codeImg;
+ }
+
+ 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;
+ }
+
+ public void setVersionNum(Integer versionNum) {
+ this.versionNum = versionNum;
+ }
+
+
+ public Integer getVersionNum() {
+ return versionNum;
+ }
+}
+
diff --git a/2068-yexiu-read-api/src/main/java/com/yuexiu/secp/read/dto/ArticleQueryDto.java b/2068-yexiu-read-api/src/main/java/com/yuexiu/secp/read/dto/ArticleQueryDto.java
new file mode 100644
index 0000000..a9ef622
--- /dev/null
+++ b/2068-yexiu-read-api/src/main/java/com/yuexiu/secp/read/dto/ArticleQueryDto.java
@@ -0,0 +1,32 @@
+package com.yuexiu.secp.read.dto;
+/**
+ * 查询最新推荐和我已推荐的Dto
+ */
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+
+@Data
+@NoArgsConstructor
+@ApiModel(value = "查询最新推荐和我已推荐的Dto")
+public class ArticleQueryDto {
+
+ @ApiModelProperty(value = "推广状态")
+ private int promotionStatus;
+
+ @ApiModelProperty(value = "任务状态")
+ private int taskStatus;
+
+ @ApiModelProperty(value = "项目id")
+ private int projectId;
+
+ @ApiModelProperty(value = "城市id")
+ private int cityId;
+
+ @ApiModelProperty(value = "用户id")
+ private int userId;
+
+}
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
new file mode 100644
index 0000000..3d77c73
--- /dev/null
+++ b/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/controller/ArticleController.java
@@ -0,0 +1,54 @@
+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.dto.ArticleQueryDto;
+import com.yuexiu.secp.read.model.entities.ArticleEntity;
+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.*;
+
+import java.util.List;
+
+
+@Validated
+@Api(value = "阅读有礼-文章", tags = "阅读有礼-文章")
+@RestController
+@RequestMapping("/read/article")
+public class ArticleController {
+
+
+ @Autowired
+ private IArticleServer iArticleServer;
+
+ /**
+ * 最新推查询
+ * @param articleQueryDto
+ * @return
+ */
+ @ApiOperation(value = "查询最新推荐", notes = "根据城市与项目查询最新推荐数据")
+ @PostMapping(value = "/findNewest")
+ @CheckToken
+ public ResponseData> findNewest(@RequestBody ArticleQueryDto articleQueryDto) {
+ List recommendedAndPast = iArticleServer.findNewest(articleQueryDto);
+ return ResponseData.data(recommendedAndPast);
+ }
+
+ /**
+ * 查询往期推荐
+ */
+ @ApiOperation(value = "查询往期推荐", notes = "根据城市与项目查询往期推荐数据")
+ @PostMapping(value = "/findPrevious")
+ @CheckToken
+ public ResponseData> findPrevious(@RequestBody ArticleQueryDto articleQueryDto) {
+ List recommendedAndPast = iArticleServer.findPrevious(articleQueryDto);
+ return ResponseData.data(recommendedAndPast);
+ }
+
+
+
+
+}
diff --git a/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/controller/ArticlePreviewController.java b/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/controller/ArticlePreviewController.java
index 8665ebb..d655564 100644
--- a/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/controller/ArticlePreviewController.java
+++ b/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/controller/ArticlePreviewController.java
@@ -1,16 +1,12 @@
package com.yuexiu.secp.read.controller;
-import com.alibaba.fastjson.JSONObject;
import com.sie.iot.common.bean.RequestData;
import com.sie.iot.common.bean.ResponseData;
import com.sie.iot.common.model.inter.IBaseCommon;
import com.sie.iot.common.secure.annotation.CheckToken;
import com.sie.iot.common.services.CommonAbstractService;
import com.yuexiu.secp.read.dto.ArticlePreviewDto;
-import com.yuexiu.secp.read.dto.CostUnitDto;
-import com.yuexiu.secp.read.dto.RecommendDto;
import com.yuexiu.secp.read.model.entities.ArticlePreviewEntity;
-import com.yuexiu.secp.read.model.entities.CostUnitEntity;
import com.yuexiu.secp.read.model.service.IArticlePreview;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
@@ -26,14 +22,9 @@ public class ArticlePreviewController extends CommonAbstractService {
@Override
public IBaseCommon> getBaseCommonServer() {
- return this.iReadService;;
+ return this.iReadService;
}
- @GetMapping(value = "/findRecommendedAndPast")
- public String findRecommendedAndPast(RecommendDto articlePreviewDto) {
-
- return iReadService.findRecommendedAndPast(articlePreviewDto);
- }
@ApiOperation(value = "保存成本单位", notes = "保存成本单位")
@PostMapping(value = "/save")
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
new file mode 100644
index 0000000..0738a68
--- /dev/null
+++ b/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/controller/ArticleStatisticsController.java
@@ -0,0 +1,33 @@
+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/IArticlePreview.java b/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/model/service/IArticlePreview.java
index 59f8a3d..38d75f0 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
@@ -10,7 +10,6 @@ import com.yuexiu.secp.read.model.entities.CostUnitEntity;
public interface IArticlePreview extends IBaseCommon {
- String findRecommendedAndPast(RecommendDto articlePreviewDto);
ArticlePreviewEntity saveArticlePreview(ArticlePreviewDto dto);
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
new file mode 100644
index 0000000..0bdc80e
--- /dev/null
+++ b/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/model/service/IArticleServer.java
@@ -0,0 +1,21 @@
+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;
+
+
+import java.util.List;
+
+public interface IArticleServer {
+
+ List findNewest(ArticleQueryDto articleQueryDto);
+
+
+ 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/ArticlePreviewServer.java b/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/model/service/impl/ArticlePreviewServer.java
index 800fa05..ab4ad68 100644
--- a/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/model/service/impl/ArticlePreviewServer.java
+++ b/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/model/service/impl/ArticlePreviewServer.java
@@ -36,70 +36,6 @@ public class ArticlePreviewServer extends BaseCommonServer imple
private ArticlePreviewDao articlePreviewDao;
- @Override
- public String findRecommendedAndPast(RecommendDto articlePreviewDto) {
- //项目的集合信息
- List projectList = new ArrayList<>();
-
- //城市的集合信息
- List articlePreviewList = new ArrayList<>();
-
- List dataList = new ArrayList<>();
-
- //查询是否有最新推荐
- int count = articlePreviewDao.findRecommend();
- if (count < 1) {
- return "为空";
- }
- //获取当前登录用户
-
- //获取我已推荐的文章
- Set recommendIdList = redisTemplate.opsForSet().members("sie:recommend:1");
- //获取所有文章的信息
- Map