diff --git a/src/main/java/com/iflytop/handacid/app/controller/TestController.java b/src/main/java/com/iflytop/handacid/app/controller/TestController.java index 01f1387..ba4a003 100644 --- a/src/main/java/com/iflytop/handacid/app/controller/TestController.java +++ b/src/main/java/com/iflytop/handacid/app/controller/TestController.java @@ -1,8 +1,7 @@ package com.iflytop.handacid.app.controller; -import com.iflytop.handacid.app.common.enums.MultipleModuleCode; +import com.iflytop.handacid.app.common.enums.ChannelCode; import com.iflytop.handacid.app.core.state.DeviceState; -import com.iflytop.handacid.app.service.TestService; import com.iflytop.handacid.common.result.Result; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; @@ -39,7 +38,7 @@ public class TestController { @Operation(summary = "设置模拟环境湿度") @PostMapping("/set-humidity") - public Result setHumidity(MultipleModuleCode heatModule, double humidity) { + public Result setHumidity(ChannelCode heatModule, double humidity) { return Result.success(); } } diff --git a/src/main/java/com/iflytop/handacid/app/core/state/ChannelState.java b/src/main/java/com/iflytop/handacid/app/core/state/ChannelState.java new file mode 100644 index 0000000..d3ba61a --- /dev/null +++ b/src/main/java/com/iflytop/handacid/app/core/state/ChannelState.java @@ -0,0 +1,28 @@ +package com.iflytop.handacid.app.core.state; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.iflytop.handacid.app.common.enums.ChannelCode; +import com.iflytop.handacid.app.common.enums.ChannelStateCode; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.RequiredArgsConstructor; +import org.springframework.context.annotation.Scope; +import org.springframework.stereotype.Component; + +@Schema(description = "通道状态") +@Data +@Component +@Scope("prototype") +@RequiredArgsConstructor +@JsonIgnoreProperties(value = {"advisors", "frozen", "preFiltered", "proxyTargetClass", "targetSource", "exposeProxy", "advisorCount", "proxiedInterfaces", "targetClass"}) +public class ChannelState { + @Schema(description = "通道code") + private ChannelCode channelCode; + + @Schema(description = "当前通道状态") + private ChannelStateCode stateCode = ChannelStateCode.IDLE; + + @Schema(description = "剩余容量(单位:mL)") + private Double remainingVolume; + +} diff --git a/src/main/java/com/iflytop/handacid/app/core/state/DeviceState.java b/src/main/java/com/iflytop/handacid/app/core/state/DeviceState.java index 50dd5bc..c9a97ea 100644 --- a/src/main/java/com/iflytop/handacid/app/core/state/DeviceState.java +++ b/src/main/java/com/iflytop/handacid/app/core/state/DeviceState.java @@ -1,9 +1,6 @@ package com.iflytop.handacid.app.core.state; import cn.hutool.json.JSONObject; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import com.iflytop.handacid.app.common.enums.ModuleStateCode; -import com.iflytop.handacid.app.common.enums.MultipleModuleCode; import com.iflytop.handacid.common.model.entity.User; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -16,22 +13,12 @@ import java.util.Map; @Schema(description = "设备当前状态") @Data @Component -@JsonIgnoreProperties(value = {"advisors", "frozen", "preFiltered", "proxyTargetClass", "targetSource", "exposeProxy", "advisorCount", "proxiedInterfaces", "targetClass"}) public class DeviceState { @Schema(description = "当前设备是否暂停") private volatile boolean craftsPaused = false; - @Schema(description = "通道1状态") - private volatile ModuleStateCode MODULE_1 = ModuleStateCode.IDLE; - - @Schema(description = "通道2状态") - private volatile ModuleStateCode MODULE_2 = ModuleStateCode.IDLE; - - @Schema(description = "通道3状态") - private volatile ModuleStateCode MODULE_3 = ModuleStateCode.IDLE; - - @Schema(description = "通道4状态") - private volatile ModuleStateCode MODULE_4 = ModuleStateCode.IDLE; + @Schema(description = "通道状态") + private final Map channelStateMap = new HashMap<>(); @Schema(description = "虚拟模式,true为虚拟") private volatile boolean virtual = false; @@ -44,10 +31,7 @@ public class DeviceState { public JSONObject toJSON() { JSONObject json = new JSONObject(); - json.putOnce("MODULE_1", MODULE_1); - json.putOnce("MODULE_2", MODULE_2); - json.putOnce("MODULE_3", MODULE_3); - json.putOnce("MODULE_4", MODULE_4); + json.putOnce("channelState", new ArrayList<>(channelStateMap.values())); json.putOnce("craftsPaused", craftsPaused); json.putOnce("virtual", virtual); json.putOnce("emergencyStop", emergencyStop);