feat(server): 更新用户代理服务,新增编排器服务测试用例,完善服务编排能力

This commit is contained in:
caoxiaozhu
2026-05-15 06:56:26 +00:00
parent c9cc0b0641
commit 511337df95
2 changed files with 16 additions and 11 deletions

View File

@@ -643,7 +643,7 @@ class UserAgentService:
if is_submitted:
body = (
f"主题:{subject}\n"
f"结论:报销单已提交审批,当前节点为 {approval_stage or '审批中'}\n"
f"结论:报销单已完成 AI验审,当前节点为 {approval_stage or '审批中'}\n"
"建议:后续可在个人报销列表中跟踪审批进度,必要时再补充说明或附件。\n"
f"原始问题:{payload.message}"
)
@@ -1279,7 +1279,7 @@ class UserAgentService:
if review_action == "next_step":
if draft_payload is not None and draft_payload.status == "submitted":
stage_text = draft_payload.approval_stage or "审批中"
return f"报销单 {draft_payload.claim_no or ''}提交审批,当前节点为 {stage_text}".strip()
return f"报销单 {draft_payload.claim_no or ''}完成 AI验审,当前节点为 {stage_text}".strip()
if payload.tool_payload.get("submission_blocked"):
return str(payload.tool_payload.get("message") or "").strip() or "当前报销单暂时还不能提交审批。"
return (

View File

@@ -634,13 +634,18 @@ def test_orchestrator_expense_next_step_submits_claim_to_approval() -> None:
user_id = "zhangsan@example.com"
with session_factory() as db:
db.add(
Employee(
employee_no="E3001",
name="张三",
email=user_id,
)
manager = Employee(
employee_no="E3000",
name="李经理",
email="manager@example.com",
)
employee = Employee(
employee_no="E3001",
name="张三",
email=user_id,
manager=manager,
)
db.add_all([manager, employee])
db.commit()
response = client.post(
@@ -673,8 +678,8 @@ def test_orchestrator_expense_next_step_submits_claim_to_approval() -> None:
assert payload["status"] == "succeeded"
assert payload["result"]["draft_payload"]["claim_no"].startswith("EXP-")
assert payload["result"]["draft_payload"]["status"] == "submitted"
assert payload["result"]["draft_payload"]["approval_stage"] == "AI验审"
assert "提交审批" in payload["result"]["answer"]
assert payload["result"]["draft_payload"]["approval_stage"] == "直属领导审批"
assert "完成 AI验审" in payload["result"]["answer"]
with session_factory() as db:
claim = db.scalar(
@@ -684,7 +689,7 @@ def test_orchestrator_expense_next_step_submits_claim_to_approval() -> None:
)
assert claim is not None
assert claim.status == "submitted"
assert claim.approval_stage == "AI验审"
assert claim.approval_stage == "直属领导审批"
assert claim.submitted_at is not None