From 601f1b0491ceff37538afc4430e0ccbe72dce270 Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Mon, 11 Jul 2022 10:59:31 +0800 Subject: [PATCH] 修改已发布的栏目和文章的父级栏目、栏目编码,保存其修改前的对应数据 --- src/main/java/com/xcong/farmer/cms/modules/system/entity/ArticleEntity.java | 5 +++++ src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/ColumnServiceImpl.java | 12 ++++++++++++ src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/ArticleServiceImpl.java | 7 +++++++ src/main/java/com/xcong/farmer/cms/modules/system/entity/ColumnEntity.java | 15 +++++++++++++++ 4 files changed, 39 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/entity/ArticleEntity.java b/src/main/java/com/xcong/farmer/cms/modules/system/entity/ArticleEntity.java index 318d444..13098e4 100644 --- a/src/main/java/com/xcong/farmer/cms/modules/system/entity/ArticleEntity.java +++ b/src/main/java/com/xcong/farmer/cms/modules/system/entity/ArticleEntity.java @@ -85,6 +85,11 @@ //内容类型 1:文章 2:图片 3:文件 4:音频" private Integer contentType; + /** + * 更新前栏目编码 + */ + private Long beforeColumnId; + @TableField(exist = false) private String columnCode; diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/entity/ColumnEntity.java b/src/main/java/com/xcong/farmer/cms/modules/system/entity/ColumnEntity.java index 90fa975..f8c87d3 100644 --- a/src/main/java/com/xcong/farmer/cms/modules/system/entity/ColumnEntity.java +++ b/src/main/java/com/xcong/farmer/cms/modules/system/entity/ColumnEntity.java @@ -60,4 +60,19 @@ @TableField(exist = false) private List<Long> ids; + + /** + * 更新前栏目ID + */ + private Long beforeParentId; + + /** + * 更新前栏目编码 + */ + private String beforeColumnCode; + + /** + * 发布状态 1-已发布 2-未发布 + */ + private Integer releaseState; } diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/ArticleServiceImpl.java b/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/ArticleServiceImpl.java index 331c66c..0c8ca14 100644 --- a/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/ArticleServiceImpl.java +++ b/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/ArticleServiceImpl.java @@ -181,7 +181,12 @@ if(ObjectUtil.isEmpty(columnEntity)){ return Result.fail("请选择文章栏目"); } + + if (articleEntity.getColumnId().equals(columnId) && articleEntity.getReleaseStatus() == 1) { + articleEntity.setBeforeColumnId(articleEntity.getColumnId()); + } articleEntity.setColumnId(columnId); + Integer visits = adminUpdateArticleDto.getVisits() == null ? 0 : adminUpdateArticleDto.getVisits(); articleEntity.setVisits(visits); String mainDiagram = adminUpdateArticleDto.getMainDiagram(); @@ -202,6 +207,8 @@ articleEntity.setArticleUrl(adminUpdateArticleDto.getArticleUrl()); articleEntity.setType(adminUpdateArticleDto.getType()); articleEntity.setContentType(adminUpdateArticleDto.getContentType()); + articleEntity.setReleaseStatus(0); + String authorBelong = adminUpdateArticleDto.getAuthorBelong(); articleEntity.setAuthorBelong(authorBelong); this.baseMapper.updateById(articleEntity); diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/ColumnServiceImpl.java b/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/ColumnServiceImpl.java index 8fbca01..287fe8c 100644 --- a/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/ColumnServiceImpl.java +++ b/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/ColumnServiceImpl.java @@ -209,7 +209,13 @@ if(CollUtil.isNotEmpty(columnEntities) && columnEntities.size() > 1){ return Result.fail("栏目编码不能重复"); } + + // 判断是否编辑了栏目编码且此时栏目处于已发布的状态,然后保存之前的编码。因为如果是未发布状态,多次保存的话,容易覆盖真正的最开始的栏目编码 + if (!columnEntity.getColumnCode().equals(columnCode) && columnEntity.getReleaseState() == 1) { + columnEntity.setBeforeColumnCode(columnCode); + } columnEntity.setColumnCode(columnCode); + String remark = adminUpdateColumnDto.getRemark(); columnEntity.setRemark(remark); String pic = adminUpdateColumnDto.getPic(); @@ -219,6 +225,11 @@ columnEntity.setOrderNum(orderNum); } Long parentId = adminUpdateColumnDto.getParentId(); + // 同栏目编码 + if (!columnEntity.getParentId().equals(parentId) && columnEntity.getReleaseState() == 1) { + columnEntity.setBeforeParentId(columnEntity.getParentId()); + } + if(ObjectUtil.isEmpty(parentId)){ columnEntity.setParentId(ColumnEntity.PARENTID_DEFAULT); columnEntity.setPath("/" + columnEntity.getColumnCode()); @@ -235,6 +246,7 @@ columnEntity.setTargetUrl(adminUpdateColumnDto.getTargetUrl()); columnEntity.setIsNav(adminUpdateColumnDto.getIsNav()); columnEntity.setContentType(adminUpdateColumnDto.getContentType()); + columnEntity.setReleaseState(2); this.baseMapper.updateById(columnEntity); return Result.ok("更新成功"); } -- Gitblit v1.9.1