From 6e68591991258b05676b826d8c08f05a3777bb67 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8D=92?= Date: Sat, 6 Sep 2025 16:17:37 +0800 Subject: [PATCH] 1 --- .../controller/jd/JDInnerController.java | 58 +++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/src/main/java/cn/van/business/controller/jd/JDInnerController.java b/src/main/java/cn/van/business/controller/jd/JDInnerController.java index 02181a9..2997376 100644 --- a/src/main/java/cn/van/business/controller/jd/JDInnerController.java +++ b/src/main/java/cn/van/business/controller/jd/JDInnerController.java @@ -97,13 +97,40 @@ public class JDInnerController { return error("productType is required"); } try { + // 评论统计变量初始化 + int allCommentCount = 0; + int usedCommentCount = 0; + int canUseCommentCount = 0; + int addCommentCount = 0; + int allTbCommentCount = 0; + int usedTbCommentCount = 0; + int canUseTbCommentCount = 0; + boolean isTb = false; + HashMap map = jdUtil.getProductTypeMap(); String productId = map.get(productType); if (productId == null || productId.trim().isEmpty()) { return error("unknown productType"); } + + // 获取本地可用的京东评论并统计 List available = commentRepository.findByProductIdAndIsUseNotAndPictureUrlsIsNotNull(productId, 1); List used = commentRepository.findByProductIdAndIsUseNotAndPictureUrlsIsNotNull(productId, 0); + + canUseCommentCount = available.size(); + usedCommentCount = used.size(); + allCommentCount = canUseCommentCount + usedCommentCount; + + // 获取淘宝评论统计信息 + HashMap tbMap = jdUtil.getProductTypeMapForTB(); + String taobaoProductId = tbMap.getOrDefault(productId, productId); + // 注意:这里需要注入TaobaoCommentRepository,暂时注释掉淘宝统计部分 + // List availableTbComments = taobaoCommentRepository.findByProductIdAndIsUseNotAndPictureUrlsIsNotNull(taobaoProductId, 1); + // List usedTbComments = taobaoCommentRepository.findByProductIdAndIsUseNotAndPictureUrlsIsNotNull(taobaoProductId, 0); + // canUseTbCommentCount = availableTbComments.size(); + // usedTbCommentCount = usedTbComments.size(); + // allTbCommentCount = canUseTbCommentCount + usedTbCommentCount; + List candidates = !available.isEmpty() ? available : used; if (candidates.isEmpty()) { return error("no comment available"); @@ -121,6 +148,37 @@ public class JDInnerController { resp.put("productType", productType); resp.put("list", arr); + // 添加评论统计信息到响应中 + JSONObject stats = new JSONObject(); + if (!isTb) { + stats.put("source", "京东评论"); + stats.put("productType", productType); + stats.put("newAdded", addCommentCount); + stats.put("used", usedCommentCount); + stats.put("available", canUseCommentCount); + stats.put("total", allCommentCount); + stats.put("statisticsText", + "京东评论统计:\n" + + "型号 " + productType + "\n" + + "新增:" + addCommentCount + "\n" + + "已使用:" + usedCommentCount + "\n" + + "可用:" + canUseCommentCount + "\n" + + "总数:" + allCommentCount); + } else { + stats.put("source", "淘宝评论"); + stats.put("productType", productType); + stats.put("used", usedTbCommentCount); + stats.put("available", canUseTbCommentCount); + stats.put("total", allTbCommentCount); + stats.put("statisticsText", + "淘宝评论统计:\n" + + "型号 " + productType + "\n" + + "已使用:" + usedTbCommentCount + "\n" + + "可用:" + canUseTbCommentCount + "\n" + + "总数:" + allTbCommentCount); + } + resp.put("statistics", stats); + // 标记为已使用(仅当原本未使用时) try { if (chosen.getIsUse() == null || chosen.getIsUse() == 0) {