fix(trade):优化订单详情接口参数处理

- 将同步支付状态参数改为字符串类型以避免空指针异常
- 添加参数非空判断逻辑
- 保留原有 Long 类型订单 ID 查询方式
- 增强接口对不同输入参数的兼容性处理
- 使用 Hutool 工具类进行参数转换与校验
- 维持原接口功能不变的基础上提升健壮性
master
wuKong 3 months ago
parent d952cdec59
commit 45603c7132

@ -1,6 +1,8 @@
package cn.iocoder.yudao.module.trade.controller.app.order; package cn.iocoder.yudao.module.trade.controller.app.order;
import cn.hutool.core.convert.Convert; 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.hutool.core.util.ObjectUtil;
import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.pojo.PageResult;
@ -96,13 +98,17 @@ public class AppTradeOrderController {
@Parameter(name = "sync", description = "是否同步支付状态", example = "true") @Parameter(name = "sync", description = "是否同步支付状态", example = "true")
}) })
public CommonResult<AppTradeOrderDetailRespVO> getOrderDetail(@RequestParam("id") String id, public CommonResult<AppTradeOrderDetailRespVO> getOrderDetail(@RequestParam("id") String id,
@RequestParam(value = "sync", required = false) Boolean sync) { @RequestParam(value = "sync", required = false) String syncParam) {
// 1.1 查询订单 // 1.1 查询订单
TradeOrderDO order; TradeOrderDO order;
Boolean sync = null;
if (CharSequenceUtil.isNotEmpty(syncParam)) {
sync = BooleanUtil.toBoolean(syncParam);
}
if (ObjectUtil.isNotNull(sync)) { if (ObjectUtil.isNotNull(sync)) {
order = tradeOrderQueryService.getOrderByOutTradeNo(getLoginUserId(),id); order = tradeOrderQueryService.getOrderByOutTradeNo(getLoginUserId(),id);
} else { } else {
order = tradeOrderQueryService.getOrder(getLoginUserId(), Convert.toLong(id)); order = tradeOrderQueryService.getOrder(getLoginUserId(),Convert.toLong(id));
} }
if (order == null) { if (order == null) {
return success(null); return success(null);

Loading…
Cancel
Save