From dee32192e3436cdee86db3a25784ce195b0e99a5 Mon Sep 17 00:00:00 2001
From: zhaowenyu <35589726@qq.com>
Date: Tue, 10 Mar 2026 15:24:03 +0800
Subject: [PATCH] 2026-03-09 优化 1、优化目录是否可见接口,修改目录时同步修改目录下属的所有标注是否可见。 2、优化controller接口返回数据字段。

---
 ard-sample/src/main/java/com/ard/sample/annotation/service/impl/AnnotationDirectoryServiceImpl.java |   27 +++++++++++--
 ard-admin/src/main/java/com/ard/web/controller/sample/AnnotationController.java                     |   44 +++++++++++-----------
 2 files changed, 45 insertions(+), 26 deletions(-)

diff --git a/ard-admin/src/main/java/com/ard/web/controller/sample/AnnotationController.java b/ard-admin/src/main/java/com/ard/web/controller/sample/AnnotationController.java
index cd69d4d..864dd6b 100644
--- a/ard-admin/src/main/java/com/ard/web/controller/sample/AnnotationController.java
+++ b/ard-admin/src/main/java/com/ard/web/controller/sample/AnnotationController.java
@@ -45,12 +45,12 @@
             else {
                 re = 400;
             }
-            result.put("success", re);
+            result.put("code", re);
             result.put("msg", success ? "目录新增成功" : "目录新增失败");
             result.put("data", entity.getId()); // 返回新增ID
         } catch (Exception e) {
             log.error("新增目录异常", e);
-            result.put("success", 400);
+            result.put("code", 400);
             result.put("msg", "新增目录失败:" + e.getMessage());
         }
         return ResponseEntity.ok(result);
@@ -70,11 +70,11 @@
             else {
                 re = 400;
             }
-            result.put("success", re);
+            result.put("code", re);
             result.put("msg", success ? "目录修改成功" : "目录修改失败");
         } catch (Exception e) {
             log.error("修改目录异常", e);
-            result.put("success", 400);
+            result.put("code", 400);
             result.put("msg", "修改目录失败:" + e.getMessage());
         }
         return ResponseEntity.ok(result);
@@ -94,12 +94,12 @@
             else {
                 re = 400;
             }
-            result.put("success", re);
+            result.put("code", re);
             result.put("msg", success ? "修改目录是否可见成功" : "修改目录是否可见失败");
         }
         catch (Exception e) {
             log.error("修改目录是否可见异常", e);
-            result.put("success", 400);
+            result.put("code", 400);
             result.put("msg", "修改目录是否可见失败:" + e.getMessage());
         }
         return ResponseEntity.ok(result);
@@ -118,11 +118,11 @@
             else {
                 re = 400;
             }
-            result.put("success", re);
+            result.put("code", re);
             result.put("msg", success ? "目录删除成功" : "目录删除失败");
         } catch (Exception e) {
             log.error("删除目录异常", e);
-            result.put("success", 400);
+            result.put("code", 400);
             result.put("msg", "删除目录失败:" + e.getMessage());
         }
         return ResponseEntity.ok(result);
@@ -144,12 +144,12 @@
             else {
                 re = 400;
             }
-            result.put("success", re);
+            result.put("code", re);
             result.put("msg", success ? "标记新增成功" : "标记新增失败");
             result.put("data", entity.getId());
         } catch (Exception e) {
             log.error("新增标记异常", e);
-            result.put("success", 400);
+            result.put("code", 400);
             result.put("msg", "新增标记失败:" + e.getMessage());
         }
         return ResponseEntity.ok(result);
@@ -169,11 +169,11 @@
             else {
                 re = 400;
             }
-            result.put("success", re);
+            result.put("code", re);
             result.put("msg", success ? "标记修改成功" : "标记修改失败");
         } catch (Exception e) {
             log.error("修改标记异常", e);
-            result.put("success", 400);
+            result.put("code", 400);
             result.put("msg", "修改标记失败:" + e.getMessage());
         }
         return ResponseEntity.ok(result);
@@ -193,12 +193,12 @@
             else {
                 re = 400;
             }
-            result.put("success", re);
+            result.put("code", re);
             result.put("msg", success ? "修改标记是否可见成功" : "修改标记是否可见失败");
         }
         catch (Exception e) {
             log.error("修改标记是否可见异常", e);
-            result.put("success", 400);
+            result.put("code", 400);
             result.put("msg", "修改标记是否可见失败:" + e.getMessage());
         }
         //boolean result = annotationService.updateAnnotationVisible(id, isTrue);
@@ -218,11 +218,11 @@
             else {
                 re = 400;
             }
-            result.put("success", re);
+            result.put("code", re);
             result.put("msg", success ? "标记删除成功" : "标记删除失败");
         } catch (Exception e) {
             log.error("删除标记异常", e);
-            result.put("success", 400);
+            result.put("code", 400);
             result.put("msg", "删除标记失败:" + e.getMessage());
         }
         return ResponseEntity.ok(result);
@@ -241,11 +241,11 @@
             else {
                 re = 400;
             }
-            result.put("success", re);
+            result.put("code", re);
             result.put("msg", success ? "标记批量删除成功" : "标记批量删除失败");
         } catch (Exception e) {
             log.error("批量删除标记异常", e);
-            result.put("success", 400);
+            result.put("code", 400);
             result.put("msg", "批量删除标记失败:" + e.getMessage());
         }
         return ResponseEntity.ok(result);
@@ -260,7 +260,7 @@
             // 1. 查询目录
             AnnotationDirectoryEntity dirEntity = directoryService.getById(directoryId);
             if (dirEntity == null) {
-                result.put("success", 400);
+                result.put("code", 400);
                 result.put("msg", "目录不存在");
                 return ResponseEntity.ok(result);
             }
@@ -271,11 +271,11 @@
             List<AnnotationDTO> annoDtos = ConvertUtil.annotationEntityListToDtoList(annoEntities);
             dirDto.setAnnotations(annoDtos);
 
-            result.put("success", 200);
+            result.put("code", 200);
             result.put("data", dirDto);
         } catch (Exception e) {
             log.error("查询目录及标记异常", e);
-            result.put("success", 400);
+            result.put("code", 400);
             result.put("msg", "查询失败:" + e.getMessage());
         }
         return ResponseEntity.ok(result);
@@ -290,7 +290,7 @@
         List<AnnotationDirectoryDTO> directoryList = directoryService.listAllDirectoryWithAnnotations();
 
         Map<String, Object> result = new HashMap<>();
-        result.put("success", 200);
+        result.put("code", 200);
         result.put("msg", "查询全部目录及标注成功");
         result.put("data", directoryList);
 
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 6ad0f4f..07faca2 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
@@ -9,6 +9,7 @@
 import com.ard.sample.annotation.service.IAnnotationDirectoryService;
 import com.ard.sample.annotation.service.IAnnotationService;
 import com.ard.sample.annotation.util.JsonSerializeUtil;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ard.sample.annotation.mapper.AnnotationDirectoryMapper;
 import lombok.RequiredArgsConstructor;
@@ -50,15 +51,33 @@
      * 新增:修改目录显示状态
      */
     @Override
+    @Transactional(rollbackFor = Exception.class) // 事务控制:目录和标注修改要么都成功,要么都回滚
     public boolean updateDirectoryVisible(String id, Boolean isTrue) {
+        // 1. 参数校验
         if (id == null || id.isEmpty() || isTrue == null) {
             log.error("修改目录显示状态失败:参数非法,id={}, isTrue={}", id, isTrue);
             return false;
         }
-        AnnotationDirectoryEntity entity = new AnnotationDirectoryEntity();
-        entity.setId(id);
-        entity.setIsTrue(isTrue);
-        return updateById(entity);
+        // 2. 修改目录自身的可见状态
+        AnnotationDirectoryEntity directoryEntity = new AnnotationDirectoryEntity();
+        directoryEntity.setId(id);
+        directoryEntity.setIsTrue(isTrue);
+        boolean dirUpdateResult = updateById(directoryEntity);
+        if (!dirUpdateResult) {
+            log.error("修改目录{}显示状态失败", id);
+            return false;
+        }
+        // 3. 批量修改该目录下所有标注的可见状态(核心新增逻辑)
+        LambdaUpdateWrapper<AnnotationEntity> annotationUpdateWrapper = new LambdaUpdateWrapper<>();
+        annotationUpdateWrapper.eq(AnnotationEntity::getDirectoryId, id) // 匹配目录ID
+                .set(AnnotationEntity::getIsTrue, isTrue); // 同步设置相同的可见状态
+        boolean annotationUpdateResult = annotationService.update(annotationUpdateWrapper);
+        // 简化日志:只记录操作结果
+        log.info("目录{}显示状态修改成功(状态:{}),下属标注状态同步修改结果:{}",
+                id, isTrue, annotationUpdateResult);
+
+        // 4. 返回最终结果(目录修改成功且标注修改成功,或标注无数据时返回目录修改结果)
+        return dirUpdateResult;
     }
 
     @Override

--
Gitblit v1.9.3