Kaynağa Gözat

fix:【MALL 商城】修复退款通知中 merchantRefundId 字符串转换 Long 类型的问题

YunaiV 11 ay önce
ebeveyn
işleme
eca9307344

+ 2 - 3
yudao-module-mall/yudao-module-trade/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/aftersale/AfterSaleController.java

@@ -141,9 +141,8 @@ public class AfterSaleController {
     public CommonResult<Boolean> updateAfterSaleRefunded(@RequestBody PayRefundNotifyReqDTO notifyReqDTO) {
         log.info("[updateAfterRefund][notifyReqDTO({})]", notifyReqDTO);
         if (StrUtil.startWithAny(notifyReqDTO.getMerchantRefundId(), "order-")) {
-            tradeOrderUpdateService.updatePaidOrderRefunded(
-                    Long.parseLong(notifyReqDTO.getMerchantRefundId()),
-                    notifyReqDTO.getPayRefundId());
+            Long orderId = Long.parseLong(StrUtil.subAfter(notifyReqDTO.getMerchantRefundId(), "order-", true));
+            tradeOrderUpdateService.updatePaidOrderRefunded(orderId, notifyReqDTO.getPayRefundId());
         } else {
             afterSaleService.updateAfterSaleRefunded(
                     Long.parseLong(notifyReqDTO.getMerchantRefundId()),