From c88f13db890a31189a5c62503989823220cc51a0 Mon Sep 17 00:00:00 2001 From: zzlgreat Date: Wed, 17 Dec 2025 16:20:27 +0800 Subject: [PATCH] update pay ui --- __pycache__/mcp_server.cpython-310.pyc | Bin 94273 -> 94492 bytes mcp_server.py | 7 ++++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/__pycache__/mcp_server.cpython-310.pyc b/__pycache__/mcp_server.cpython-310.pyc index 0d8d94d16a7ea2e0d381a488b08be4c67514ab90..42430b61aca56703b6faf7fef1be99c986b4ad28 100644 GIT binary patch delta 3901 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 diff --git a/mcp_server.py b/mcp_server.py index c0e22a26..82c7d823 100644 --- a/mcp_server.py +++ b/mcp_server.py @@ -1494,7 +1494,11 @@ async def handle_get_concept_details(args: Dict[str, Any]) -> Any: async def handle_get_stock_concepts(args: Dict[str, Any]) -> Any: """处理股票概念获取""" - stock_code = args["stock_code"] + # 兼容不同的参数名: stock_code, seccode, code + stock_code = args.get("stock_code") or args.get("seccode") or args.get("code") + if not stock_code: + raise ValueError("缺少股票代码参数 (stock_code/seccode/code)") + params = { "size": args.get("size", 50), "sort_by": args.get("sort_by", "stock_count"), @@ -1503,6 +1507,7 @@ async def handle_get_stock_concepts(args: Dict[str, Any]) -> Any: if args.get("trade_date"): params["trade_date"] = args["trade_date"] + logger.info(f"[get_stock_concepts] 查询股票 {stock_code} 的概念") response = await HTTP_CLIENT.get( f"{ServiceEndpoints.CONCEPT_API}/stock/{stock_code}/concepts", params=params