diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/resp/ProjectVO.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/resp/ProjectVO.java index 71be337..b708341 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/resp/ProjectVO.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/resp/ProjectVO.java @@ -12,6 +12,7 @@ public class ProjectVO { private String fileName; private String parentId; private int sort; + private Integer dataStatus; private List children = new ArrayList<>(); diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/CommonService.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/CommonService.java index f364ac1..8b99c00 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/CommonService.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/CommonService.java @@ -187,8 +187,8 @@ public class CommonService { .setFileTime(nowTimeStr) .setPrjDir(isPrjDir) .setDataType(EleDataTypeEnum.FOLDER.code) - .setDataStatus(EleDataStatusEnum.NOT_PUBLISHED.code) - .setEffectFlag(EffectFlagEnum.EFFECT.code) + .setDataStatus(isPrjDir ? EleDataStatusEnum.NOT_PUBLISHED.code : EleDataStatusEnum.PUBLISHED.code) + .setEffectFlag(isPrjDir ? EffectFlagEnum.NOT_EFFECTIVE.code : EffectFlagEnum.EFFECT.code) .setSaveStatus(EleDataSaveStatusEnum.SUCCESS.code) .setFilePath(path) .setSort(names.size() + 1) @@ -262,15 +262,16 @@ public class CommonService { log.info(info); return ElectromagneticResultUtil.fail("-1", info); } else { - // 先逻辑删除文件夹 + // 先设置dataStatus状态为删除状态 edFileInfoMapper.update(null, Wrappers.lambdaUpdate() .eq(EdFileInfo::getId, id) .set(EdFileInfo::getSort, -1) - .set(EdFileInfo::getEffectFlag, EffectFlagEnum.NOT_EFFECTIVE.code)); + .set(EdFileInfo::getDataStatus, EleDataStatusEnum.DELETED.code)); // 层级文件夹重排序 List edFileInfos1 = edFileInfoMapper.selectList(Wrappers.lambdaQuery(EdFileInfo.class) .select(EdFileInfo::getId, EdFileInfo::getSort) .eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code) + .ne(EdFileInfo::getDataStatus, EleDataStatusEnum.DELETED.code) .eq(EdFileInfo::getParentId, parentId) .orderByAsc(EdFileInfo::getSort)); Date now = new Date(); diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdPrjServiceImpl.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdPrjServiceImpl.java index b1d4afb..388f9c3 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdPrjServiceImpl.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdPrjServiceImpl.java @@ -257,8 +257,16 @@ public class EdPrjServiceImpl extends ServiceImpl @Transactional(rollbackFor = Exception.class) public ElectromagneticResult publish(String prjId) { try { + + // 将已经处于删除状态设置成逻辑删除 + this.update(Wrappers.lambdaUpdate(EdFileInfo.class) + .eq(EdFileInfo::getDataStatus, EleDataStatusEnum.DELETED.code) + .set(EdFileInfo::getEffectFlag, EffectFlagEnum.NOT_EFFECTIVE.code) + .likeRight(EdFileInfo::getFilePath, prjId)); + // 其余置为发布状态 LambdaUpdateWrapper updateWrapper = Wrappers.lambdaUpdate(EdFileInfo.class) - .set(EdFileInfo::getDataStatus, EleDataStatusEnum.PUBLISHED.code) + .set(EdFileInfo::getDataStatus, EleDataStatusEnum.NOT_PUBLISHED.code) + .eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code) .likeRight(EdFileInfo::getFilePath, prjId); this.update(updateWrapper); return ElectromagneticResultUtil.success(true); diff --git a/electromagnetic-common/src/main/java/com/electromagnetic/industry/software/common/enums/EleDataStatusEnum.java b/electromagnetic-common/src/main/java/com/electromagnetic/industry/software/common/enums/EleDataStatusEnum.java index 36a977f..5e36b87 100644 --- a/electromagnetic-common/src/main/java/com/electromagnetic/industry/software/common/enums/EleDataStatusEnum.java +++ b/electromagnetic-common/src/main/java/com/electromagnetic/industry/software/common/enums/EleDataStatusEnum.java @@ -7,7 +7,8 @@ public enum EleDataStatusEnum { NOT_PUBLISHED(0, "未发布"), PUBLISHED(1, "已发布"), - OCCUPY(2, "占用"); + OCCUPY(2, "占用"), + DELETED(3, "已删除"); public final int code; public final String desc;