diff --git a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/manager/RocketEnergyAggregator.java b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/manager/RocketEnergyAggregator.java index e4ae01bd..107bb838 100644 --- a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/manager/RocketEnergyAggregator.java +++ b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/manager/RocketEnergyAggregator.java @@ -264,7 +264,7 @@ public class RocketEnergyAggregator { // 校验状态 if (!rocketStatus.canAddEnergy()) { log.warn("火箭不可充能, roomId={}, status={}", roomId, rocketStatus.getStatus()); - throw new RuntimeException("火箭状态不允许充能"); + return; } // 记录增加前的状态 diff --git a/rc-service/rc-service-other/other-domain/src/main/java/com/red/circle/other/domain/rocket/RocketLevel.java b/rc-service/rc-service-other/other-domain/src/main/java/com/red/circle/other/domain/rocket/RocketLevel.java index 0f9a892a..c6bacba5 100644 --- a/rc-service/rc-service-other/other-domain/src/main/java/com/red/circle/other/domain/rocket/RocketLevel.java +++ b/rc-service/rc-service-other/other-domain/src/main/java/com/red/circle/other/domain/rocket/RocketLevel.java @@ -63,7 +63,7 @@ public enum RocketLevel { return switch (this) { case LEVEL_1 -> LEVEL_2; case LEVEL_2 -> LEVEL_3; - case LEVEL_3 -> LEVEL_3; // 三级是最高级,返回null表示需要重置 + case LEVEL_3 -> null; // 三级是最高级,返回null表示需要重置 }; } diff --git a/rc-service/rc-service-other/other-domain/src/main/java/com/red/circle/other/domain/rocket/RocketStatus.java b/rc-service/rc-service-other/other-domain/src/main/java/com/red/circle/other/domain/rocket/RocketStatus.java index 2c349f36..1a04a999 100644 --- a/rc-service/rc-service-other/other-domain/src/main/java/com/red/circle/other/domain/rocket/RocketStatus.java +++ b/rc-service/rc-service-other/other-domain/src/main/java/com/red/circle/other/domain/rocket/RocketStatus.java @@ -175,6 +175,11 @@ public class RocketStatus { * @param targetLevel 目标等级 */ public void upgradeToLevel(RocketConfigGateway configGateway, RocketLevel targetLevel) { + if (targetLevel == null) { + this.status = RocketStatusEnum.LAUNCHED; + return; + } + // 查询目标等级的配置 RocketConfig targetConfig = configGateway.findByLevel(targetLevel.getLevel()); if (targetConfig == null || targetConfig.getStatus() != 1) {