当前已实现 7 个平台模块,每个都是一个具有自己的端口、适配器和 Contracts 程序集的限界上下文。业务模块(Cases、Billing、Workflow)计划在后续阶段实现。
- 01/10
身份模块
平台身份系统 — 基于角色、模块、权限、角色类型、平台租户的 RBAC 权限模型,以及基于 CSV 的种子数据管理。
- 02/10
多租户模块
多租户系统 — 8 级 ITenantResolver 链、TenantStatusGuard、PlatformTenantEntity、租户生命周期管理和跨租户查询模式。
- 03/10
审计模块
综合审计系统 — 7 类分片存储、基于 Channel 的异步管道、实体变更跟踪、保留策略和基于 Quartz 的清理任务。
- 04/10
文件模块
文件管理模块 — FileAssetService 用于上传/下载/删除,支持租户隔离、LocalFileStorage 集成和跨模块附件支持。
- 05/10
聊天模块
多频道消息 — ChatService 支持频道、成员、消息、提及、已读标记、文件附件和可插拔的实时适配器接口。
- 06/10
通知模块
多通道通知系统 — 应用内收件箱,支持偏好管理、模板化通知、投递适配器端口和 CAP 事件发布。
- 07/10
Webhooks 模块
完整的 Webhook 系统 — 订阅管理、HMAC-SHA256 请求签名、指数退避重试、死信队列、IP 白名单和每订阅者限流。
- 08/10
计费模块
平台计费 — 订阅管理、计划目录、用量记录、配额执行、发票生成和权益解析。
- 09/10
目录模块
产品/服务目录 — 计划定义、附加产品、权益映射和可配置目录项,用于 SaaS 订阅管理。
- 10/10
工单模块
支持工单系统 — 带状态转换的生命周期管理、代理分配、带文件附件的评论、基于角色的授权和审计跟踪。
已实现模块
| 模块 | 用途 | 契约 | 关键端口 |
|---|---|---|---|
| Files | 文件资产管理、预签名上传 URL、Owner 策略 | FileAsset、FileAssetSummary、FileAssetState | IFileAssetRepository、IFileStorage |
| Notifications | 站内通知 Inbox,含严重程度和状态追踪 | Notification、NotificationSummary、NotificationState | INotificationRepository、INotificationPublisher |
| Webhooks | 外部事件订阅、HMAC 签名、投递日志、重试 | WebhookSubscription、WebhookDeliveryLog、WebhookSignature | IWebhookSubscriptionRepository、IWebhookDeadLetterQueue |
| PlatformBilling | SaaS 套餐、订阅、权益、用量计量、发票 | Plan、PlatformSubscription、UsageRecord、PlatformInvoice | IPlatformBillingRepository |
| Catalog | 商品目录,含分类、定价和套餐映射 | CatalogItem、CatalogItemSummary、PriceModel、Category | ICatalogRepository |
| Tickets | 支持工单,含生命周期、评论、附件和状态机 | Ticket、TicketStatus、TicketTransitionRules | ITicketRepository、ITicketAttachmentAccessService |
| Chat | 频道、消息、成员、已读标记、提及、实时 | ChatMessage、Channel、ChannelMembership、ReadMarker | IChatRepository、IChatRealtimeAdapter |
计划模块(后续阶段)
| 模块 | 用途 |
|---|---|
| Identity | 用户账号、MFA、外部身份联邦 |
| Cases | 案件管理——核心业务域 |
| Billing | 财务账单、发票管理、资损防护 |
| Workflow | 自研流程引擎核心——定义、实例、任务、网关、SLA |
模块五件套
每个模块遵循相同的结构,见 ADR 0017:
src/Modules/<Category>/<Module>/ BitzOrcas.<Module>.Contracts/ # 公共契约(DTO、集成事件、常量) BitzOrcas.<Module>.Domain/ # 领域模型(实体、值对象、领域事件) BitzOrcas.<Module>.Application/ # 用例(命令、查询、处理器、管道) BitzOrcas.<Module>.Infrastructure/ # 持久化 / 外部集成 BitzOrcas.<Module>.Endpoints/ # Minimal API 端点 + AddModule 扩展依赖方向严格单向:Endpoints → Application → Domain。跨模块通信仅通过 *.Contracts 程序集。