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' + +