From 1566e4c7604d85737ea67fe6757e71b8185fa48e Mon Sep 17 00:00:00 2001
From: huang <1532065656@qq.com>
Date: 星期二, 18 十一月 2025 16:52:42 +0800
Subject: [PATCH] 添加设备管理页面,添加测试设备任务监控页面

---
 mes-processes/mes-plcSend/src/main/java/com/mes/device/controller/DeviceInteractionController.java |   46 ++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 38 insertions(+), 8 deletions(-)

diff --git a/mes-processes/mes-plcSend/src/main/java/com/mes/device/controller/DeviceInteractionController.java b/mes-processes/mes-plcSend/src/main/java/com/mes/device/controller/DeviceInteractionController.java
index b5655ae..f38af62 100644
--- a/mes-processes/mes-plcSend/src/main/java/com/mes/device/controller/DeviceInteractionController.java
+++ b/mes-processes/mes-plcSend/src/main/java/com/mes/device/controller/DeviceInteractionController.java
@@ -4,20 +4,22 @@
 import com.mes.device.service.DeviceInteractionService;
 import com.mes.device.vo.DevicePlcVO;
 import com.mes.vo.Result;
-import io.swagger.v3.oas.annotations.Operation;
-import io.swagger.v3.oas.annotations.tags.Tag;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import lombok.Data;
 import lombok.RequiredArgsConstructor;
 import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import javax.validation.Valid;
+import javax.validation.constraints.NotNull;
+import java.util.List;
+import java.util.Map;
 
 @RestController
 @RequestMapping("device/interaction")
-@Tag(name = "璁惧浜や簰", description = "璁惧浜や簰閫昏緫鎵ц鎺ュ彛")
+@Api(tags = "璁惧浜や簰")
 @Validated
 @RequiredArgsConstructor
 public class DeviceInteractionController {
@@ -25,9 +27,37 @@
     private final DeviceInteractionService deviceInteractionService;
 
     @PostMapping("/glass-feed")
-    @Operation(summary = "鐜荤拑涓婃枡鍐欏叆")
+    @ApiOperation("鐜荤拑涓婃枡鍐欏叆")
     public Result<DevicePlcVO.OperationResult> feedGlass(@Valid @RequestBody DeviceGlassFeedRequest request) {
         return Result.success(deviceInteractionService.feedGlass(request));
     }
+
+    @PostMapping("/execute")
+    @ApiOperation("鎵ц璁惧閫昏緫鎿嶄綔")
+    public Result<DevicePlcVO.OperationResult> executeOperation(
+            @Valid @RequestBody DeviceOperationRequest request) {
+        return Result.success(deviceInteractionService.executeOperation(
+                request.getDeviceId(),
+                request.getOperation(),
+                request.getParams()
+        ));
+    }
+
+    /**
+     * 璁惧鎿嶄綔璇锋眰
+     */
+    @Data
+    public static class DeviceOperationRequest {
+        @NotNull(message = "璁惧ID涓嶈兘涓虹┖")
+        @ApiParam(value = "璁惧ID", required = true)
+        private Long deviceId;
+
+        @NotNull(message = "鎿嶄綔绫诲瀷涓嶈兘涓虹┖")
+        @ApiParam(value = "鎿嶄綔绫诲瀷锛堝锛歠eedGlass, triggerRequest, triggerReport绛夛級", required = true)
+        private String operation;
+
+        @ApiParam(value = "鎿嶄綔鍙傛暟")
+        private Map<String, Object> params;
+    }
 }
 

--
Gitblit v1.8.0