Pārlūkot izejas kodu

fix: transfer返回兼容旧字段名 + 转账通知加对外回调

alphaH 13 stundas atpakaļ
vecāks
revīzija
c2e6e29702

+ 3 - 0
java/src/main/java/com/payment/platform/module/payment/account/service/AlipayTransferService.java

@@ -620,6 +620,9 @@ public class AlipayTransferService {
             result.put("order_id", response.getOrderId());
             result.put("pay_fund_order_id", response.getPayFundOrderId());
             result.put("out_biz_no", model.getOutBizNo());
+            // 兼容旧字段名(对外接口不能变)
+            result.put("order_no", response.getOrderId());
+            result.put("fund_order_id", response.getPayFundOrderId());
             return result;
         } catch (AlipayApiException e) {
             throw new BusinessException(400, "转账失败: " + e.getMessage());

+ 7 - 0
java/src/main/java/com/payment/platform/module/payment/notification/handler/AccountHandler.java

@@ -9,6 +9,7 @@ import com.payment.platform.module.payment.account.mapper.TransferMapper;
 import com.payment.platform.module.payment.enterprise.entity.EnterpriseEntity;
 import com.payment.platform.module.payment.enterprise.mapper.EnterpriseMapper;
 import com.payment.platform.module.payment.points.service.PointsService;
+import com.payment.platform.module.payment.openapi.service.OpenapiService;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Component;
@@ -33,6 +34,7 @@ public class AccountHandler extends BaseNotifyHandler {
     private final AccountMapper accountMapper;
     private final EnterpriseMapper enterpriseMapper;
     private final PointsService pointsService;
+    private final OpenapiService openapiService;
 
     @Override
     protected String[] acceptedMethods() {
@@ -170,6 +172,11 @@ public class AccountHandler extends BaseNotifyHandler {
         transfer.setNextRetryAt(null);
         transfer.setRetryCount(4);
         transferMapper.updateById(transfer);
+        // 对外回调通知
+        try {
+            openapiService.notifyTransferResult(
+                    orderId != null ? orderId : outBizNo, outBizNo, transfer.getTenantId());
+        } catch (Exception ignored) {}
         log.info("转账状态更新: out_biz_no={}, status={}", outBizNo, status);
     }