2.0 KiB
Raw Blame History

架构维护备注

HTML 主入口中的架构层说明以 P1R 真实 API 规格第 7 节为来源。这里仅保留维护时需要核对的简版边界。

Controller

  • 负责:鉴权入口、参数校验、X-API-Version: 1 校验、DTO 转换和统一响应封装。
  • 不负责:业务规则、数据库访问、外部服务调用、手写业务 JSON。
  • 证据Controller 路由映射、OpenAPI operationId、版本头参数。

Application Service

  • 负责:用例编排、事务、幂等、权限摘要、跨模块 facade、任务创建、错误归一和响应组装。
  • 不负责:绕过领域 owner 直接写其他模块事实。
  • 证据Application Service 接口和实现、事务边界、幂等记录。

Domain

  • 负责:聚合状态机、不变式、版本冲突、授权快照消费规则和状态变化决策。
  • 不负责:依赖 Controller DTO、Yudao Web DTO 或外部 API DTO。
  • 证据:领域服务、聚合规则、状态机测试。

Query / Assembler

  • 负责读模型查询、DTO / VO 组装、OpenAPI response 对齐。
  • 不负责把数据库表行、operation record 或 workflow task 原样暴露给前端。
  • 证据Query Service、Assembler、OpenAPI schema。

Persistence Mapper

  • 负责MyBatis Mapper、事务内持久化、唯一约束、owner / tenant 条件和查询 SQL。
  • 不负责:业务状态机决策或外部服务语义。
  • 证据Mapper、SQL、Flyway、唯一索引。

External Adapter

  • 负责New-API、RAGFlow、文件服务、SSE、任务执行器等外部边界暴露超时、错误分类、重试和补偿语义。
  • 不负责:伪造外部成功或吞掉可恢复失败。
  • 证据adapter client、超时配置、错误映射、集成测试。

CommonResult

  • 负责:对外统一响应形态,字段为 code/data/msg
  • 不负责:用 message 替代 msg,或用通用 JSON 行替代合同 DTO。
  • 证据OpenAPI base schema、Controller 返回类型、响应断言。