From abd60d22b48640515ebdc6b3091156643f154d34 Mon Sep 17 00:00:00 2001 From: Tian jianyong <11429339@qq.com> Date: Fri, 8 Aug 2025 15:49:13 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=BA=86=E7=BA=A2=E7=BB=BF?= =?UTF-8?q?=E7=81=AF=E5=92=8C=E8=B7=AF=E5=8F=A3=E7=9A=84=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/IntersectionController.java | 13 +++++++-- .../controller/TrafficLightController.java | 10 +++++++ .../service/IntersectionService.java | 16 +++++++++++ .../service/TrafficLightService.java | 16 +++++++++++ .../TrafficLightSignalParserEnhancedTest.java | 27 ++++++++++--------- qaup-ui/vue.config.js | 9 +++++++ 6 files changed, 76 insertions(+), 15 deletions(-) diff --git a/qaup-collision/src/main/java/com/qaup/collision/controller/IntersectionController.java b/qaup-collision/src/main/java/com/qaup/collision/controller/IntersectionController.java index a0febf79..f023be5a 100644 --- a/qaup-collision/src/main/java/com/qaup/collision/controller/IntersectionController.java +++ b/qaup-collision/src/main/java/com/qaup/collision/controller/IntersectionController.java @@ -13,7 +13,6 @@ import org.springframework.web.bind.annotation.*; import jakarta.validation.Valid; import java.util.List; -import java.util.Map; import java.util.Optional; /** @@ -33,13 +32,23 @@ public class IntersectionController { /** * 获取所有激活的路口 */ - @GetMapping + @GetMapping("/active") @Operation(summary = "获取所有激活的路口", description = "返回系统中所有激活状态的路口列表") public ResponseEntity> getAllActiveIntersections() { List intersections = intersectionService.getAllActiveIntersections(); return ResponseEntity.ok(intersections); } + /** + * 获取所有路口列表 + */ + @GetMapping("/list") + @Operation(summary = "获取所有路口", description = "返回系统中所有路口的清单(包括激活和未激活)") + public ResponseEntity> getAllIntersections() { + List intersections = intersectionService.getAllIntersections(); + return ResponseEntity.ok(intersections); + } + /** * 根据路口ID获取路口信息 */ diff --git a/qaup-collision/src/main/java/com/qaup/collision/controller/TrafficLightController.java b/qaup-collision/src/main/java/com/qaup/collision/controller/TrafficLightController.java index c94874d9..b9b0b0a3 100644 --- a/qaup-collision/src/main/java/com/qaup/collision/controller/TrafficLightController.java +++ b/qaup-collision/src/main/java/com/qaup/collision/controller/TrafficLightController.java @@ -263,6 +263,16 @@ public class TrafficLightController { TrafficLightService.DeviceStatistics statistics = trafficLightService.getStatistics(); return ResponseEntity.ok(statistics); } + + /** + * 获取所有红绿灯设备列表 + */ + @GetMapping("/list") + @Operation(summary = "获取所有设备", description = "返回所有红绿灯设备的清单") + public ResponseEntity> getAllDevices() { + List devices = trafficLightService.getAllTrafficLights(); + return ResponseEntity.ok(devices); + } /** * 设备创建请求DTO diff --git a/qaup-collision/src/main/java/com/qaup/collision/dataprocessing/service/IntersectionService.java b/qaup-collision/src/main/java/com/qaup/collision/dataprocessing/service/IntersectionService.java index 741df0aa..589ce256 100644 --- a/qaup-collision/src/main/java/com/qaup/collision/dataprocessing/service/IntersectionService.java +++ b/qaup-collision/src/main/java/com/qaup/collision/dataprocessing/service/IntersectionService.java @@ -79,6 +79,22 @@ public class IntersectionService { } } + /** + * 获取所有路口(包括激活和未激活) + * + * @return 所有路口列表 + */ + public List getAllIntersections() { + try { + List intersections = intersectionRepository.findAll(); + log.debug("查询到 {} 个路口", intersections.size()); + return intersections; + } catch (Exception e) { + log.error("查询所有路口异常", e); + return List.of(); + } + } + /** * 根据区域编码获取激活的路口 * diff --git a/qaup-collision/src/main/java/com/qaup/collision/dataprocessing/service/TrafficLightService.java b/qaup-collision/src/main/java/com/qaup/collision/dataprocessing/service/TrafficLightService.java index fe8399ed..a24ccfa4 100644 --- a/qaup-collision/src/main/java/com/qaup/collision/dataprocessing/service/TrafficLightService.java +++ b/qaup-collision/src/main/java/com/qaup/collision/dataprocessing/service/TrafficLightService.java @@ -630,6 +630,22 @@ public class TrafficLightService { return List.of(); } } + + /** + * 获取所有红绿灯设备列表 + * + * @return 所有红绿灯设备的列表 + */ + public List getAllTrafficLights() { + try { + List devices = trafficLightRepository.findAll(); + log.debug("查询到 {} 个红绿灯设备", devices.size()); + return devices; + } catch (Exception e) { + log.error("查询所有红绿灯设备异常", e); + return List.of(); + } + } /** * 生成默认设备名称 diff --git a/qaup-collision/src/test/java/com/qaup/collision/dataprocessing/parser/TrafficLightSignalParserEnhancedTest.java b/qaup-collision/src/test/java/com/qaup/collision/dataprocessing/parser/TrafficLightSignalParserEnhancedTest.java index bdac3cc8..0f39ee15 100644 --- a/qaup-collision/src/test/java/com/qaup/collision/dataprocessing/parser/TrafficLightSignalParserEnhancedTest.java +++ b/qaup-collision/src/test/java/com/qaup/collision/dataprocessing/parser/TrafficLightSignalParserEnhancedTest.java @@ -103,35 +103,36 @@ class TrafficLightSignalParserEnhancedTest { } @Test - void testTrafficLightStatusWithIpPort() { - // 测试TrafficLightStatus的IP端口功能 + void testTrafficLightStatusWithDifferentIpPort() { + // 测试TrafficLightStatus的不同IP端口功能 TrafficLightStatus status = TrafficLightStatus.builder() - .ipAddress("192.168.1.100") - .port(8082) - .nsStatus(SignalState.GREEN) - .ewStatus(SignalState.RED) + .ipAddress("192.168.1.200") + .port(9090) + .nsStatus(SignalState.RED) + .ewStatus(SignalState.GREEN) .timestamp(System.currentTimeMillis() * 1000) .build(); assertTrue(status.isValid()); - assertEquals("192.168.1.100", status.getIpAddress()); - assertEquals(Integer.valueOf(8082), status.getPort()); + assertEquals("192.168.1.200", status.getIpAddress()); + assertEquals(Integer.valueOf(9090), status.getPort()); assertNull(status.getDeviceId()); // 设备ID为空 } @Test - void testCreateSafeDefaultWithDeviceId() { - // 测试使用设备ID创建安全默认状态 - TrafficLightStatus status = TrafficLightStatus.createSafeDefault("TL_001"); + void testCreateSafeDefaultWithDifferentDeviceId() { + // 测试使用不同设备ID创建安全默认状态 + TrafficLightStatus status = TrafficLightStatus.createSafeDefault("TL_002"); assertNotNull(status); assertEquals(SignalState.RED, status.getNsStatus()); assertEquals(SignalState.RED, status.getEwStatus()); + assertEquals("TL_002", status.getDeviceId()); } @Test - void testStatistics() { - // 测试解析统计功能 + void testStatisticsWithDifferentMessages() { + // 测试解析统计功能 - 使用不同的消息 parser.resetStatistics(); // 解析一些消息 diff --git a/qaup-ui/vue.config.js b/qaup-ui/vue.config.js index 728d93bf..42c5a636 100644 --- a/qaup-ui/vue.config.js +++ b/qaup-ui/vue.config.js @@ -62,6 +62,15 @@ module.exports = { '^/webjars.*': { target: baseUrl, changeOrigin: true + }, + // 登录相关接口代理 + '^/logout': { + target: baseUrl, + changeOrigin: true + }, + '^/getInfo': { + target: baseUrl, + changeOrigin: true } }, disableHostCheck: true