Jelajahi Sumber

【BUG】解决退款时找不到appkey的问题

痴货 9 bulan lalu
induk
melakukan
b48d0edef0

+ 1 - 1
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/convert/aftersale/AfterSaleConvert.java

@@ -37,7 +37,7 @@ public interface AfterSaleConvert {
             @Mapping(target = "creator", ignore = true),
             @Mapping(target = "updater", ignore = true),
     })
-    AfterSaleDO convert(AppAfterSaleCreateReqVO createReqVO, TradeOrderItemDO tradeOrderItem);
+    PayRefundCreateReqDTO convert(String userIp, AfterSaleDO afterSale);
 
     @Mappings({
             @Mapping(source = "afterSale.orderId", target = "merchantOrderId"),

+ 2 - 1
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/aftersale/AfterSaleServiceImpl.java

@@ -371,8 +371,9 @@ public class AfterSaleServiceImpl implements AfterSaleService {
             @Override
             public void afterCommit() {
                 // 创建退款单
-                PayRefundCreateReqDTO createReqDTO = AfterSaleConvert.INSTANCE.convert(userIp, afterSale, tradeOrderProperties)
+                PayRefundCreateReqDTO createReqDTO = AfterSaleConvert.INSTANCE.convert(userIp, afterSale)
                         .setReason(StrUtil.format("退款【{}】", afterSale.getSpuName()));
+                createReqDTO.setAppKey(tradeOrderProperties.getPayAppKey());
                 Long payRefundId = payRefundApi.createRefund(createReqDTO);
                 // 更新售后单的退款单号
                 tradeAfterSaleMapper.updateById(new AfterSaleDO().setId(afterSale.getId()).setPayRefundId(payRefundId));