From 85c0fd73a5286de23ef5e579f4dfadfa63217d8b Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Tue, 12 Jul 2022 15:47:55 +0800
Subject: [PATCH] fix
---
src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/ColumnServiceImpl.java | 16 ++++++++++------
src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/ReleaseServiceImpl.java | 37 +++++++++++++++++++++++++++++++++++++
2 files changed, 47 insertions(+), 6 deletions(-)
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 ac98eaf..7e9986d 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
@@ -197,9 +197,11 @@
String columnCode = adminUpdateColumnDto.getColumnCode();
ColumnEntity updateEntity = ColumnConversion.INSTANCE.updateDtoToEntity(adminUpdateColumnDto);
- ColumnEntity hasExist = this.baseMapper.selectByCodeAndCompanyId(columnCode, companyId);
- if(ObjectUtil.isNotEmpty(hasExist)){
- return Result.fail("栏目编码不能重复");
+ if (!columnEntity.getColumnCode().equals(columnCode)) {
+ ColumnEntity hasExist = this.baseMapper.selectByCodeAndCompanyId(columnCode, companyId);
+ if (ObjectUtil.isNotEmpty(hasExist)) {
+ return Result.fail("栏目编码不能重复");
+ }
}
Long parentId = adminUpdateColumnDto.getParentId();
@@ -213,10 +215,12 @@
}
// 若编码进行了修改且该栏目为父栏目,则需要同步修改子栏目的path。
- if (!columnEntity.getColumnCode().equals(columnCode) && "-1".equals(columnEntity.getColumnCode())) {
- updateEntity.setBeforeColumnCode(columnCode);
+ if (!columnEntity.getColumnCode().equals(columnCode)) {
+ if ("-1".equals(columnEntity.getBeforeColumnCode())) {
+ updateEntity.setBeforeColumnCode(columnEntity.getColumnCode());
+ }
- if (adminUpdateColumnDto.getParentId() == 0L) {
+ if (updateEntity.getParentId() == 0L) {
List<ColumnEntity> childColumn = this.baseMapper.selectColumnByParentId(columnEntity.getId(), companyId, 2);
if (CollUtil.isNotEmpty(childColumn)) {
for (ColumnEntity child : childColumn) {
diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/ReleaseServiceImpl.java b/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/ReleaseServiceImpl.java
index 2c01d97..7b69fe1 100644
--- a/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/ReleaseServiceImpl.java
+++ b/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/ReleaseServiceImpl.java
@@ -1,9 +1,13 @@
package com.xcong.farmer.cms.modules.system.service.Impl;
import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.io.FileUtil;
+import com.xcong.farmer.cms.common.utils.FileUtils;
+import com.xcong.farmer.cms.configurations.properties.CmsProperties;
import com.xcong.farmer.cms.modules.core.service.ICmsCoreService;
import com.xcong.farmer.cms.modules.system.entity.ArticleEntity;
import com.xcong.farmer.cms.modules.system.entity.ColumnEntity;
+import com.xcong.farmer.cms.modules.system.entity.CompanyEntity;
import com.xcong.farmer.cms.modules.system.entity.WebSettingEntity;
import com.xcong.farmer.cms.modules.system.mapper.ArticleMapper;
import com.xcong.farmer.cms.modules.system.mapper.ColumnMapper;
@@ -41,6 +45,12 @@
@Autowired
private ICmsCoreService cmsCoreService;
+
+ @Autowired
+ private CmsProperties cmsProperties;
+
+ @Autowired
+ private CompanyMapper companyMapper;
@Autowired
private WebSetMapper webSetMapper;
@@ -85,6 +95,28 @@
ColumnEntity columnEntity = columnMapper.selectById(id);
Map<String, Object> map = buildColumnData(columnEntity);
+ if (columnEntity.getBeforeParentId() != -1 || !"-1".equals(columnEntity.getBeforeColumnCode())) {
+ CompanyEntity company = companyMapper.selectById(companyId);
+ if (!"-1".equals(columnEntity.getBeforeColumnCode())) {
+ String outputPath = FileUtils.path(cmsProperties.getOutputPath(), company.getCode()) + "/" + columnEntity.getBeforeColumnCode();
+ log.info("删除路径为:{}", outputPath);
+ FileUtil.del(outputPath);
+ }
+
+ if (columnEntity.getBeforeParentId() != -1) {
+ ColumnEntity parent = columnMapper.selectById(columnEntity.getBeforeParentId());
+ String path = cmsProperties.getOutputPath() + parent.getPath() + "/" + columnEntity.getColumnCode();
+ log.info("删除路径为:{}", path);
+ FileUtil.del(path);
+ }
+
+ columnEntity.setBeforeColumnCode("-1");
+ columnEntity.setBeforeParentId(-1L);
+ columnMapper.updateById(columnEntity);
+ releaseAll(companyId);
+ return;
+ }
+
executor.execute(() -> {
List<ArticleEntity> articles = articleMapper.selectArticleByColumnId(columnEntity.getId(), companyId, type);
if (CollUtil.isNotEmpty(articles)) {
@@ -102,6 +134,7 @@
}
map.put("id", columnEntity.getId());
+
cmsCoreService.columnProcess(map, columnEntity.getListTemplate());
if (columnEntity.getParentId() != 0L) {
ColumnEntity parentColumn = columnMapper.selectById(columnEntity.getParentId());
@@ -134,6 +167,10 @@
}
}
+
+ column.setBeforeColumnCode("-1");
+ column.setParentId(-1L);
+ columnMapper.updateById(column);
Map<String, Object> data = buildColumnData(column);
cmsCoreService.columnProcess(data, column.getListTemplate());
}
--
Gitblit v1.9.1