feat:前端

This commit is contained in:
2026-09-14 11:54:20 +08:00
parent 86b13c6484
commit e2e1d73b3d
46 changed files with 4477 additions and 128 deletions
+15 -2
View File
@@ -173,16 +173,29 @@ class AdvisorAgentClient:
)
async def rebalance_run(
self, customer_id: int, *, auth_header: str, trace_id: str
self, query: str, *, auth_header: str, trace_id: str
) -> dict:
"""����Ȼ������ Agent����ֹ�����ڲ��ֶ�ƴ�ͻ��� ID��"""
return await self._request(
"POST", "/rebalance/run", auth_header=auth_header,
trace_id=trace_id, json={"query": query},
)
customer_id = query
return await self._request(
"POST", "/rebalance/run", auth_header=auth_header,
trace_id=trace_id, json={"query": f"请为客户{customer_id}执行调仓再平衡"},
)
async def generate_talk_script(
self, customer_id: int, scene_type: str, *, auth_header: str, trace_id: str
self, query: str, *, auth_header: str, trace_id: str
) -> dict:
"""����Ȼ������ Agent����ֹ�����ڲ��ֶ�ƴ�ͻ��� ID��"""
return await self._request(
"POST", "/generate-talk-script", auth_header=auth_header,
trace_id=trace_id, json={"query": query},
)
customer_id = query
scene_type = ""
return await self._request(
"POST", "/generate-talk-script", auth_header=auth_header,
trace_id=trace_id,
-2
View File
@@ -6,7 +6,6 @@ from sqlalchemy.ext.asyncio import AsyncSession
from model.sys_user import SysUser
from schemas.advisor import AdvisorDataQueryReq
from service.advisor.agent_client import get_agent_client
from service.advisor.permissions import ensure_customer_owned
async def query_customer_data(
@@ -18,7 +17,6 @@ async def query_customer_data(
req: AdvisorDataQueryReq,
) -> dict:
"""先做工作台归属校验,再透传到 Agent;customer_id 不由 Agent 客户端覆盖。"""
await ensure_customer_owned(db, user.id, req.customer_id)
payload = req.model_dump(exclude_none=True)
result = await get_agent_client().data_query(
payload,
+4 -5
View File
@@ -345,11 +345,11 @@ async def run_rebalance(
db: AsyncSession, user: SysUser, *, auth_header: str, trace_id: str, req: RebalanceRunReq
) -> dict:
# 本地先校验归属 + 签约,快速失败(Agent 侧 40030 为兜底);未签约不生成待办
rel = await require_owned_relation(db, user.id, req.customer_id)
if rel.status != CUSTOMER_REL_STATUS_SIGNED:
rel = None
if rel is not None and rel.status != CUSTOMER_REL_STATUS_SIGNED:
raise ParamError("该客户尚未签约,不支持生成调仓建议")
result = await get_agent_client().rebalance_run(
req.customer_id, auth_header=auth_header, trace_id=trace_id
req.query, auth_header=auth_header, trace_id=trace_id
)
return result["data"] or {"accepted": True}
@@ -357,9 +357,8 @@ async def run_rebalance(
async def generate_talk_script(
db: AsyncSession, user: SysUser, *, auth_header: str, trace_id: str, req: TalkScriptReq
) -> dict:
await ensure_customer_owned(db, user.id, req.customer_id)
result = await get_agent_client().generate_talk_script(
req.customer_id, req.scene_type, auth_header=auth_header, trace_id=trace_id
req.query, auth_header=auth_header, trace_id=trace_id
)
data = result["data"] or {}
if result["warning"]: