|
|
@@ -332,10 +332,24 @@ class AccountService:
|
|
|
|
|
|
result = AlipayCommerceEcTransAccountTransferResponse()
|
|
|
result.parse_response_content(response)
|
|
|
+ sub_code = getattr(result, 'sub_code', '') or ''
|
|
|
+ sub_msg = getattr(result, 'sub_msg', '') or ''
|
|
|
+ # 无论是否成功都写入转账记录,记录接口调用结果和错误信息,方便后续查询和排查
|
|
|
+ transfer_crud = TransferCRUD(auth)
|
|
|
+ transfer_data = {
|
|
|
+ "enterprise_id": model.enterprise_id,
|
|
|
+ "out_biz_no": model.out_biz_no,
|
|
|
+ "account_book_id": model.account_book_id,
|
|
|
+ "amount": model.amount,
|
|
|
+ "order_title": model.order_title,
|
|
|
+ "payee_info": data.payee_info.model_dump() if data.payee_info else None,
|
|
|
+ "status": result.status,
|
|
|
+ "order_no": result.order_no,
|
|
|
+ "fund_order_id": result.fund_order_id,
|
|
|
+ "remark":f"{result.code} - {result.msg} (sub_code={sub_code}, sub_msg={sub_msg})"
|
|
|
+ }
|
|
|
|
|
|
if not result.is_success():
|
|
|
- sub_code = getattr(result, 'sub_code', '') or ''
|
|
|
- sub_msg = getattr(result, 'sub_msg', '') or ''
|
|
|
|
|
|
# 优先用 sub_code 匹配
|
|
|
hint = _TRANSFER_ERROR_HINTS.get(sub_code)
|
|
|
@@ -350,18 +364,7 @@ class AccountService:
|
|
|
log.error(f"支付宝接口调用失败: {result.code} - {result.msg} (sub_code={sub_code}, sub_msg={sub_msg})")
|
|
|
raise CustomException(msg=f"转账失败: {hint}")
|
|
|
|
|
|
- transfer_crud = TransferCRUD(auth)
|
|
|
- transfer_data = {
|
|
|
- "enterprise_id": model.enterprise_id,
|
|
|
- "out_biz_no": model.out_biz_no,
|
|
|
- "account_book_id": model.account_book_id,
|
|
|
- "amount": model.amount,
|
|
|
- "order_title": model.order_title,
|
|
|
- "payee_info": data.payee_info.model_dump() if data.payee_info else None,
|
|
|
- "status": result.status,
|
|
|
- "order_no": result.order_no,
|
|
|
- "fund_order_id": result.fund_order_id,
|
|
|
- }
|
|
|
+
|
|
|
|
|
|
await transfer_crud.create(transfer_data)
|
|
|
|