iven 30344d474f
Some checks failed
CI / rust-check (push) Has been cancelled
CI / rust-test (push) Has been cancelled
CI / frontend-build (push) Has been cancelled
CI / security-audit (push) Has been cancelled
fix(health+ai+dialysis): 审计 P1 批次修复 — EventBus接入/盲索引去重/事件消费者补全
P1-2: erp-ai EventBus 接入
  - handler 层 SSE 流完成/失败时发布 ai.analysis.completed/failed 事件
  - build_sse_stream 新增 tenant_id 参数

P1-2: erp-dialysis EventBus 接入
  - create_dialysis_record 审计后发布 dialysis.record.created 事件

P1-5: message.sent 消费者改进
  - 从占位 tracing::info 升级为带 payload 详情的结构化日志

P1-7: 盲索引去重
  - create_patient 中新增 id_number HMAC 去重检查(查 blind_indexes 表)
  - 患者创建成功后写入 blind_indexes 表(id_number + phone)
  - 防止同租户重复建档

P1-1: 事件消费者补全
  - 新增 ai.analysis.completed 消费者(幂等处理 + 日志)
  - 新增 dialysis.record.created 消费者(幂等处理 + 日志)
2026-04-29 17:00:24 +08:00

ERP Platform Base

模块化商业 SaaS ERP 平台底座。

技术栈

层级 技术
后端 Rust (Axum 0.8 + SeaORM + Tokio)
数据库 PostgreSQL 16+
缓存 Redis 7+
前端 Vite + React 18 + TypeScript + Ant Design 5

项目结构

erp/
├── crates/
│   ├── erp-core/          # 基础类型、错误、事件总线、模块 trait
│   ├── erp-common/        # 共享工具
│   ├── erp-auth/          # 身份与权限 (Phase 2)
│   ├── erp-workflow/      # 工作流引擎 (Phase 4)
│   ├── erp-message/       # 消息中心 (Phase 5)
│   ├── erp-config/        # 系统配置 (Phase 3)
│   └── erp-server/        # Axum 服务入口
│       └── migration/     # SeaORM 数据库迁移
├── apps/web/              # React SPA 前端
├── docker/                # Docker 开发环境
└── docs/                  # 文档

快速开始

1. 启动基础设施

cd docker && docker compose up -d

2. 启动后端

cargo run -p erp-server

3. 启动前端

cd apps/web && pnpm install && pnpm dev

4. 访问

开发命令

cargo check                        # 编译检查
cargo test --workspace             # 运行测试
cargo run -p erp-server            # 启动后端
cd apps/web && pnpm dev            # 启动前端
Description
No description provided
Readme 69 MiB
Languages
Rust 59.2%
TypeScript 32.2%
JavaScript 2.8%
SCSS 2.7%
Python 2.1%
Other 1%