update pay ui
This commit is contained in:
Binary file not shown.
Binary file not shown.
@@ -1030,3 +1030,51 @@ async def get_stock_intraday_statistics(
|
||||
except Exception as e:
|
||||
logger.error(f"[ClickHouse] 日内统计失败: {e}", exc_info=True)
|
||||
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)
|
||||
}
|
||||
|
||||
@@ -87,7 +87,7 @@ MODEL_CONFIGS = {
|
||||
},
|
||||
"deepmoney": {
|
||||
"api_key": "", # 空值
|
||||
"base_url": "http://111.62.35.51:8000/v1",
|
||||
"base_url": "http://111.62.35.50:8000/v1",
|
||||
"model": "deepmoney",
|
||||
"max_tokens": 32768, # DeepMoney 本地托管,上下文 65536,输出限制 32768
|
||||
},
|
||||
@@ -495,6 +495,20 @@ TOOLS: List[ToolDefinition] = [
|
||||
"required": ["query"]
|
||||
}
|
||||
),
|
||||
ToolDefinition(
|
||||
name="get_stock_code_by_name",
|
||||
description="根据股票名称查询股票代码,支持模糊匹配。当只知道股票名称不知道代码时使用。",
|
||||
parameters={
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"stock_name": {
|
||||
"type": "string",
|
||||
"description": "股票名称,例如:'贵州茅台'、'舒泰神'、'比亚迪'"
|
||||
}
|
||||
},
|
||||
"required": ["stock_name"]
|
||||
}
|
||||
),
|
||||
ToolDefinition(
|
||||
name="get_stock_basic_info",
|
||||
description="获取股票基本信息,包括公司名称、行业、地址、主营业务、高管等基础数据。",
|
||||
@@ -1578,9 +1592,24 @@ async def handle_search_research_reports(args: Dict[str, Any]) -> Any:
|
||||
response.raise_for_status()
|
||||
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:
|
||||
"""处理股票基本信息查询"""
|
||||
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)
|
||||
if result:
|
||||
return {"success": True, "data": result}
|
||||
@@ -1808,6 +1837,7 @@ TOOL_HANDLERS = {
|
||||
"search_limit_up_stocks": handle_search_limit_up_stocks,
|
||||
"get_daily_stock_analysis": handle_get_daily_stock_analysis,
|
||||
"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_financial_index": handle_get_stock_financial_index,
|
||||
"get_stock_trade_data": handle_get_stock_trade_data,
|
||||
@@ -3466,7 +3496,7 @@ MEETING_MODEL_CONFIGS = {
|
||||
},
|
||||
"deepmoney": {
|
||||
"api_key": "",
|
||||
"base_url": "http://111.62.35.51:8000/v1",
|
||||
"base_url": "http://111.62.35.50:8000/v1",
|
||||
"model": "deepmoney",
|
||||
},
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user