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) { + + } + +}