iven c87760f938 feat(server+ai): PP-01 死信重试接线 + PP-05b AI 队列消费者 — 通电半成品自动化
PP-01: retry_dead_letters 已实现但全仓零调用,业务关键事件瞬时故障即永久
滞留死信表。tasks.rs 加 start_retry_dead_letters(每小时,最大重试 5 次)
+ main.rs 注册。同时落盘 feat 进行中的 cron_heartbeat 就绪门禁
(touch_heartbeat + 给 cleanup/metrics 任务加 heartbeat 参数)。

PP-05b: AnalysisQueue "只入队不消费"(两个入队源 claim_next 零调用),
违反"每个事件必须有消费者"铁律。新增 analysis_worker.rs 后台消费者:
claim_next → analysis_type 路由 → AnalysisService → mark_completed/
mark_failed。MVP 打通 trend 链路,lab_report/dialysis_risk 暂 skip
(回滚 pending,无假数据)。启动遵循 start_auto_analysis 模式(main.rs)。
2026-06-26 11:11:14 +08:00
2026-05-25 13:45:46 +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%