From f24cc851f0f9582122748f4fd1ca5f7c086974d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8D=92?= Date: Fri, 31 Oct 2025 16:58:17 +0800 Subject: [PATCH] 1 --- .../controller/jarvis/JDOrderController.java | 24 +++++++++++++++---- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/jarvis/JDOrderController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/jarvis/JDOrderController.java index eb8740c..91b42f5 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/jarvis/JDOrderController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/jarvis/JDOrderController.java @@ -188,20 +188,34 @@ public class JDOrderController extends BaseController { Object parsed = JSON.parse(result); logger.info("创建礼金响应 - 解析后: {}", parsed); - // 检查返回结果中giftCouponKey是否为null + // 检查返回结果格式 if (parsed instanceof JSONObject) { JSONObject jsonObj = (JSONObject) parsed; + + // 检查是否是错误响应(JD项目error方法返回的是{"error": "..."}格式) + if (jsonObj.containsKey("error")) { + String errorMsg = jsonObj.getString("error"); + logger.error("创建礼金失败 - JD项目返回错误,请求参数: materialUrl={}, skuId={}, amount={}, quantity={}, owner={}, skuName={}, 错误信息: {}", + body.get("materialUrl"), body.get("skuId"), body.get("amount"), body.get("quantity"), + body.get("owner"), body.get("skuName"), errorMsg); + return AjaxResult.error(errorMsg); + } + + // 检查giftCouponKey是否为null(兼容旧格式) Object giftKey = jsonObj.get("giftCouponKey"); - if (giftKey == null) { - // giftCouponKey为null,说明创建失败 + if (giftKey == null || (giftKey instanceof String && ((String) giftKey).trim().isEmpty())) { + // giftCouponKey为null或空,说明创建失败 String errorMsg = jsonObj.getString("msg"); if (errorMsg == null || errorMsg.isEmpty()) { errorMsg = "礼金创建失败,返回的giftCouponKey为null。可能是商品不支持创建礼金、参数错误或京东API调用失败,请查看JD项目日志"; } - logger.error("创建礼金失败 - giftCouponKey为null,返回数据: {}", jsonObj.toJSONString()); + logger.error("创建礼金失败 - giftCouponKey为null,请求参数: materialUrl={}, skuId={}, amount={}, quantity={}, owner={}, skuName={}, 返回数据: {}", + body.get("materialUrl"), body.get("skuId"), body.get("amount"), body.get("quantity"), + body.get("owner"), body.get("skuName"), jsonObj.toJSONString()); return AjaxResult.error(errorMsg); } - logger.info("创建礼金成功 - giftCouponKey: {}", giftKey); + + logger.info("创建礼金成功 - giftCouponKey: {}, 请求参数: owner={}, skuId={}", giftKey, body.get("owner"), body.get("skuId")); } return AjaxResult.success(parsed);