feat(server): 新增申请核对预览快速建单接口与平台管理员判定统一

- reimbursements 新增 POST /application-preview-action,AI 工作台表格核对后直接走 UserAgentService 建单/提交,免去通用 Orchestrator 编排
- 平台管理员判定统一抽取 PLATFORM_ADMIN_IDENTITIES 常量,identity 与 role_codes 均支持 admin/superadmin,含 header 开关
- docker-compose 镜像补装 openssh-server
- 同步更新差旅/交通/通信等财务规则表与 reimbursements 端点测试
This commit is contained in:
caoxiaozhu
2026-06-20 14:41:59 +08:00
parent 304bbe1fd4
commit 729d833edb
11 changed files with 210 additions and 5 deletions

View File

@@ -185,6 +185,29 @@ class ExpenseClaimActionResponse(BaseModel):
status: str | None = None
class ExpenseApplicationPreviewActionPayload(BaseModel):
source: str = Field(default="user_message", max_length=80)
user_id: str | None = Field(default=None, max_length=120)
conversation_id: str | None = Field(default=None, max_length=120)
message: str = Field(min_length=1, max_length=4000)
context_json: dict[str, Any] = Field(default_factory=dict)
class ExpenseApplicationPreviewActionResult(BaseModel):
message: str
answer: str
suggested_actions: list[dict[str, Any]] = Field(default_factory=list)
risk_flags: list[str] = Field(default_factory=list)
requires_confirmation: bool = False
draft_payload: dict[str, Any] | None = None
class ExpenseApplicationPreviewActionResponse(BaseModel):
status: str = "succeeded"
conversation_id: str | None = None
result: ExpenseApplicationPreviewActionResult
class ExpenseClaimReturnPayload(BaseModel):
reason: str | None = Field(default=None, max_length=500)
reason_codes: list[str] = Field(default_factory=list, max_length=10)