From 210663040bf65ee00b5f86545fdc31bd0356fddf Mon Sep 17 00:00:00 2001
From: yeg <1347747024@qq.com>
Date: 星期四, 27 八月 2026 16:31:53 +0800
Subject: [PATCH] feat(device): persist simulator discovery in redis

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/TDetectionCabinetController.java |   32 +++++++++++++++++++++++++++++++-
 1 files changed, 31 insertions(+), 1 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/TDetectionCabinetController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/TDetectionCabinetController.java
index 2786419..830304b 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/TDetectionCabinetController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/TDetectionCabinetController.java
@@ -1,5 +1,6 @@
 package com.ruoyi.web.controller.system;
 
+import java.util.Collections;
 import java.util.List;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.validation.annotation.Validated;
@@ -12,11 +13,15 @@
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.constant.HttpStatus;
 import com.ruoyi.common.core.controller.BaseController;
 import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.core.page.TableDataInfo;
+import com.ruoyi.common.core.page.PageDomain;
+import com.ruoyi.common.core.page.TableSupport;
 import com.ruoyi.common.enums.BusinessType;
 import com.ruoyi.system.domain.TDetectionCabinet;
+import com.ruoyi.system.domain.vo.DiscoveredCabinetVo;
 import com.ruoyi.system.service.ITDetectionCabinetService;
 
 /**
@@ -53,6 +58,31 @@
         startPage();
         List<TDetectionCabinet> list = detectionCabinetService.selectDetectionCabinetList(detectionCabinet);
         return getDataTable(list);
+    }
+
+    /**
+     * 保留原设备选择弹窗使用的分页接口,数据来自 Redis 发现候选。
+     *
+     * @return 可供选择的检测柜分页数据
+     */
+    @PreAuthorize("@ss.hasPermi('system:detectionCabinet:list')")
+    @GetMapping("/discovered/list")
+    public TableDataInfo discoveredList()
+    {
+        List<DiscoveredCabinetVo> devices = detectionCabinetService.selectDiscoveredCabinetList();
+        PageDomain pageDomain = TableSupport.buildPageRequest();
+        int pageNum = pageDomain.getPageNum() == null || pageDomain.getPageNum() < 1 ? 1 : pageDomain.getPageNum();
+        int pageSize = pageDomain.getPageSize() == null || pageDomain.getPageSize() < 1 ? 10 : pageDomain.getPageSize();
+        long offset = (long) (pageNum - 1) * pageSize;
+        int fromIndex = (int) Math.min(offset, devices.size());
+        int toIndex = (int) Math.min((long) fromIndex + pageSize, devices.size());
+        List<DiscoveredCabinetVo> rows = fromIndex == toIndex
+                ? Collections.emptyList()
+                : devices.subList(fromIndex, toIndex);
+        TableDataInfo result = new TableDataInfo(rows, devices.size());
+        result.setCode(HttpStatus.SUCCESS);
+        result.setMsg("查询成功");
+        return result;
     }
 
     /**
@@ -114,7 +144,7 @@
     }
 
     /**
-     * 批量逻辑删除检测柜,测试中的检测柜不能删除。
+     * 批量取消检测柜登记,测试中的检测柜不能操作。
      *
      * @param cabinetIds 检测柜主键数组
      * @return 操作结果

--
Gitblit v1.7.1