From c8fbeff3b07f96ffb4624dd64344ac00ec0c8ef8 Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期五, 18 七月 2025 11:03:47 +0800
Subject: [PATCH] 1.优化正式库 2.yml设置

---
 main-business/src/main/java/com/ruoyi/business/service/impl/EquipmentManagementServiceImpl.java |   17 ++++++++++++++++-
 1 files changed, 16 insertions(+), 1 deletions(-)

diff --git a/main-business/src/main/java/com/ruoyi/business/service/impl/EquipmentManagementServiceImpl.java b/main-business/src/main/java/com/ruoyi/business/service/impl/EquipmentManagementServiceImpl.java
index 863d663..ece6d7b 100644
--- a/main-business/src/main/java/com/ruoyi/business/service/impl/EquipmentManagementServiceImpl.java
+++ b/main-business/src/main/java/com/ruoyi/business/service/impl/EquipmentManagementServiceImpl.java
@@ -11,11 +11,15 @@
 import com.ruoyi.business.service.EquipmentManagementService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.business.vo.EquipmentManagementVo;
+import com.ruoyi.common.exception.base.BaseException;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.bean.BeanUtils;
 import org.springframework.stereotype.Service;
 import lombok.RequiredArgsConstructor;
+import org.springframework.transaction.annotation.Isolation;
+import org.springframework.transaction.annotation.Transactional;
 
+import java.beans.Transient;
 import java.util.Arrays;
 import java.util.List;
 import java.util.Objects;
@@ -109,7 +113,18 @@
     }
 
     @Override
+    @Transactional(isolation = Isolation.REPEATABLE_READ)
     public int delByIds(Long[] ids) {
-        return equipmentManagementMapper.deleteByIds(Arrays.asList(ids));
+        // 1. 妫�鏌ヨ澶囨槸鍚︽鍦ㄤ娇鐢紙娣诲姞琛岄攣 for update锛�
+        List<EquipmentUsageRecord> records = equipmentUsageRecordMapper.selectList(
+                new LambdaQueryWrapper<EquipmentUsageRecord>()
+                        .in(EquipmentUsageRecord::getEquipmentId, Arrays.asList(ids))
+                        .last("FOR UPDATE") // 娣诲姞琛岄攣锛岄攣瀹氭煡璇㈢粨鏋�
+        );
+        if (!records.isEmpty()) {
+            throw new BaseException("璁惧姝e湪浣跨敤涓紝璇锋牳瀵�!");
+        } else {
+            return equipmentManagementMapper.deleteByIds(Arrays.asList(ids));
+        }
     }
 }

--
Gitblit v1.9.3