feat(pay,mall-trade): 小程序商品订单详情path配置支持

- 在 PayOrderApi 中新增 getMerchantOrderIdByPayOrderNo 方法
- 在 PayOrderApiImpl 中实现该方法,调用 service 层逻辑
- 在 PayOrderMapper 中增加 selectByNo 查询方法
- 在 PayOrderService 中定义 getMerchantOrderIdByNo 接口
- 在 PayOrderServiceImpl 中实现 getMerchantOrderIdByNo 业务逻辑
- 支持通过支付订单编号查询对应的商户订单编号feat(trade): 新增通过支付订单编号查询交易订单详情功能
- 在 AppTradeOrderController 中新增 getOrderDetailByOutTradeNo 接口
- 支持微信小程序订单中心跳转到订单详情页面
- 在 TradeOrderQueryService 中定义 getOrderByOutTradeNo 方法
- 在 TradeOrderQueryServiceImpl 中实现该方法
- 通过 PayOrderApi 调用获取商户订单编号
- 根据商户订单编号查询对应的交易订单信息
This commit is contained in:
wuKong
2025-11-10 11:36:47 +08:00
parent d64f4e9343
commit 534b7e1f73
8 changed files with 92 additions and 3 deletions

View File

@@ -39,4 +39,8 @@ public interface PayOrderApi {
CommonResult<Boolean> updatePayOrderPrice(@RequestParam("id") Long id,
@RequestParam("payPrice") Integer payPrice);
@PostMapping(PREFIX + "/getMerchantOrderIdByNo")
@Operation(summary = "根据支付订单编号获取商户订单编号")
@Parameter(name = "no", description = "支付单编号", example = "Pxxxx", required = true)
CommonResult<String> getMerchantOrderIdByPayOrderNo(@RequestParam("no") String no);
}

View File

@@ -37,4 +37,8 @@ public class PayOrderApiImpl implements PayOrderApi {
return success(true);
}
@Override
public CommonResult<String> getMerchantOrderIdByPayOrderNo(String no) {
return success(payOrderService.getMerchantOrderIdByNo(no));
}
}

View File

@@ -48,6 +48,10 @@ public interface PayOrderMapper extends BaseMapperX<PayOrderDO> {
PayOrderDO::getMerchantOrderId, merchantOrderId);
}
default PayOrderDO selectByNo(String no) {
return selectOne(PayOrderDO::getNo, no);
}
default int updateByIdAndStatus(Long id, Integer status, PayOrderDO update) {
return update(update, new LambdaQueryWrapper<PayOrderDO>()
.eq(PayOrderDO::getId, id).eq(PayOrderDO::getStatus, status));

View File

@@ -40,6 +40,13 @@ public interface PayOrderService {
*/
PayOrderDO getOrder(Long appId, String merchantOrderId);
/**
* 获得商户订单编号
*
* @param no 编号
* @return merchantOrderId
*/
String getMerchantOrderIdByNo(String no);
/**
* 获得支付订单列表
*
@@ -155,5 +162,4 @@ public interface PayOrderService {
* @return 过期的订单数量
*/
int expireOrder();
}

View File

@@ -84,6 +84,17 @@ public class PayOrderServiceImpl implements PayOrderService {
return orderMapper.selectByAppIdAndMerchantOrderId(appId, merchantOrderId);
}
@Override
public String getMerchantOrderIdByNo(String no) {
if(no.contains(payProperties.getOrderNoPrefix())){
PayOrderDO order = orderMapper.selectByNo(no);
if(ObjectUtil.isNotNull(order)){
return order.getMerchantOrderId();
}
}
return null;
}
@Override
public List<PayOrderDO> getOrderList(Collection<Long> ids) {
if (CollUtil.isEmpty(ids)) {