From 45603c7132d09d820966198fa6848b68dd6e39b6 Mon Sep 17 00:00:00 2001 From: wuKong Date: Mon, 10 Nov 2025 17:30:56 +0800 Subject: [PATCH] =?UTF-8?q?fix(trade):=E4=BC=98=E5=8C=96=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E8=AF=A6=E6=83=85=E6=8E=A5=E5=8F=A3=E5=8F=82=E6=95=B0=E5=A4=84?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 将同步支付状态参数改为字符串类型以避免空指针异常 - 添加参数非空判断逻辑 - 保留原有 Long 类型订单 ID 查询方式 - 增强接口对不同输入参数的兼容性处理 - 使用 Hutool 工具类进行参数转换与校验 - 维持原接口功能不变的基础上提升健壮性 --- .../controller/app/order/AppTradeOrderController.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/yudao-module-mall/yudao-module-trade-server/src/main/java/cn/iocoder/yudao/module/trade/controller/app/order/AppTradeOrderController.java b/yudao-module-mall/yudao-module-trade-server/src/main/java/cn/iocoder/yudao/module/trade/controller/app/order/AppTradeOrderController.java index 2705399a5..568e0c141 100644 --- a/yudao-module-mall/yudao-module-trade-server/src/main/java/cn/iocoder/yudao/module/trade/controller/app/order/AppTradeOrderController.java +++ b/yudao-module-mall/yudao-module-trade-server/src/main/java/cn/iocoder/yudao/module/trade/controller/app/order/AppTradeOrderController.java @@ -1,6 +1,8 @@ package cn.iocoder.yudao.module.trade.controller.app.order; import cn.hutool.core.convert.Convert; +import cn.hutool.core.text.CharSequenceUtil; +import cn.hutool.core.util.BooleanUtil; import cn.hutool.core.util.ObjectUtil; import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.framework.common.pojo.PageResult; @@ -96,13 +98,17 @@ public class AppTradeOrderController { @Parameter(name = "sync", description = "是否同步支付状态", example = "true") }) public CommonResult getOrderDetail(@RequestParam("id") String id, - @RequestParam(value = "sync", required = false) Boolean sync) { + @RequestParam(value = "sync", required = false) String syncParam) { // 1.1 查询订单 TradeOrderDO order; + Boolean sync = null; + if (CharSequenceUtil.isNotEmpty(syncParam)) { + sync = BooleanUtil.toBoolean(syncParam); + } if (ObjectUtil.isNotNull(sync)) { order = tradeOrderQueryService.getOrderByOutTradeNo(getLoginUserId(),id); } else { - order = tradeOrderQueryService.getOrder(getLoginUserId(), Convert.toLong(id)); + order = tradeOrderQueryService.getOrder(getLoginUserId(),Convert.toLong(id)); } if (order == null) { return success(null);