火箭发射增加兜底逻辑

This commit is contained in:
tianfeng 2026-03-09 18:09:01 +08:00
parent 4cba23c4c9
commit 66eb9a1af4

View File

@ -311,7 +311,12 @@ public class RocketEnergyAggregator {
if (rocketStatus.isFullEnergy() && rocketStatus.getStatus() == RocketStatusEnum.CHARGING) {
log.info("火箭能量已满, 准备发射, roomId={}, level={}, 触发用户={}",
roomId, rocketStatus.getLevel().getLevel(), triggerUserId);
// triggerUserId null batch 最后一条作为兜底
if (triggerUserId == null) {
triggerUserId = batch.isEmpty() ? null : batch.get(batch.size() - 1).getUserId();
log.warn("triggerUserId 未找到(能量进入批次前已满?),使用兜底用户: roomId={}, userId={}",
roomId, triggerUserId);
}
// 异步触发发射
rocketLaunchManager.launchAsync(roomId, triggerUserId);
}