update pay ui

This commit is contained in:
2025-12-17 16:51:42 +08:00
parent c589516633
commit f5023d9ce6
4 changed files with 81 additions and 3 deletions

View File

@@ -1030,3 +1030,51 @@ async def get_stock_intraday_statistics(
except Exception as e: except Exception as e:
logger.error(f"[ClickHouse] 日内统计失败: {e}", exc_info=True) logger.error(f"[ClickHouse] 日内统计失败: {e}", exc_info=True)
return {"success": False, "error": str(e)} return {"success": False, "error": str(e)}
async def get_stock_code_by_name(stock_name: str) -> Dict[str, Any]:
"""
根据股票名称查询股票代码
Args:
stock_name: 股票名称(支持模糊匹配)
Returns:
匹配的股票列表,包含代码和名称
"""
pool = await get_pool()
async with pool.acquire() as conn:
async with conn.cursor(aiomysql.DictCursor) as cursor:
# 使用 LIKE 进行模糊匹配
query = """
SELECT DISTINCT
SECCODE as code,
SECNAME as name,
F030V as industry
FROM ea_baseinfo
WHERE SECNAME LIKE %s
OR SECNAME = %s
ORDER BY
CASE WHEN SECNAME = %s THEN 0 ELSE 1 END,
SECCODE
LIMIT 10
"""
# 精确匹配和模糊匹配
like_pattern = f"%{stock_name}%"
await cursor.execute(query, (like_pattern, stock_name, stock_name))
results = await cursor.fetchall()
if not results:
return {
"success": False,
"error": f"未找到名称包含 '{stock_name}' 的股票"
}
return {
"success": True,
"data": results,
"count": len(results)
}

View File

@@ -87,7 +87,7 @@ MODEL_CONFIGS = {
}, },
"deepmoney": { "deepmoney": {
"api_key": "", # 空值 "api_key": "", # 空值
"base_url": "http://111.62.35.51:8000/v1", "base_url": "http://111.62.35.50:8000/v1",
"model": "deepmoney", "model": "deepmoney",
"max_tokens": 32768, # DeepMoney 本地托管,上下文 65536输出限制 32768 "max_tokens": 32768, # DeepMoney 本地托管,上下文 65536输出限制 32768
}, },
@@ -495,6 +495,20 @@ TOOLS: List[ToolDefinition] = [
"required": ["query"] "required": ["query"]
} }
), ),
ToolDefinition(
name="get_stock_code_by_name",
description="根据股票名称查询股票代码,支持模糊匹配。当只知道股票名称不知道代码时使用。",
parameters={
"type": "object",
"properties": {
"stock_name": {
"type": "string",
"description": "股票名称,例如:'贵州茅台''舒泰神''比亚迪'"
}
},
"required": ["stock_name"]
}
),
ToolDefinition( ToolDefinition(
name="get_stock_basic_info", name="get_stock_basic_info",
description="获取股票基本信息,包括公司名称、行业、地址、主营业务、高管等基础数据。", description="获取股票基本信息,包括公司名称、行业、地址、主营业务、高管等基础数据。",
@@ -1578,9 +1592,24 @@ async def handle_search_research_reports(args: Dict[str, Any]) -> Any:
response.raise_for_status() response.raise_for_status()
return response.json() return response.json()
async def handle_get_stock_code_by_name(args: Dict[str, Any]) -> Any:
"""根据股票名称查询股票代码"""
# 兼容不同的参数名: stock_name, name
stock_name = args.get("stock_name") or args.get("name")
if not stock_name:
return {"success": False, "error": "缺少股票名称参数 (stock_name/name)"}
logger.info(f"[get_stock_code_by_name] 查询股票名称: {stock_name}")
result = await db.get_stock_code_by_name(stock_name)
return result
async def handle_get_stock_basic_info(args: Dict[str, Any]) -> Any: async def handle_get_stock_basic_info(args: Dict[str, Any]) -> Any:
"""处理股票基本信息查询""" """处理股票基本信息查询"""
seccode = args["seccode"] # 兼容不同的参数名: seccode, stock_code, code
seccode = args.get("seccode") or args.get("stock_code") or args.get("code")
if not seccode:
return {"success": False, "error": "缺少股票代码参数 (seccode/stock_code/code)"}
result = await db.get_stock_basic_info(seccode) result = await db.get_stock_basic_info(seccode)
if result: if result:
return {"success": True, "data": result} return {"success": True, "data": result}
@@ -1808,6 +1837,7 @@ TOOL_HANDLERS = {
"search_limit_up_stocks": handle_search_limit_up_stocks, "search_limit_up_stocks": handle_search_limit_up_stocks,
"get_daily_stock_analysis": handle_get_daily_stock_analysis, "get_daily_stock_analysis": handle_get_daily_stock_analysis,
"search_research_reports": handle_search_research_reports, "search_research_reports": handle_search_research_reports,
"get_stock_code_by_name": handle_get_stock_code_by_name,
"get_stock_basic_info": handle_get_stock_basic_info, "get_stock_basic_info": handle_get_stock_basic_info,
"get_stock_financial_index": handle_get_stock_financial_index, "get_stock_financial_index": handle_get_stock_financial_index,
"get_stock_trade_data": handle_get_stock_trade_data, "get_stock_trade_data": handle_get_stock_trade_data,
@@ -3466,7 +3496,7 @@ MEETING_MODEL_CONFIGS = {
}, },
"deepmoney": { "deepmoney": {
"api_key": "", "api_key": "",
"base_url": "http://111.62.35.51:8000/v1", "base_url": "http://111.62.35.50:8000/v1",
"model": "deepmoney", "model": "deepmoney",
}, },
} }