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