From 0a0174e3b784f7f9f7c3abfb419c23ee26709d0f Mon Sep 17 00:00:00 2001
From: zhaowenyu <35589726@qq.com>
Date: Wed, 01 Apr 2026 14:29:42 +0800
Subject: [PATCH] 2026-04-01 优化机场列表,注释获取机场视频地址代码。
---
ard-sample/src/main/java/com/ard/sample/annotation/service/impl/AnnotationDirectoryServiceImpl.java | 27 +++++++++++++++++++++++----
1 files changed, 23 insertions(+), 4 deletions(-)
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