"""银行交易查询服务 — 接口请求日志写入文件。""" import time from app.services.bank.client import query_bank_transactions, BankApiError from app.services.bank.file_logger import log_bank_api_request async def query_transactions_with_log( admin_id: str, **kwargs, ) -> dict: """查询银行流水并记录接口日志到文件。 :param admin_id: 操作管理员 ID :param kwargs: 透传给 query_bank_transactions 的参数 :return: 接口返回的原始数据 """ acct_no = kwargs.get("acct_no", "") request_params = {k: v for k, v in kwargs.items()} start_time = time.monotonic() try: result = await query_bank_transactions(**kwargs) duration_ms = int((time.monotonic() - start_time) * 1000) log_bank_api_request( acct_no=acct_no, request_params=request_params, response_data=result, status_code=200, is_success=True, admin_id=admin_id, duration_ms=duration_ms, ) return result except BankApiError as e: duration_ms = int((time.monotonic() - start_time) * 1000) log_bank_api_request( acct_no=acct_no, request_params=request_params, response_data=None, status_code=e.http_status, is_success=False, error_msg=str(e), admin_id=admin_id, duration_ms=duration_ms, ) raise