matter-service(事项中心)
定位
matter-service 是“事项(Matter)”的真源服务,负责法律服务的全生命周期承载与协同:
- Matter:事项主实体(状态、业务分类、服务标签、关联文件、承办信息等)
- Todo:待办任务(工作台派单、确认点、交付复核等)
- PhaseProgress:阶段/里程碑进度(用于时间线展示与过程追踪)
- Deliverables:交付件索引(file_id / presigned_url 等)
- 对内同步:接收
ai-engine的结构化产物与决策字段同步
重要:事项的“流程编排/门禁/下一步做什么”由
ai-engine的 LangGraph 工作流负责;matter-service 不承担 Playbook/编排器角色。
技术栈
- Java 21 + Spring Boot
- Postgres + Flyway(默认)
- Spring Data JPA
核心数据模型(概念)
以当前代码为准:
- Matter
status:例如DRAFT/ACTIVE等matter_category:诉讼/仲裁/非诉…(决定大方向与入口)cause_of_action_code:案由/争议类型字典码(建议对齐architecture/law.md)service_type_id:服务标签(产品/运营维度;用于 UI/路由提示,不应作为底层强绑定键)file_ids:事项关联材料文件
- MatterTodo
todo_key:语义幂等键(upsert/完成按 key 或 id)- actor/review_type/payload/result:用于卡片/确认点
- MatterPhaseProgress
phase_id/phase_name/status/order_num:阶段时间线(由系统/引擎写入)
对外 API(/api/v1)
对外 API 面向前端工作台/用户界面:
GET/POST/PUT ... /api/v1/matters...(事项 CRUD/列表)GET/POST ... /api/v1/matters/{id}/todos...(待办查询/完成)- 时间线/交付件:以 controller 命名为准(例如 phase timeline、deliverables)
具体入参/返回以 OpenAPI 为准(见
api/openapi.md)。
对内 API(/internal)
1) 从咨询创建事项
POST /api/v1/internal/matters/from-consultation
该接口用于 consultations-service 在对话中确保绑定 matter:
- 若用户类型为 lawyer/firm_admin,matter 会直接绑定承办律师/律所(对齐现有逻辑)
- 会创建 intake 收集 todo;若 providerOrganizationId 存在但未绑定 lawyer,则创建派单 todo
2) 工作流 profile 与同步
GET /api/v1/internal/matters/{matterId}(内部读取)GET /api/v1/internal/matters/{matterId}/workflow/profile(给 ai-engine 的白名单 profile)POST /api/v1/internal/matters/{matterId}/sync/all(内部同步入口,供 ai-engine 写入状态/产物)
3) 结构化分析结果提交(internal)
该组接口用于提交证据/争点/策略等产物(由 ai-engine skill/tool 调用):
POST /api/v1/internal/matters/{matterId}/analysis/versions/allocateGET /api/v1/internal/matters/{matterId}/analysis/versions/latestPOST /api/v1/internal/matters/{matterId}/evidences/submit-analysisPOST /api/v1/internal/matters/{matterId}/sufficiency/submitPOST /api/v1/internal/matters/{matterId}/issues/submitPOST /api/v1/internal/matters/{matterId}/strategies/submitPOST /api/v1/internal/matters/{matterId}/risk-assessment/submit
与 platform-service 的关系(配置)
matter-service 的“服务类型配置”来自 platform-service 的 SystemConfig:
- 配置 key:
matters.service_types - value:JSON(包含
service_types/resolved_service_types)
注意:当前 matter-service 会在对外/对内输出中 主动移除历史字段 playbook_id,避免把服务类型强绑定到 Playbook。
FlowBlueprint(流程蓝图,可选)
matter-service 支持“流程蓝图(FlowBlueprint)”配置查询(主要面向管理端/调试):
- 加载来源:classpath
config/flow-blueprints/*.json(可为空) - 典型用途:为前端/运营提供“流程/阶段的展示或提示”元信息
说明:workbench-mode 的实际编排在 ai-engine LangGraph 中完成;FlowBlueprint 不作为运行时编排 DSL。
现状与边界
- 已具备“咨询自动生成事项 + todo 初始化 + internal 同步/提交 + 时间线/交付件”骨架。
- 流程编排在 ai-engine:goal/阶段/门禁以 LangGraph 子图表达;matter-service 只做真源承载与协同。