diff --git a/RuoYi-Vue/ruoyi-train/src/main/java/com/ruoyi/train/mapper/TrainDormitoryInfoMapper.java b/RuoYi-Vue/ruoyi-train/src/main/java/com/ruoyi/train/mapper/TrainDormitoryInfoMapper.java
index 280d29100..0df975db0 100644
--- a/RuoYi-Vue/ruoyi-train/src/main/java/com/ruoyi/train/mapper/TrainDormitoryInfoMapper.java
+++ b/RuoYi-Vue/ruoyi-train/src/main/java/com/ruoyi/train/mapper/TrainDormitoryInfoMapper.java
@@ -21,6 +21,14 @@ public interface TrainDormitoryInfoMapper
*/
public TrainDormitoryInfo selectTrainDormitoryInfoByDormId(String dormId);
+ /**
+ * 查询宿舍信息并加行级排他锁 (SELECT ... FOR UPDATE)
+ *
+ * @param dormId 宿舍信息主键
+ * @return 宿舍信息
+ */
+ public TrainDormitoryInfo selectTrainDormitoryInfoForUpdate(@Param("dormId") String dormId);
+
/**
* 查询宿舍信息列表 (包含实时聚合的 used_count 与 remaining_beds)
*
diff --git a/RuoYi-Vue/ruoyi-train/src/main/resources/mapper/train/TrainDormitoryInfoMapper.xml b/RuoYi-Vue/ruoyi-train/src/main/resources/mapper/train/TrainDormitoryInfoMapper.xml
index 29aca8a72..7212685e6 100644
--- a/RuoYi-Vue/ruoyi-train/src/main/resources/mapper/train/TrainDormitoryInfoMapper.xml
+++ b/RuoYi-Vue/ruoyi-train/src/main/resources/mapper/train/TrainDormitoryInfoMapper.xml
@@ -76,6 +76,27 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
WHERE d.dorm_id = #{dormId} AND d.del_flag = '0'
+
+