From f43320138a677d36366428ad6760baf50f6717c5 Mon Sep 17 00:00:00 2001 From: yahaozhang Date: Tue, 21 Oct 2025 17:22:30 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E5=9F=BA=E4=BA=8E?= =?UTF-8?q?=E8=B7=AF=E5=BE=84=E5=8F=82=E6=95=B0=E7=9A=84=E9=93=BE=E6=8E=A5?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E6=9F=A5=E8=AF=A2=E6=8E=A5=E5=8F=A3=EF=BC=8C?= =?UTF-8?q?=E5=A2=9E=E5=BC=BA=E5=8F=82=E6=95=B0=E9=AA=8C=E8=AF=81=E5=92=8C?= =?UTF-8?q?=E6=97=A5=E5=BF=97=E8=AE=B0=E5=BD=95=EF=BC=8C=E4=BF=9D=E7=95=99?= =?UTF-8?q?=E5=85=BC=E5=AE=B9=E6=97=A7=E7=89=88=E7=9A=84=E6=9F=A5=E8=AF=A2?= =?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/link/LinkController.java | 32 ++++++++++++++++--- 1 file changed, 27 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/gameplatform/server/controller/link/LinkController.java b/src/main/java/com/gameplatform/server/controller/link/LinkController.java index 01a8dcd..4ef5938 100644 --- a/src/main/java/com/gameplatform/server/controller/link/LinkController.java +++ b/src/main/java/com/gameplatform/server/controller/link/LinkController.java @@ -344,13 +344,35 @@ public Mono deleteLink(@PathVariable("codeNo") String codeNo, Authentic }); } + @GetMapping("/{code}/status") + @Operation(summary = "用户端获取链接状态(路径参数)", description = "根据链接编号获取链接状态,包含自动刷新逻辑,用于用户端页面。推荐使用此格式,更不容易丢失参数") + public Mono getUserLinkStatusByPath( + @PathVariable("code") String code) { + log.info("=== 用户端获取链接状态(路径参数) ==="); + log.info("code: {}", code); + + // 验证参数 + if (code == null || code.trim().isEmpty()) { + log.error("参数错误:code不能为空"); + return Mono.error(new IllegalArgumentException("参数错误:code不能为空")); + } + + return linkStatusService.getUserLinkStatus(null, code.trim()) + .doOnSuccess(response -> { + log.info("用户端链接状态查询成功: status={}", response.getStatus()); + }) + .doOnError(error -> { + log.error("用户端链接状态查询失败: {}", error.getMessage(), error); + }); + } + @GetMapping("/status") - @Operation(summary = "用户端获取链接状态", description = "根据链接ID或链接编号获取链接状态,包含自动刷新逻辑,用于用户端页面") - public Mono getUserLinkStatus( + @Operation(summary = "用户端获取链接状态(查询参数,兼容旧版)", description = "根据链接编号获取链接状态,包含自动刷新逻辑。此接口保留用于兼容旧版本,推荐使用 /{code}/status 格式") + public Mono getUserLinkStatusByQuery( @RequestParam(value = "linkId", required = false) Long linkId, @RequestParam(value = "codeNo", required = false) String codeNo, @RequestParam(value = "code", required = false) String code) { - log.info("=== 用户端获取链接状态 ==="); + log.info("=== 用户端获取链接状态(查询参数,兼容模式) ==="); log.info("linkId: {}, codeNo: {}, code: {}", linkId, codeNo, code); // 如果提供了code参数,则将其作为codeNo使用 @@ -367,10 +389,10 @@ public Mono deleteLink(@PathVariable("codeNo") String codeNo, Authentic return linkStatusService.getUserLinkStatus(linkId, actualCodeNo) .doOnSuccess(response -> { - log.info("用户端链接状态查询成功: status={}", response.getStatus()); + log.info("用户端链接状态查询成功(兼容模式): status={}", response.getStatus()); }) .doOnError(error -> { - log.error("用户端链接状态查询失败: {}", error.getMessage(), error); + log.error("用户端链接状态查询失败(兼容模式): {}", error.getMessage(), error); }); }