From daa84cf82acc76a670f9d051b9fc8c7652e872d6 Mon Sep 17 00:00:00 2001 From: mediabot-pt <295750538+mediabot-pt@users.noreply.github.com> Date: Wed, 1 Jul 2026 09:26:17 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=89=B9=E9=87=8F=E8=A7=A3=E6=9E=90?= =?UTF-8?q?=E8=BF=87=E6=BB=A4=E6=97=A0URL=E6=97=A7=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=EF=BC=8C=E8=A7=A3=E6=9E=90=E5=A4=B1=E8=B4=A5=E6=88=96=E5=86=85?= =?UTF-8?q?=E5=AE=B9=E4=B8=BA=E7=A9=BA=E6=97=B6=E8=BF=94=E5=9B=9E=E6=98=8E?= =?UTF-8?q?=E7=A1=AE=E6=B6=88=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/par/api/controller/AdapterController.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/par-api/src/main/java/com/par/api/controller/AdapterController.java b/par-api/src/main/java/com/par/api/controller/AdapterController.java index 0a7ed18..10e6beb 100644 --- a/par-api/src/main/java/com/par/api/controller/AdapterController.java +++ b/par-api/src/main/java/com/par/api/controller/AdapterController.java @@ -103,11 +103,12 @@ public class AdapterController { try { adapterConfig = objectMapper.readValue(configJson, AdapterConfig.class); } catch (Exception e) { return ApiResponse.error(400, "配置格式无效: " + e.getMessage()); } - // 获取该站点所有结果,按URL分组取最新 + // 获取该站点所有结果,按URL分组取最新(过滤无URL的旧数据) List allResults = accessResultMapper.selectBySiteId(siteId); Map latestByUrl = allResults.stream() + .filter(r -> r.getUrl() != null && !r.getUrl().isBlank()) .collect(Collectors.toMap( - r -> r.getUrl() != null && !r.getUrl().isBlank() ? r.getUrl() : "(未指定URL)", + AccessResult::getUrl, r -> r, (a, b) -> a.getCreatedAt().isAfter(b.getCreatedAt()) ? a : b)); @@ -125,6 +126,7 @@ public class AdapterController { Map item = new LinkedHashMap<>(); item.put("url", url); item.put("accessResultId", ar.getId()); + item.put("contentType", ar.getContentType()); item.put("statusCode", ar.getStatusCode()); item.put("responseTimeMs", ar.getResponseTimeMs()); item.put("createdAt", ar.getCreatedAt()); @@ -139,9 +141,11 @@ public class AdapterController { if (content != null) { Map parsed = adapterEngine.extract(adapterConfig, content, ar.getContentType(), url); item.put("parsed", parsed); + } else { + item.put("parsed", Map.of("matched", false, "message", "内容为空,可能已从存储中删除")); } } catch (Exception e) { - item.put("parseError", e.getMessage()); + item.put("parsed", Map.of("matched", false, "message", "解析异常: " + e.getMessage())); } pages.add(item);