diff --git a/src/main/java/com/qyft/gd/device/controller/TestController.java b/src/main/java/com/qyft/gd/device/controller/TestController.java index 49f66b6..0b0565c 100644 --- a/src/main/java/com/qyft/gd/device/controller/TestController.java +++ b/src/main/java/com/qyft/gd/device/controller/TestController.java @@ -1,5 +1,6 @@ package com.qyft.gd.device.controller; +import com.qyft.gd.device.model.bo.DeviceStatus; import com.qyft.gd.device.service.DeviceService; import com.qyft.gd.system.common.result.Result; import io.swagger.v3.oas.annotations.Operation; @@ -11,6 +12,9 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; +import java.util.ArrayList; +import java.util.List; + @Tag(name = "测试") @RestController @RequestMapping("/api/test") @@ -197,7 +201,7 @@ public class TestController { @Operation(summary = "开始加热") @GetMapping("/startHeating") - public Result startHeating(@RequestParam String heaterId, @RequestParam int temperature) { + public Result startHeating(@RequestParam String heaterId, @RequestParam Double temperature) { boolean success = deviceService.startHeating(heaterId, temperature); if (success) { return Result.success(); @@ -249,4 +253,63 @@ public class TestController { return Result.failed("拍照失败"); } } + @Operation(summary = "生成设备状态实体") + @GetMapping("/getDeviceStatus") + public Result getDeviceStatus() { + // 创建 RailArm 对象 + DeviceStatus.RailArm railArm = new DeviceStatus.RailArm(); + railArm.setX(100); + railArm.setY(200); + railArm.setZ(300); + railArm.setJoint1(45.5); + railArm.setJoint2(90.0); + railArm.setRailDistance(10.5); + railArm.setClawDistance(5.5); + railArm.setSpeed(20); + railArm.setClawStatus(true); // 夹爪张开状态 + + // 创建 LiquidArm 对象 + DeviceStatus.LiquidArm liquidArm = new DeviceStatus.LiquidArm(); + liquidArm.setX(150); + liquidArm.setY(250); + liquidArm.setZ(350); + liquidArm.setJoint1(30.0); + liquidArm.setJoint2(60.0); + liquidArm.setSpeed(15); + + // 创建 Pump 对象 (8个 Pump) + List pumps = new ArrayList<>(); + for (int i = 1; i <= 8; i++) { + DeviceStatus.Pump pump = new DeviceStatus.Pump(); + pump.setPumpId("PUMP00" + i); + pump.setFlowRate(100 + i * 10); // 设置流量 + pumps.add(pump); + } + + // 创建 Heater 对象 (6个 Heater) + List heaters = new ArrayList<>(); + for (int i = 1; i <= 6; i++) { + DeviceStatus.Heater heater = new DeviceStatus.Heater(); + heater.setHeaterId("HEATER00" + i); + heater.setTrayStatus(i % 2 == 0); // 偶数加热器托盘状态为存在,奇数为无托盘 + heater.setTrayHeight(i * 0.5); // 设置托盘高度 + heater.setTraySpeed(0.8 + i * 0.1); // 设置托盘速度 + heater.setHeatingStatus(80.0 + i); // 设置加热状态(温度) + heater.setTemperature(90.0 + i); // 设置目标加热温度 + heaters.add(heater); + } + + // 创建 DeviceStatus 对象 + DeviceStatus deviceStatus = new DeviceStatus(); + deviceStatus.setDoorStatus(true); // 门开启 + deviceStatus.setRailArm(railArm); + deviceStatus.setLiquidArm(liquidArm); + deviceStatus.setPump(pumps); + deviceStatus.setShakingStatus(true); // 正在摇匀 + deviceStatus.setShakingSpeed(50); + deviceStatus.setHeatingStatus(true); // 正在加热 + deviceStatus.setHeater(heaters); + return Result.success(deviceStatus); + } + } diff --git a/src/main/java/com/qyft/gd/device/model/bo/DeviceStatus.java b/src/main/java/com/qyft/gd/device/model/bo/DeviceStatus.java index 1391707..4fcb0bb 100644 --- a/src/main/java/com/qyft/gd/device/model/bo/DeviceStatus.java +++ b/src/main/java/com/qyft/gd/device/model/bo/DeviceStatus.java @@ -30,7 +30,7 @@ public class DeviceStatus { private List heater; @Data - class RailArm{ + public static class RailArm{ @Schema(description = "所在x坐标") private Integer x; @Schema(description = "所在y坐标") @@ -52,7 +52,7 @@ public class DeviceStatus { } @Data - class LiquidArm{ + public static class LiquidArm{ @Schema(description = "所在x坐标") private Integer x; @Schema(description = "所在y坐标") @@ -68,7 +68,7 @@ public class DeviceStatus { } @Data - class Pump{ + public static class Pump{ @Schema(description = "加液泵id") private String pumpId; @Schema(description = "加液泵流量") @@ -76,7 +76,7 @@ public class DeviceStatus { } @Data - class Heater{ + public static class Heater{ @Schema(description = "加热器id") private String heaterId; @Schema(description = "托盘状态,true为存在托盘,false为无托盘")