Bläddra i källkod

fix: 门状态轮询接口改用doorStatus字段替代device.status

- 原接口读device.status(设备在线状态1/0/2) 与门开闭无关
- 改为读device.doorStatus(OPENED/CLOSED/ERROR/ANOTHER)
- 返回status:1=门已开, status:0=门已关 保持前端兼容

Co-Authored-By: Claude <noreply@anthropic.com>
skyline 1 dag sedan
förälder
incheckning
778eab4d08

+ 7 - 3
haha-admin/src/main/java/com/haha/admin/controller/ReplenisherOperationController.java

@@ -261,7 +261,7 @@ public class ReplenisherOperationController {
      * 查询设备门状态(轻量轮询用)
      */
     @GetMapping("/device/{deviceId}/status")
-    public Result<Map<String, Object>> getDeviceStatus(@PathVariable String deviceId) {
+    public Result<Map<String, Object>> getDeviceDoorStatus(@PathVariable String deviceId) {
         if (!canAccessDevice(deviceId)) {
             return Result.error(403, "您无权查看此设备");
         }
@@ -269,9 +269,13 @@ public class ReplenisherOperationController {
         if (device == null) {
             return Result.error(404, "设备不存在");
         }
+        String doorStatus = device.getDoorStatus();
+        // OPENED=门已开, CLOSED=门已关, 其余视为未知
+        boolean isOpen = "OPENED".equalsIgnoreCase(doorStatus);
         Map<String, Object> result = new HashMap<>();
-        result.put("status", device.getStatus());
-        result.put("statusLabel", getDeviceStatusLabel(device.getStatus()));
+        result.put("status", isOpen ? 1 : 0);
+        result.put("statusLabel", isOpen ? "门已开" : "门已关");
+        result.put("doorStatus", doorStatus);
         return Result.success("查询成功", result);
     }