From c396c97de52838b2dafc04a2950aaf3aa266ffef Mon Sep 17 00:00:00 2001
From: YuChengLong <18745062429@163.com>
Date: Thu, 12 May 2022 21:43:19 +0800
Subject: [PATCH] =?UTF-8?q?=E6=96=87=E7=AB=A0=E4=BB=BB=E5=8A=A1=E6=9F=A5?=
=?UTF-8?q?=E8=AF=A2=E3=80=81=E6=96=B0=E5=A2=9E/=E7=BC=96=E8=BE=91?=
=?UTF-8?q?=E7=AD=89=E6=8E=A5=E5=8F=A3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../1068-yexiu-read-model-mybatis.iml | 1 -
.../model/dao/ArticlePreviewContentDao.java | 17 ++
.../entities/ArticlePreviewContentEntity.java | 2 +
.../model/entities/ArticlePreviewEntity.java | 16 +-
.../entities/ArticlePreviewProjectEntity.java | 2 +
.../entities/ArticlePreviewSpreadEntity.java | 2 +
.../secp/read/dto/ArticlePreviewQueryDto.java | 45 ++++
...iewDto.java => ArticlePreviewSaveDto.java} | 16 +-
.../controller/ArticlePreviewController.java | 89 ++++++-
.../read/infra/config/Swagger2Config.java | 2 +-
.../read/model/service/IArticlePreview.java | 42 +++-
.../model/service/IArticlePreviewContent.java | 9 +
.../model/service/IArticlePreviewProject.java | 10 +
.../model/service/IArticlePreviewSpread.java | 10 +
.../impl/ArticlePreviewContentServer.java | 16 ++
.../impl/ArticlePreviewProjectServer.java | 19 ++
.../service/impl/ArticlePreviewServer.java | 208 ++++++++++++++--
.../impl/ArticlePreviewSpreadServer.java | 18 ++
.../com/yuexiu/secp/read/util/DateUtil.java | 226 ++++++++++++++++++
19 files changed, 707 insertions(+), 43 deletions(-)
create mode 100644 2068-yexiu-read-api/src/main/java/com/yuexiu/secp/read/dto/ArticlePreviewQueryDto.java
rename 2068-yexiu-read-api/src/main/java/com/yuexiu/secp/read/dto/{ArticlePreviewDto.java => ArticlePreviewSaveDto.java} (83%)
create mode 100644 2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/model/service/IArticlePreviewContent.java
create mode 100644 2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/model/service/IArticlePreviewProject.java
create mode 100644 2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/model/service/IArticlePreviewSpread.java
create mode 100644 2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/model/service/impl/ArticlePreviewContentServer.java
create mode 100644 2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/model/service/impl/ArticlePreviewProjectServer.java
create mode 100644 2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/model/service/impl/ArticlePreviewSpreadServer.java
create mode 100644 2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/util/DateUtil.java
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 30b0184..84be0df 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,7 +9,6 @@
-
diff --git a/1068-yexiu-read-model-mybatis/src/main/java/com/yuexiu/secp/read/model/dao/ArticlePreviewContentDao.java b/1068-yexiu-read-model-mybatis/src/main/java/com/yuexiu/secp/read/model/dao/ArticlePreviewContentDao.java
index e0ef660..83147d2 100644
--- a/1068-yexiu-read-model-mybatis/src/main/java/com/yuexiu/secp/read/model/dao/ArticlePreviewContentDao.java
+++ b/1068-yexiu-read-model-mybatis/src/main/java/com/yuexiu/secp/read/model/dao/ArticlePreviewContentDao.java
@@ -8,4 +8,21 @@ import org.springframework.stereotype.Component;
@Component("ArticlePreviewContentDao")
public interface ArticlePreviewContentDao extends BaseCommonDAO_HI {
+ /**
+ * 根据文章任务id查询文章正文
+ *
+ * @param articlePreviewId 文章任务id
+ * @return
+ */
+ @Select("select preview_content_id,article_preview_id,article_content from yxh_article_preview_content where " +
+ "article_preview_id = " +
+ "#{articlePreviewId," +
+ "jdbcType=BIGINT}")
+ ArticlePreviewContentEntity selectByArticlePreviewId(Long articlePreviewId);
+
+ @Select("update yxh_article_preview_content set article_content = #{articleContent,jdbcType=VARCHAR} where " +
+ "article_preview_id = " +
+ "#{articlePreviewId," +
+ "jdbcType=BIGINT}")
+ int updateByArticlePreviewId(String articleContent, Long articlePreviewId);
}
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 64e680a..bde40bc 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
@@ -25,4 +25,6 @@ public class ArticlePreviewContentEntity extends BaseEntity implements Serializable{
- @TableId(value = "cost_unit_id", type = IdType.ASSIGN_ID)
+ @TableId(value = "article_preview_id", type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "文章预览id")
private Long articlePreviewId;
@ApiModelProperty(value = "文章任务id")
@@ -36,15 +36,15 @@ public class ArticlePreviewEntity extends BaseEntity imple
@ApiModelProperty(value = "转发限制:1过期可推,2过期不可推")
private Integer shareType;
@ApiModelProperty(value = "建议文案1")
- private String copyWrite1;
+ private String copywrite1;
@ApiModelProperty(value = "建议文案2")
- private String copyWrite2;
+ private String copywrite2;
@ApiModelProperty(value = "建议文案3")
- private String copyWrite3;
+ private String copywrite3;
@ApiModelProperty(value = "建议文案4")
- private String copyWrite4;
+ private String copywrite4;
@ApiModelProperty(value = "建议文案5")
- private String copyWrite5;
+ private String copywrite5;
@ApiModelProperty(value = "分享摘要")
private String shareTitle;
@ApiModelProperty(value = "分享小图")
@@ -85,4 +85,6 @@ public class ArticlePreviewEntity extends BaseEntity imple
private String codeImg;
@ApiModelProperty(value = "租户id")
private Long tenantId;
+ @ApiModelProperty(value = "版本号")
+ private Long versionNum;
}
diff --git a/1068-yexiu-read-model-mybatis/src/main/java/com/yuexiu/secp/read/model/entities/ArticlePreviewProjectEntity.java b/1068-yexiu-read-model-mybatis/src/main/java/com/yuexiu/secp/read/model/entities/ArticlePreviewProjectEntity.java
index 2a472b2..10b5bee 100644
--- a/1068-yexiu-read-model-mybatis/src/main/java/com/yuexiu/secp/read/model/entities/ArticlePreviewProjectEntity.java
+++ b/1068-yexiu-read-model-mybatis/src/main/java/com/yuexiu/secp/read/model/entities/ArticlePreviewProjectEntity.java
@@ -35,4 +35,6 @@ public class ArticlePreviewProjectEntity extends BaseEntity getBaseCommonServer() {
- return this.iReadService;
+ return this.iReadService;
}
+ @ApiOperation(value = "分页查询文章任务", notes = "分页文章任务")
+ @PostMapping(value = "/findPagination")
+ @CheckToken
+ public ResponseData> findPagination(@RequestBody PaginationRequestData paginationRequestData) {
+ Integer pageIndex = paginationRequestData.getPageIndex();
+ Integer pageRows = paginationRequestData.getPageRows();
+ ArticlePreviewQueryDto articlePreviewQueryDto = paginationRequestData.getParams();
+ JSONObject jsonObject = JSONObject.parseObject(JSONObject.toJSONString(articlePreviewQueryDto));
+ Pagination pagination = iReadService.findPagination(jsonObject, pageIndex, pageRows, paginationRequestData.getOrderByBean());
+ return ResponseData.data(pagination);
+ }
- @ApiOperation(value = "保存成本单位", notes = "保存成本单位")
+ @ApiOperation(value = "保存文章任务", notes = "保存文章任务")
@PostMapping(value = "/save")
@CheckToken
- public ResponseData save(@RequestBody RequestData requestData) {
- ArticlePreviewDto articlePreviewDto = requestData.getParams();
+ public ResponseData save(@RequestBody RequestData requestData) {
+ ArticlePreviewSaveDto articlePreviewDto = requestData.getParams();
+ return ResponseData.data(iReadService.saveArticlePreview(articlePreviewDto));
+ }
- getUserSessionBean().getUserId();
+ @ApiOperation(value = "更新文章任务", notes = "更新文章任务")
+ @PostMapping(value = "/update")
+ @CheckToken
+ public ResponseData update(@RequestBody RequestData requestData) {
+ ArticlePreviewSaveDto articlePreviewDto = requestData.getParams();
+ ArticlePreviewEntity articlePreviewEntity =
+ iReadService.getById(articlePreviewDto.getArticlePreviewId());
+ if (null != articlePreviewEntity) {
+ return ResponseData.data(iReadService.updateArticlePreview(articlePreviewDto));
+ } else {
+ return ResponseData.fail(ResponseMsgCode.UPDATE_DATA_NOT_EXIST.msgCode);
+ }
+ }
- return ResponseData.data(iReadService.saveArticlePreview(articlePreviewDto));
+ @ApiOperation(value = "根据文章任务id查询相关信息", notes = "根据文章任务id查询相关信息")
+ @PostMapping(value = "/findByArticlePreviewId")
+ @CheckToken
+ public ResponseData findByArticlePreviewId(@RequestParam Long articlePreviewId) {
+ ArticlePreviewSaveDto articlePreviewSaveDto = iReadService.findByArticlePreviewId(articlePreviewId);
+ return ResponseData.data(articlePreviewSaveDto);
+ }
+
+ @ApiOperation(value = "通过Id删除文章任务", notes = "通过Id删除文章任务")
+ @GetMapping(value = "/delete")
+ @CheckToken
+ public ResponseData deleteById(@RequestParam Long id) {
+ ArticlePreviewEntity articlePreviewEntity = iReadService.getById(id);
+ if (articlePreviewEntity != null) {
+ iReadService.deleteById(id);
+ }
+ return ResponseData.success();
+ }
+
+ @ApiOperation(value = "下架", notes = "下架")
+ @PostMapping(value = "/off-the-shelves")
+// @CheckToken
+ public ResponseData offTheShelves(@RequestParam Long id) {
+
+ return ResponseData.success();
}
+ @ApiOperation(value = "发布", notes = "发布")
+ @PostMapping(value = "/release")
+// @CheckToken
+ public ResponseData release(@RequestParam Long id) {
+
+ return ResponseData.success();
+ }
+
+ @ApiOperation(value = "重新发布", notes = "重新发布")
+ @PostMapping(value = "/re-release")
+// @CheckToken
+ public ResponseData reRelease(@RequestParam Long id) {
+
+ return ResponseData.success();
+ }
}
diff --git a/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/infra/config/Swagger2Config.java b/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/infra/config/Swagger2Config.java
index 714266d..2042af2 100644
--- a/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/infra/config/Swagger2Config.java
+++ b/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/infra/config/Swagger2Config.java
@@ -52,7 +52,7 @@ public class Swagger2Config {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
- .apis(basePackage("com.yuexiu.secp.interfaces.controller"))
+ .apis(basePackage("com.yuexiu.secp.read.controller"))
.paths(PathSelectors.any())
.build().enable(enableSwagger)
.globalOperationParameters(pars);
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 8e0512b..ec11e9e 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
@@ -1,15 +1,47 @@
package com.yuexiu.secp.read.model.service;
-
+import com.alibaba.fastjson.JSONObject;
+import com.sie.iot.common.bean.OrderByBean;
import com.sie.iot.common.model.inter.IBaseCommon;
-import com.yuexiu.secp.read.dto.ArticlePreviewDto;
+import com.siefw.hibernate.core.paging.Pagination;
+import com.yuexiu.secp.read.dto.ArticlePreviewSaveDto;
import com.yuexiu.secp.read.model.entities.ArticlePreviewEntity;
-import com.yuexiu.secp.read.model.entities.CostUnitEntity;
-public interface IArticlePreview extends IBaseCommon {
+public interface IArticlePreview extends IBaseCommon {
+
+ /**
+ * 新增文章任务
+ *
+ * @param dto
+ * @return
+ */
+ ArticlePreviewEntity saveArticlePreview(ArticlePreviewSaveDto dto);
+ /**
+ * 编辑文章任务
+ *
+ * @param dto
+ * @return
+ */
+ ArticlePreviewEntity updateArticlePreview(ArticlePreviewSaveDto dto);
+ /**
+ * 根据文章任务id查询相关信息
+ *
+ * @param previewId 文章任务id
+ * @return
+ */
+ ArticlePreviewSaveDto findByArticlePreviewId(Long previewId);
+ /**
+ * 分页查询 部门列表
+ *
+ * @param jsonObject 条件参数
+ * @param pageIndex 第几页
+ * @param pageRows 每页数量
+ * @param orderByBean orderByBean
+ * @return
+ */
+ Pagination findPagination(JSONObject jsonObject, Integer pageIndex, Integer pageRows, OrderByBean orderByBean);
- ArticlePreviewEntity saveArticlePreview(ArticlePreviewDto dto);
}
diff --git a/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/model/service/IArticlePreviewContent.java b/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/model/service/IArticlePreviewContent.java
new file mode 100644
index 0000000..0f7961a
--- /dev/null
+++ b/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/model/service/IArticlePreviewContent.java
@@ -0,0 +1,9 @@
+package com.yuexiu.secp.read.model.service;
+
+
+import com.sie.iot.common.model.inter.IBaseCommon;
+import com.yuexiu.secp.read.model.entities.ArticlePreviewContentEntity;
+
+public interface IArticlePreviewContent extends IBaseCommon {
+
+}
diff --git a/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/model/service/IArticlePreviewProject.java b/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/model/service/IArticlePreviewProject.java
new file mode 100644
index 0000000..db17ae1
--- /dev/null
+++ b/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/model/service/IArticlePreviewProject.java
@@ -0,0 +1,10 @@
+package com.yuexiu.secp.read.model.service;
+
+
+import com.sie.iot.common.model.inter.IBaseCommon;
+import com.yuexiu.secp.read.model.entities.ArticlePreviewContentEntity;
+import com.yuexiu.secp.read.model.entities.ArticlePreviewProjectEntity;
+
+public interface IArticlePreviewProject extends IBaseCommon {
+
+}
diff --git a/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/model/service/IArticlePreviewSpread.java b/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/model/service/IArticlePreviewSpread.java
new file mode 100644
index 0000000..4c379fd
--- /dev/null
+++ b/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/model/service/IArticlePreviewSpread.java
@@ -0,0 +1,10 @@
+package com.yuexiu.secp.read.model.service;
+
+
+import com.sie.iot.common.model.inter.IBaseCommon;
+import com.yuexiu.secp.read.model.entities.ArticlePreviewProjectEntity;
+import com.yuexiu.secp.read.model.entities.ArticlePreviewSpreadEntity;
+
+public interface IArticlePreviewSpread extends IBaseCommon {
+
+}
diff --git a/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/model/service/impl/ArticlePreviewContentServer.java b/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/model/service/impl/ArticlePreviewContentServer.java
new file mode 100644
index 0000000..708efca
--- /dev/null
+++ b/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/model/service/impl/ArticlePreviewContentServer.java
@@ -0,0 +1,16 @@
+package com.yuexiu.secp.read.model.service.impl;
+
+import com.sie.iot.common.model.inter.server.BaseCommonServer;
+import com.yuexiu.secp.read.model.entities.ArticlePreviewContentEntity;
+import com.yuexiu.secp.read.model.service.IArticlePreviewContent;
+import org.springframework.stereotype.Service;
+
+/**
+ * @author YuChengLong
+ * @date 2022/5/10
+ */
+
+@Service
+public class ArticlePreviewContentServer extends BaseCommonServer implements IArticlePreviewContent {
+
+}
diff --git a/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/model/service/impl/ArticlePreviewProjectServer.java b/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/model/service/impl/ArticlePreviewProjectServer.java
new file mode 100644
index 0000000..dd6608a
--- /dev/null
+++ b/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/model/service/impl/ArticlePreviewProjectServer.java
@@ -0,0 +1,19 @@
+package com.yuexiu.secp.read.model.service.impl;
+
+import com.sie.iot.common.model.inter.server.BaseCommonServer;
+import com.yuexiu.secp.read.model.entities.ArticlePreviewContentEntity;
+import com.yuexiu.secp.read.model.entities.ArticlePreviewEntity;
+import com.yuexiu.secp.read.model.entities.ArticlePreviewProjectEntity;
+import com.yuexiu.secp.read.model.service.IArticlePreviewContent;
+import com.yuexiu.secp.read.model.service.IArticlePreviewProject;
+import org.springframework.stereotype.Service;
+
+/**
+ * @author YuChengLong
+ * @date 2022/5/10
+ */
+
+@Service
+public class ArticlePreviewProjectServer extends BaseCommonServer implements IArticlePreviewProject {
+
+}
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 ab4ad68..8b603dd 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
@@ -1,22 +1,26 @@
package com.yuexiu.secp.read.model.service.impl;
-
import cn.hutool.core.bean.BeanUtil;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.google.common.collect.Iterables;
+import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSONObject;
+import com.sie.iot.common.bean.OrderByBean;
import com.sie.iot.common.model.inter.server.BaseCommonServer;
+import com.sie.iot.common.util.SaafToolUtils;
import com.sie.iot.common.util.UserSessionHelper;
-import com.yuexiu.secp.read.dto.RecommendDto;
+import com.siefw.hibernate.core.paging.Pagination;
+import com.yuexiu.secp.read.model.dao.ArticlePreviewContentDao;
import com.yuexiu.secp.read.model.dao.ArticlePreviewDao;
-import com.yuexiu.secp.read.dto.ArticlePreviewDto;
+import com.yuexiu.secp.read.dto.ArticlePreviewSaveDto;
+import com.yuexiu.secp.read.model.entities.ArticlePreviewContentEntity;
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 com.yuexiu.secp.read.model.service.IArticlePreviewContent;
+import com.yuexiu.secp.read.util.DateUtil;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang.time.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Service;
-import org.springframework.util.CollectionUtils;
-import com.sie.iot.common.services.CommonAbstractService;
import java.util.*;
@@ -24,10 +28,9 @@ import java.util.*;
* @author YuChengLong
* @date 2022/5/10
*/
-
+@Slf4j
@Service
-public class ArticlePreviewServer extends BaseCommonServer implements IArticlePreview {
-
+public class ArticlePreviewServer extends BaseCommonServer implements IArticlePreview {
@Autowired
private StringRedisTemplate redisTemplate;
@@ -35,18 +38,195 @@ public class ArticlePreviewServer extends BaseCommonServer imple
@Autowired
private ArticlePreviewDao articlePreviewDao;
+ @Autowired
+ private ArticlePreviewContentDao articlePreviewContentDao;
+
+ @Override
+ public ArticlePreviewEntity saveArticlePreview(ArticlePreviewSaveDto dto) {
+
+ // TODO 需要加事务
+ ArticlePreviewEntity entity = new ArticlePreviewEntity();
+ BeanUtil.copyProperties(dto, entity);
+ //固定
+ entity.setOperatorUserId(1L);
+ entity.setTenantId(1L);
+// entity.setOperatorUserId(UserSessionHelper.getCurrentSession().getUserId());
+// entity.setTenantId(UserSessionHelper.getCurrentSession().getTenantId());
+ // 推广状态
+ Date now = new Date();
+ if (DateUtil.str2Time(dto.getSpreadBeginTime()).getTime() > now.getTime()) {
+ entity.setPromotionStatus(3);
+ } else if (DateUtil.str2Time(dto.getSpreadEndTime()).getTime() < now.getTime()) {
+ entity.setPromotionStatus(2);
+ } else if (DateUtil.str2Time(dto.getSpreadEndTime()).getTime() > now.getTime() && DateUtil.str2Time(dto.getSpreadBeginTime()).getTime() <= now.getTime()) {
+ entity.setPromotionStatus(1);
+ }
+ // 审批状态
+ entity.setApprovalStatus(1);
+
+ // 保存预览记录
+ entity = (ArticlePreviewEntity) this.save(entity);
+
+ long articlePreviewId = entity.getArticlePreviewId();
+ // 保存文章正文详情
+ ArticlePreviewContentEntity contentEntity = new ArticlePreviewContentEntity();
+ //固定
+ contentEntity.setOperatorUserId(1L);
+ contentEntity.setTenantId(1L);
+ contentEntity.setArticlePreviewId(articlePreviewId);
+ contentEntity.setArticleContent(dto.getArticleContent());
+
+ articlePreviewContentDao.save(contentEntity);
+
+ // 关联类型
+// int placeOfOrigin = dto.getPlaceOfOrigin();
+ // TODO 根据类型去CDP查询相关信息,将得到的结果存入yxh_article_preview_project表中
+ // 推广人
+ // TODO 同上,需要去CDP查询相关信息
+
+ return entity;
+ }
@Override
- public ArticlePreviewEntity saveArticlePreview(ArticlePreviewDto dto) {
+ public ArticlePreviewEntity updateArticlePreview(ArticlePreviewSaveDto dto) {
+ // TODO 需要加事务
ArticlePreviewEntity entity = new ArticlePreviewEntity();
- BeanUtil.copyProperties(dto,entity);
-
+ BeanUtil.copyProperties(dto, entity);
//固定
+ entity.setOperatorUserId(1L);
+ entity.setTenantId(1L);
// entity.setOperatorUserId(UserSessionHelper.getCurrentSession().getUserId());
// entity.setTenantId(UserSessionHelper.getCurrentSession().getTenantId());
+ // 推广状态
+ Date now = new Date();
+ if (DateUtil.str2Time(dto.getSpreadBeginTime()).getTime() > now.getTime()) {
+ entity.setPromotionStatus(3);
+ } else if (DateUtil.str2Time(dto.getSpreadEndTime()).getTime() < now.getTime()) {
+ entity.setPromotionStatus(2);
+ } else if (DateUtil.str2Time(dto.getSpreadEndTime()).getTime() > now.getTime() && DateUtil.str2Time(dto.getSpreadBeginTime()).getTime() <= now.getTime()) {
+ entity.setPromotionStatus(1);
+ }
+ // 审批状态
+ entity.setApprovalStatus(1);
+
+ // 更新预览记录
+ this.update(entity);
+
+ long articlePreviewId = entity.getArticlePreviewId();
+ // 保存文章正文详情
+ ArticlePreviewContentEntity contentEntity = new ArticlePreviewContentEntity();
+ //固定
+ contentEntity.setOperatorUserId(1L);
+ contentEntity.setTenantId(1L);
+ contentEntity.setArticlePreviewId(articlePreviewId);
+ contentEntity.setArticleContent(dto.getArticleContent());
+
+ ArticlePreviewContentEntity articlePreviewContentEntity =
+ articlePreviewContentDao.selectByArticlePreviewId(articlePreviewId);
+ contentEntity.setPreviewContentId(articlePreviewContentEntity.getPreviewContentId());
+ articlePreviewContentDao.update(contentEntity);
+
+ // 关联类型
+// int placeOfOrigin = dto.getPlaceOfOrigin();
+ // TODO 根据类型去CDP查询相关信息,将得到的结果存入yxh_article_preview_project表中
+
+ // 推广人
+ // TODO 同上,需要去CDP查询相关信息
+
return entity;
}
+ @Override
+ public ArticlePreviewSaveDto findByArticlePreviewId(Long previewId) {
+
+ ArticlePreviewSaveDto saveDto = new ArticlePreviewSaveDto();
+ // 查询文章预览基本信息
+ ArticlePreviewEntity articlePreviewEntity = articlePreviewDao.getById(previewId);
+ BeanUtil.copyProperties(articlePreviewEntity, saveDto);
+ // 查询文章正文内容
+ ArticlePreviewContentEntity articlePreviewContentEntity =
+ articlePreviewContentDao.selectByArticlePreviewId(previewId);
+ saveDto.setArticleContent(articlePreviewContentEntity.getArticleContent());
+ // TODO 查询文章推广人信息
+
+ // TODO 查询文章所属城市/项目
+ return saveDto;
+ }
+
+ @Override
+ public Pagination findPagination(JSONObject jsonObject, Integer pageIndex, Integer pageRows, OrderByBean orderByBean) {
+ Map paramsMap = new HashMap();
+ StringBuffer querySQLSB = new StringBuffer("select * from yxh_article_preview where delete_flag = 0 ");
+
+ //通过标题查询
+ if (StrUtil.isNotEmpty(jsonObject.getString("articleTitle"))) {
+ SaafToolUtils.parperParam(jsonObject, "article_title", "articleTitle", querySQLSB, paramsMap, "like");
+ }
+
+ //通过发布单位查询
+ if (StrUtil.isNotEmpty(jsonObject.getString("publishUnit"))) {
+ SaafToolUtils.parperParam(jsonObject, "publish_unit", "publishUnit", querySQLSB, paramsMap, "like");
+ }
+
+ //通过推广状态查询
+ if (jsonObject.getLong("promotionStatus") != null) {
+ SaafToolUtils.parperParam(jsonObject, "promotion_status", "promotionStatus", querySQLSB, paramsMap, "=");
+ }
+
+ //通过任务状态查询
+ if (jsonObject.getLong("taskStatus") != null) {
+ SaafToolUtils.parperParam(jsonObject, "task_status", "taskStatus", querySQLSB, paramsMap, "=");
+ }
+
+ //通过操作人查询
+ if (StrUtil.isNotEmpty(jsonObject.getString("oprator"))) {
+ // TODO 需要根据用户名查出userId,再去查询created_by
+ SaafToolUtils.parperParam(jsonObject, "created_by", "oprator", querySQLSB, paramsMap, "like");
+ }
+
+ //通过推广有效期查询
+ if (!StrUtil.isBlank(jsonObject.getString("spreadBeginTime"))) {
+ querySQLSB.append(" and ((spread_begin_time between :spreadBeginTime and :spreadEndTime) or " +
+ "(spread_end_time between :spreadBeginTime and :spreadEndTime) or " +
+ "(spread_begin_time <= :spreadBeginTime and spread_end_time >= :spreadEndTime))");
+ paramsMap.put("spreadBeginTime", jsonObject.getDate("spreadBeginTime"));
+ paramsMap.put("spreadEndTime", jsonObject.getDate("spreadEndTime"));
+ paramsMap.put("spreadBeginTime", jsonObject.getDate("spreadBeginTime"));
+ paramsMap.put("spreadEndTime", jsonObject.getDate("spreadEndTime"));
+ paramsMap.put("spreadBeginTime", jsonObject.getDate("spreadBeginTime"));
+ paramsMap.put("spreadEndTime", jsonObject.getDate("spreadEndTime"));
+ }
+
+ // 通过计划发布时间查询
+ if (!StrUtil.isBlank(jsonObject.getString("releaseBeginTime"))) {
+ paramsMap.put("releaseBeginTime", jsonObject.getDate("releaseBeginTime"));
+ querySQLSB.append(" and release_time >= :releaseBeginTime ");
+ }
+ if (!StrUtil.isBlank(jsonObject.getString("releaseEndTime"))) {
+ paramsMap.put("releaseEndTime", jsonObject.getDate("releaseEndTime"));
+ querySQLSB.append(" and release_time <= :releaseEndTime ");
+ }
+
+ // 通过实际发布时间查询
+ if (!StrUtil.isBlank(jsonObject.getString("releaseTaskBeginTime"))) {
+ paramsMap.put("releaseTaskBeginTime", jsonObject.getDate("releaseTaskBeginTime"));
+ querySQLSB.append(" and release_task_time >= :releaseTaskBeginTime ");
+ }
+ if (!StrUtil.isBlank(jsonObject.getString("releaseTaskEndTime"))) {
+ paramsMap.put("releaseTaskEndTime", jsonObject.getDate("releaseTaskEndTime"));
+ querySQLSB.append(" and release_task_time <= :releaseTaskEndTime ");
+ }
+
+ if (orderByBean == null) {
+ orderByBean = new OrderByBean();
+ orderByBean.setAttributeName("creation_date");
+ orderByBean.setSortType("desc");
+ }
+
+ SaafToolUtils.sortUtil(orderByBean, querySQLSB);
+ return articlePreviewDao.findPagination(querySQLSB.toString(), paramsMap, pageIndex, pageRows);
+ }
+
}
diff --git a/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/model/service/impl/ArticlePreviewSpreadServer.java b/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/model/service/impl/ArticlePreviewSpreadServer.java
new file mode 100644
index 0000000..db7c41b
--- /dev/null
+++ b/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/model/service/impl/ArticlePreviewSpreadServer.java
@@ -0,0 +1,18 @@
+package com.yuexiu.secp.read.model.service.impl;
+
+import com.sie.iot.common.model.inter.server.BaseCommonServer;
+import com.yuexiu.secp.read.model.entities.ArticlePreviewProjectEntity;
+import com.yuexiu.secp.read.model.entities.ArticlePreviewSpreadEntity;
+import com.yuexiu.secp.read.model.service.IArticlePreviewProject;
+import com.yuexiu.secp.read.model.service.IArticlePreviewSpread;
+import org.springframework.stereotype.Service;
+
+/**
+ * @author YuChengLong
+ * @date 2022/5/10
+ */
+
+@Service
+public class ArticlePreviewSpreadServer extends BaseCommonServer implements IArticlePreviewSpread {
+
+}
diff --git a/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/util/DateUtil.java b/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/util/DateUtil.java
new file mode 100644
index 0000000..b724d87
--- /dev/null
+++ b/2068-yexiu-read-application/src/main/java/com/yuexiu/secp/read/util/DateUtil.java
@@ -0,0 +1,226 @@
+package com.yuexiu.secp.read.util;
+
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.*;
+
+/**
+ * @author YuChengLong
+ * @date 2022/5/10
+ */
+public class DateUtil {
+
+ public static final String DATE_FORMAT_YY_MM_DD = "yyyy-MM-dd";
+
+ public static final String DATE_FORMAT_YY_MM_DD_HH_MM_SS = "yyyy-MM-dd HH:mm:ss";
+
+ private static SimpleDateFormat sdf_date_format = new SimpleDateFormat(DATE_FORMAT_YY_MM_DD);
+ private static SimpleDateFormat sdf_time_format = new SimpleDateFormat(DATE_FORMAT_YY_MM_DD_HH_MM_SS);
+
+ /**
+ * java 获取月周
+ */
+ public static Integer getDateOfWeek(String data) {
+ Calendar calendar = Calendar.getInstance();
+ calendar.setFirstDayOfWeek(Calendar.SUNDAY);// 设置星期一为一周开始的第一天
+ // calendar.setMinimalDaysInFirstWeek(4);//可以不用设置
+ calendar.setTime(DateUtil.str2Date(data));// 获得当前的时间戳
+ return calendar.get(Calendar.WEEK_OF_YEAR);
+ }
+
+ /**
+ * 获取当前日期的上一个月
+ */
+ public static Date getLastMonth(Date date) {
+ Calendar c = Calendar.getInstance();
+ c.setTime(date);
+ c.add(Calendar.MONTH, -1);
+ return c.getTime();
+ }
+
+ /**
+ * 获取当前日期的下一个月的日期(下个月日期不能超过2月29)
+ *
+ * @param date 输入日期
+ * @return
+ */
+ public static Date getNextMonth(Date date) {
+ Calendar c = Calendar.getInstance();
+ c.setTime(new Date());
+ c.add(Calendar.MONTH, -1);
+ return c.getTime();
+ }
+
+ /**
+ * 获取当前日期是当年的第几周
+ *
+ * @param date 日期
+ * @return
+ */
+ public static Integer getWeekOfYear(Date date) {
+ Calendar calendar = Calendar.getInstance();
+ calendar.setFirstDayOfWeek(Calendar.SUNDAY);
+ calendar.setTime(date);
+ return calendar.get(Calendar.WEEK_OF_YEAR);
+ }
+
+ /**
+ * 根据日期获取该天星期几
+ *
+ * @param date 日期
+ * @return
+ */
+ public static String getWeek(Date date) {
+ String[] weeks = {"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};
+ Calendar cal = Calendar.getInstance();
+ cal.setTime(date);
+ int week_index = cal.get(Calendar.DAY_OF_WEEK) - 1;
+ if (week_index < 0) {
+ week_index = 0;
+ }
+ return weeks[week_index];
+ }
+
+ /**
+ * 根据输入日期获取今天是周几(数值: 1 2 3 4 5 6 7)
+ *
+ * @param date 输入日期
+ * @return 周几(数值)
+ */
+ public static int getWeek1(Date date) {
+ int[] weeks = {7, 1, 2, 3, 4, 5, 6};
+ Calendar cal = Calendar.getInstance();
+ cal.setTime(date);
+ int week_index = cal.get(Calendar.DAY_OF_WEEK) - 1;
+ if (week_index < 0) {
+ week_index = 0;
+ }
+ return weeks[week_index];
+ }
+
+ /**
+ * 获取指定日期的过去第past天的日期
+ */
+ public static Date getPastDate(Date date, int past) {
+ Calendar calendar = Calendar.getInstance();
+ calendar.setTime(date);
+ calendar.add(Calendar.DATE, -past);
+ return calendar.getTime();
+ }
+
+ /**
+ * 获取指定日期的之后第past天的日期
+ */
+ public static Date getLaterDate(Date date, int past) {
+ Calendar calendar = Calendar.getInstance();
+ calendar.setTime(date);
+ calendar.add(Calendar.DATE, past);
+ return calendar.getTime();
+ }
+
+ /**
+ * 获取指定日期的字符串之后第past天的日期字符串
+ */
+ public static String getLaterDateStr(String date, int past) {
+ Calendar calendar = Calendar.getInstance();
+ calendar.setTime(str2Date(date));
+ calendar.add(Calendar.DATE, past);
+ return date2Str(calendar.getTime());
+ }
+
+ /**
+ * 给时间加上几个小时
+ *
+ * @param hour 需要加的时间
+ * @return
+ */
+ public static Date dateAddHours(Date date, int hour) {
+ Calendar cal = Calendar.getInstance();
+ cal.setTime(date);
+ cal.add(Calendar.HOUR, hour);// 24小时制
+ date = cal.getTime();
+ return date;
+
+ }
+
+ /**
+ * 字符串格式转换time
+ *
+ * @param date
+ * @return
+ */
+ public static Date str2Time(String date) {
+ Date result = null;
+ try {
+ result = sdf_time_format.parse(date);
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
+ return result;
+ }
+
+ /**
+ * 字符串格式转换date
+ *
+ * @param date
+ * @return
+ */
+ public static Date str2Date(String date) {
+ Date result = null;
+ try {
+ result = sdf_date_format.parse(date);
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
+ return result;
+ }
+
+ /**
+ * date转换字符串格式
+ *
+ * @param date
+ * @return
+ */
+ public static String date2Str(Date date) {
+ String dateString = sdf_date_format.format(date);
+ return dateString;
+ }
+
+ /**
+ * 计算两个日期之间相隔的天数
+ *
+ * @param begin
+ * @param end
+ * @return
+ * @throws ParseException
+ */
+ public static long countDay(String begin, String end) {
+ Date beginDate, endDate;
+ long day = 0;
+ try {
+ beginDate = sdf_date_format.parse(begin);
+ endDate = sdf_date_format.parse(end);
+ day = (endDate.getTime() - beginDate.getTime()) / (24 * 60 * 60 * 1000);
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
+ return day;
+ }
+
+ public static int getMonth(String date) {
+ Calendar c = Calendar.getInstance();
+ c.setTime(str2Date(date));
+ return c.get(Calendar.MONTH) + 1;
+ }
+
+ public static int getYear(String date) {
+ Calendar c = Calendar.getInstance();
+ c.setTime(str2Date(date));
+ return c.get(Calendar.YEAR);
+ }
+
+ public static void main(String[] args) {
+
+ }
+
+}