From bf2639e4821122e0bf2d8b25b1de74e75bb6cff5 Mon Sep 17 00:00:00 2001
From: zhaowenyu <35589726@qq.com>
Date: Mon, 09 Mar 2026 14:30:01 +0800
Subject: [PATCH] 2026-03-09 标记功能接口调整: 1、目录表增加is_delete字段,用于标记目录是否可以删除;只要true/false; 2、目录数据库中增加“默认文件夹”数据,不可被删除;在删除目录中判断固定id为default_directory_00000001的数据不可删除。
---
ard-sample/src/main/java/com/ard/sample/annotation/model/entity/AnnotationDirectoryEntity.java | 8 +++++++-
ard-sample/src/main/java/com/ard/sample/annotation/model/dto/AnnotationDTO.java | 2 +-
ard-sample/src/main/java/com/ard/sample/annotation/model/dto/AnnotationDirectoryDTO.java | 7 ++++++-
ard-sample/src/main/java/com/ard/sample/annotation/service/impl/AnnotationDirectoryServiceImpl.java | 7 ++++++-
ard-sample/src/main/java/com/ard/sample/annotation/model/entity/AnnotationEntity.java | 2 +-
5 files changed, 21 insertions(+), 5 deletions(-)
diff --git a/ard-sample/src/main/java/com/ard/sample/annotation/model/dto/AnnotationDTO.java b/ard-sample/src/main/java/com/ard/sample/annotation/model/dto/AnnotationDTO.java
index f341ba5..415c79f 100644
--- a/ard-sample/src/main/java/com/ard/sample/annotation/model/dto/AnnotationDTO.java
+++ b/ard-sample/src/main/java/com/ard/sample/annotation/model/dto/AnnotationDTO.java
@@ -31,7 +31,7 @@
private String drawer;
/**
- * 是否可见:0=可见,1=不可见(默认0)
+ * 是否可见:true(1)=可见,false(0)=不可见(默认true)
*/
private Boolean isTrue; // 显式设置默认值,避免空值
diff --git a/ard-sample/src/main/java/com/ard/sample/annotation/model/dto/AnnotationDirectoryDTO.java b/ard-sample/src/main/java/com/ard/sample/annotation/model/dto/AnnotationDirectoryDTO.java
index 618f958..dc8461d 100644
--- a/ard-sample/src/main/java/com/ard/sample/annotation/model/dto/AnnotationDirectoryDTO.java
+++ b/ard-sample/src/main/java/com/ard/sample/annotation/model/dto/AnnotationDirectoryDTO.java
@@ -22,7 +22,7 @@
private String directoryName;
/**
- * 是否可见:0=可见,1=不可见(默认0)
+ * 是否可见:true(1)=可见,false(0)=不可见(默认true)
*/
private Boolean isTrue;
@@ -33,4 +33,9 @@
private Long createTime;
private Long updateTime;
+
+ /**
+ * 是否可以删除,默认值为true(1),表示可以删除,只有默认文件夹为false(0),表示不可以删除
+ * */
+ private Boolean isDeleted; // 显式设置默认值,避免空值
}
diff --git a/ard-sample/src/main/java/com/ard/sample/annotation/model/entity/AnnotationDirectoryEntity.java b/ard-sample/src/main/java/com/ard/sample/annotation/model/entity/AnnotationDirectoryEntity.java
index 1cd1e9e..a940e03 100644
--- a/ard-sample/src/main/java/com/ard/sample/annotation/model/entity/AnnotationDirectoryEntity.java
+++ b/ard-sample/src/main/java/com/ard/sample/annotation/model/entity/AnnotationDirectoryEntity.java
@@ -28,7 +28,7 @@
private String directoryName;
/**
- * 是否可见:true=可见,false=不可见(默认true)
+ * 是否可见:true(1)=可见,false(0)=不可见(默认true)
*/
@TableField(value = "is_true")
private Boolean isTrue = true; // 显式设置默认值,避免空值
@@ -51,4 +51,10 @@
@TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
private Long updateTime;
+ /**
+ * 是否可以删除,默认值为true(1),表示可以删除,只有默认文件夹为false(0),表示不可以删除
+ * */
+ @TableField(value = "is_deleted")
+ private Boolean isDeleted = true; // 显式设置默认值,避免空值
+
}
diff --git a/ard-sample/src/main/java/com/ard/sample/annotation/model/entity/AnnotationEntity.java b/ard-sample/src/main/java/com/ard/sample/annotation/model/entity/AnnotationEntity.java
index ff8e91d..c6a9165 100644
--- a/ard-sample/src/main/java/com/ard/sample/annotation/model/entity/AnnotationEntity.java
+++ b/ard-sample/src/main/java/com/ard/sample/annotation/model/entity/AnnotationEntity.java
@@ -63,7 +63,7 @@
private String drawer;
/**
- * 是否可见:true=可见,false=不可见(默认true)
+ * 是否可见:true(1)=可见,false(0)=不可见(默认true)
*/
@TableField(value = "is_true")
private Boolean isTrue = true; // 显式设置默认值,避免空值
diff --git a/ard-sample/src/main/java/com/ard/sample/annotation/service/impl/AnnotationDirectoryServiceImpl.java b/ard-sample/src/main/java/com/ard/sample/annotation/service/impl/AnnotationDirectoryServiceImpl.java
index ada036c..577addc 100644
--- a/ard-sample/src/main/java/com/ard/sample/annotation/service/impl/AnnotationDirectoryServiceImpl.java
+++ b/ard-sample/src/main/java/com/ard/sample/annotation/service/impl/AnnotationDirectoryServiceImpl.java
@@ -63,10 +63,15 @@
@Override
@Transactional(rollbackFor = Exception.class) // 事务保证级联删除
public boolean deleteDirectory(String id) {
- if (id == null) {
+ if (id == null || id.isEmpty()) {
log.error("删除目录失败:ID为空");
return false;
}
+ // ====================== 关键:不允许删除默认文件夹 ======================
+ if ("default_directory_00000001".equals(id)) {
+ log.error("删除目录失败:默认文件夹不允许删除");
+ throw new RuntimeException("默认文件夹不允许删除");
+ }
// 1. 删除目录下所有标记
annotationMapper.deleteByMap(Map.of("directory_id", id));
// 2. 删除目录
--
Gitblit v1.9.3