修改已发布的栏目和文章的父级栏目、栏目编码,保存其修改前的对应数据
4 files modified
39 ■■■■■ changed files
src/main/java/com/xcong/farmer/cms/modules/system/entity/ArticleEntity.java 5 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/farmer/cms/modules/system/entity/ColumnEntity.java 15 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/ArticleServiceImpl.java 7 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/ColumnServiceImpl.java 12 ●●●●● patch | view | raw | blame | history
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;
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;
}
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);
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("更新成功");
    }