This commit is contained in:
2025-11-05 15:49:08 +08:00
parent 1116bddbc2
commit 69431c9cd5

View File

@@ -715,19 +715,29 @@ public class JDOrderController extends BaseController {
logger.info("手动获取物流信息 - 订单ID: {}, 订单号: {}, 分销标识: {}, 物流链接: {}", logger.info("手动获取物流信息 - 订单ID: {}, 订单号: {}, 分销标识: {}, 物流链接: {}",
orderId, order.getOrderId(), distributionMark, logisticsLink); orderId, order.getOrderId(), distributionMark, logisticsLink);
// 调用外部接口 // 构建外部接口URL
String externalUrl = "http://192.168.8.88:5001/fetch_logistics?tracking_url=" + String externalUrl = "http://192.168.8.88:5001/fetch_logistics?tracking_url=" +
java.net.URLEncoder.encode(logisticsLink, "UTF-8"); java.net.URLEncoder.encode(logisticsLink, "UTF-8");
logger.info("调用外部接口 - URL: {}", externalUrl); logger.info("准备调用外部接口 - URL: {}", externalUrl);
String result = ""; // 在服务端执行HTTP请求
String result = null;
try { try {
// 使用HttpUtils在服务端发起GET请求
result = HttpUtils.sendGet(externalUrl); result = HttpUtils.sendGet(externalUrl);
logger.info("外部接口返回 - 订单ID: {}, 订单号: {}, 返回数据: {}",
orderId, order.getOrderId(), result); // 检查返回结果是否为空
if (result == null || result.trim().isEmpty()) {
logger.warn("外部接口返回空结果 - 订单ID: {}, 订单号: {}", orderId, order.getOrderId());
return AjaxResult.error("外部接口返回空结果,请检查接口是否正常");
}
logger.info("外部接口调用成功 - 订单ID: {}, 订单号: {}, 返回数据长度: {}",
orderId, order.getOrderId(), result.length());
logger.debug("外部接口返回数据: {}", result);
} catch (Exception e) { } catch (Exception e) {
logger.error("调用外部接口失败 - 订单ID: {}, 订单号: {}, 错误: {}", logger.error("调用外部接口异常 - 订单ID: {}, 订单号: {}, 错误: {}",
orderId, order.getOrderId(), e.getMessage(), e); orderId, order.getOrderId(), e.getMessage(), e);
return AjaxResult.error("调用外部接口失败: " + e.getMessage()); return AjaxResult.error("调用外部接口失败: " + e.getMessage());
} }
@@ -742,25 +752,26 @@ public class JDOrderController extends BaseController {
logger.info("返回数据: {}", result); logger.info("返回数据: {}", result);
logger.info("====================================="); logger.info("=====================================");
// 解析返回结果 // 解析返回结果并构建响应
JSONObject responseData = new JSONObject(); JSONObject responseData = new JSONObject();
responseData.put("orderId", orderId); responseData.put("orderId", orderId);
responseData.put("orderNo", order.getOrderId()); responseData.put("orderNo", order.getOrderId());
responseData.put("distributionMark", distributionMark); responseData.put("distributionMark", distributionMark);
responseData.put("logisticsLink", logisticsLink); responseData.put("logisticsLink", logisticsLink);
responseData.put("requestUrl", externalUrl); responseData.put("requestUrl", externalUrl);
responseData.put("responseRaw", result); // 原始返回数据
try { try {
// 尝试解析为JSON // 尝试解析为JSON
Object parsed = JSON.parse(result); Object parsed = JSON.parse(result);
responseData.put("responseData", parsed); responseData.put("responseData", parsed);
responseData.put("responseRaw", result); logger.info("返回数据已解析为JSON对象");
} catch (Exception e) { } catch (Exception e) {
// 如果不是JSON直接保存原始字符串 // 如果不是JSON保存原始字符串
responseData.put("responseRaw", result); logger.warn("返回数据不是有效的JSON格式将作为原始字符串返回: {}", e.getMessage());
logger.warn("返回数据不是有效的JSON格式: {}", result);
} }
logger.info("返回响应数据给前端 - 订单ID: {}", orderId);
return AjaxResult.success(responseData); return AjaxResult.success(responseData);
} catch (Exception e) { } catch (Exception e) {
logger.error("手动获取物流信息异常", e); logger.error("手动获取物流信息异常", e);