# AI 合同平台 V2 - 条件审批规则闭环记录 日期:2026-06-25 ## 背景 对照《AI 合同平台 V2 重构版开发方案》Phase 5 企业协作闭环,本轮实现条件审批规则。目标是让系统能够根据合同属性自动判断是否需要审批,而不是每次都手动触发。 ## 目标 - 审批规则模型和 CRUD API。 - 创建合同时自动检查审批规则。 - 触发规则时自动进入审批流程。 - 管理区审批规则配置页面。 ## 已完成内容 ### 后端模型和 API 文件: - `yuqei-contract-platform/services/contract-api/src/yuqei_contract_api/contracts.py` - `yuqei-contract-platform/services/contract-api/src/yuqei_contract_api/main.py` 新增模型: - `ApprovalRuleType`: contract_type, amount, risk_level - `ApprovalRule`: id, rule_type, rule_label, operator, value, action, enabled - `ApprovalRulePage`: items, page, page_size, total - `ApprovalRuleCreateRequest` / `ApprovalRuleUpdateRequest` 新增接口: - `GET /api/v1/approval-rules`: 规则列表 - `POST /api/v1/approval-rules`: 创建规则 - `PATCH /api/v1/approval-rules/{id}`: 更新规则 - `DELETE /api/v1/approval-rules/{id}`: 删除规则 规则匹配逻辑: - `match_approval_rule()`: 根据规则类型和操作符匹配合同属性 - `check_approval_required()`: 检查所有启用的规则,返回是否需要审批和触发原因 - `parse_amount()`: 解析金额字符串,支持万、亿单位 自动触发审批: - `create_contract()` 中集成规则检查 - 触发规则时自动设置状态为 `approval_pending` - 写入审计事件记录触发原因 - 创建通知告知相关人员 默认规则: 1. 合同金额超过50万需要审批 2. 高风险合同需要审批 ### 前端页面 文件: - `yuqei-contract-platform/apps/contract-web/src/app/admin/approval-rules/page.tsx` - `yuqei-contract-platform/apps/contract-web/src/app/api/contract-platform/approval-rules/route.ts` - `yuqei-contract-platform/apps/contract-web/src/app/api/contract-platform/approval-rules/[ruleId]/route.ts` - `yuqei-contract-platform/apps/contract-web/src/app/globals.css` 新增路由: - `/admin/approval-rules`: 审批规则配置页面 功能点: - 规则列表展示 - 添加新规则(类型、名称、条件、值) - 启用/禁用规则切换 - 删除规则 - 管理区入口 ### ContractDetail 模型增强 新增字段: - `contract_type`: 合同类型 - `risk_level`: 风险等级 ## 验证结果 后端测试: ```powershell python -m pytest yuqei-contract-platform/services/contract-api/tests -q ``` 结果:25 passed 前端构建: ```powershell npm --prefix yuqei-contract-platform/apps/contract-web run typecheck npm --prefix yuqei-contract-platform/apps/contract-web run build ``` 结果:通过,新增 `/admin/approval-rules` 路由 ## 当前闭环 现在审批流程为: 1. 管理员配置审批规则(金额阈值、风险等级等)。 2. 业务用户创建合同。 3. 系统自动检查规则,若匹配则: - 状态自动设为"待审批" - 审计记录触发原因 - 发送通知给审批人 4. 审批人在通知中心或工作台看到待审批合同。 5. 审批处理完成后通知业务用户。 这符合 V2 方案中"触发条件时审批自动出现"的目标。 ## 后续建议 1. **规则优先级**: 多条规则匹配时的优先级处理。 2. **规则组合**: 支持多条件组合(如:金额>50万 AND 风险=高)。 3. **审批人指定**: 不同规则指定不同审批人。