当前位置: 首页 > news >正文

全模块开发计划


Init ERP 全模块开发计划

项目现状

这是一个 Rust 微服务架构的 SaaS 多租户 ERP 系统,采用 DDD + CQRS + Event Sourcing 模式。当前共 48 个服务,分布在 10 个业务域中。
┌───────────┬──────────────────────────┬──────┐
│ 成熟度 │ 服务 │ 数量 │
├───────────┼──────────────────────────┼──────┤
│ 已完成 │ iam-identity, iam-access │ 2 │
├───────────┼──────────────────────────┼──────┤
│ 开发中 │ iam-tenant │ 1 │
├───────────┼──────────────────────────┼──────┤
│ 脚手架/桩 │ 其余所有服务 │ 45 │
└───────────┴──────────────────────────┴──────┘

第一阶段:基础设施完善

完善公共基础设施,所有后续服务都依赖这些能力。
┌─────┬───────────────────────────────────────────────────────────────────────────────────────────────────────────┬───────────────────────────────────────────────────────────────────────────────────┐
│ # │ 任务 │ 涉及模块 │
├─────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────┼───────────────────────────────────────────────────────────────────────────────────┤
│ 1.1 │ 完善 iam-tenant — 补齐 Outbox 模式、gRPC Reflection、ClickHouse/ES 事件处理器,对齐 iam-identity 的成熟度 │ services/iam-tenant │
├─────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────┼───────────────────────────────────────────────────────────────────────────────────┤
│ 1.2 │ 统一配置管理 — 当前大量 config 文件被删除,需确认 Vault 集中配置方案完整落地,所有服务可正常启动 │ crates/config, 各服务 main.rs │
├─────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────┼───────────────────────────────────────────────────────────────────────────────────┤
│ 1.3 │ 服务发现稳定化 — etcd 注册/发现已有代码,需集成测试、故障恢复、Gateway 动态路由全链路验证 │ crates/adapters/etcd, gateway/src/discovery.rs, bootstrap/src/service_registry.rs │
├─────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────┼───────────────────────────────────────────────────────────────────────────────────┤
│ 1.4 │ Gateway 路由框架 — 为每个新服务建立 REST→gRPC 代理模板,统一鉴权、限流、租户上下文传递 │ gateway/ │
└─────┴───────────────────────────────────────────────────────────────────────────────────────────────────────────┴───────────────────────────────────────────────────────────────────────────────────┘

第二阶段:核心平台服务 (7 个服务)

这些是其他业务模块的前置依赖。
┌─────┬────────────────┬───────────────────────────────────────────────────────┐
│ # │ 服务 │ 说明 │
├─────┼────────────────┼───────────────────────────────────────────────────────┤
│ 2.1 │ org-enterprise │ 企业组织架构 — 部门、岗位、组织树,几乎所有业务都需要 │
├─────┼────────────────┼───────────────────────────────────────────────────────┤
│ 2.2 │ sys-core │ 系统核心 — 编号规则、数据字典、系统参数 │
├─────┼────────────────┼───────────────────────────────────────────────────────┤
│ 2.3 │ sys-notify │ 通知服务 — 邮件/站内信/WebSocket 推送 │
├─────┼────────────────┼───────────────────────────────────────────────────────┤
│ 2.4 │ mdm-bp │ 主数据:业务伙伴 — 客户、供应商、联系人 │
├─────┼────────────────┼───────────────────────────────────────────────────────┤
│ 2.5 │ mdm-material │ 主数据:物料 — 物料编码、BOM 基础、计量单位 │
├─────┼────────────────┼───────────────────────────────────────────────────────┤
│ 2.6 │ fi-coa │ 会计科目表 — 财务模块的基础 │
├─────┼────────────────┼───────────────────────────────────────────────────────┤
│ 2.7 │ fi-gl │ 总账 — 凭证、过账、期间管理 │
└─────┴────────────────┴───────────────────────────────────────────────────────┘

第三阶段:财务与人力 (6 个服务)
┌─────┬───────┬──────────┐
│ # │ 服务 │ 说明 │
├─────┼───────┼──────────┤
│ 3.1 │ fi-ap │ 应付账款 │
├─────┼───────┼──────────┤
│ 3.2 │ fi-ar │ 应收账款 │
├─────┼───────┼──────────┤
│ 3.3 │ fi-co │ 成本核算 │
├─────┼───────┼──────────┤
│ 3.4 │ fi-tr │ 资金管理 │
├─────┼───────┼──────────┤
│ 3.5 │ hr-ta │ 考勤管理 │
├─────┼───────┼──────────┤
│ 3.6 │ hr-ex │ 费用报销 │
└─────┴───────┴──────────┘

第四阶段:采购与供应链 (12 个服务)
┌──────┬───────┬────────────────────┐
│ # │ 服务 │ 说明 │
├──────┼───────┼────────────────────┤
│ 4.1 │ pm-po │ 采购订单 │
├──────┼───────┼────────────────────┤
│ 4.2 │ pm-ct │ 合同管理 │
├──────┼───────┼────────────────────┤
│ 4.3 │ pm-iv │ 发票管理 │
├──────┼───────┼────────────────────┤
│ 4.4 │ pm-sa │ 供应商评估 │
├──────┼───────┼────────────────────┤
│ 4.5 │ pm-se │ 供应商赋能 │
├──────┼───────┼────────────────────┤
│ 4.6 │ pm-vs │ 供应商选择 │
├──────┼───────┼────────────────────┤
│ 4.7 │ sc-im │ 库存管理 │
├──────┼───────┼────────────────────┤
│ 4.8 │ sc-wm │ 仓库管理 │
├──────┼───────┼────────────────────┤
│ 4.9 │ sc-bt │ 批次追踪 │
├──────┼───────┼────────────────────┤
│ 4.10 │ sc-df │ 需求预测 │
├──────┼───────┼────────────────────┤
│ 4.11 │ sc-tp │ 运输计划 │
├──────┼───────┼────────────────────┤
│ 4.12 │ sc-vs │ 供应商选择(供应链) │
└──────┴───────┴────────────────────┘

第五阶段:制造 (6 个服务)
┌─────┬────────┬──────────────────────────┐
│ # │ 服务 │ 说明 │
├─────┼────────┼──────────────────────────┤
│ 5.1 │ mf-eng │ 工程管理 — BOM、工艺路线 │
├─────┼────────┼──────────────────────────┤
│ 5.2 │ mf-pp │ 生产计划 — MRP、排程 │
├─────┼────────┼──────────────────────────┤
│ 5.3 │ mf-om │ 生产订单 │
├─────┼────────┼──────────────────────────┤
│ 5.4 │ mf-sf │ 车间管理 — 报工、工序 │
├─────┼────────┼──────────────────────────┤
│ 5.5 │ mf-qi │ 质量检验 │
├─────┼────────┼──────────────────────────┤
│ 5.6 │ mf-kb │ 看板 │
└─────┴────────┴──────────────────────────┘

第六阶段:销售与客服 (7 个服务)
┌─────┬───────┬──────────────┐
│ # │ 服务 │ 说明 │
├─────┼───────┼──────────────┤
│ 6.1 │ sd-so │ 销售订单 │
├─────┼───────┼──────────────┤
│ 6.2 │ sd-an │ 销售分析 │
├─────┼───────┼──────────────┤
│ 6.3 │ sd-pe │ 绩效评估 │
├─────┼───────┼──────────────┤
│ 6.4 │ sd-rr │ 报表与记录 │
├─────┼───────┼──────────────┤
│ 6.5 │ cs-wc │ 客服工作台 │
├─────┼───────┼──────────────┤
│ 6.6 │ cs-fd │ 客户反馈 │
├─────┼───────┼──────────────┤
│ 6.7 │ cs-cb │ 客户行为分析 │
└─────┴───────┴──────────────┘

第七阶段:研发与资产 (6 个服务)
┌─────┬───────┬──────────────┐
│ # │ 服务 │ 说明 │
├─────┼───────┼──────────────┤
│ 7.1 │ rd-pl │ 产品生命周期 │
├─────┼───────┼──────────────┤
│ 7.2 │ rd-ps │ 项目服务 │
├─────┼───────┼──────────────┤
│ 7.3 │ am-ah │ 资产层级 │
├─────┼───────┼──────────────┤
│ 7.4 │ am-eh │ 设备历史 │
├─────┼───────┼──────────────┤
│ 7.5 │ am-gs │ 综合服务 │
├─────┼───────┼──────────────┤
│ 7.6 │ am-pm │ 预防性维护 │
└─────┴───────┴──────────────┘

每个服务的标准开发清单

每个服务从脚手架到完成,需要完成以下工作:

  1. Proto 定义 — 完善 .proto 文件中的 RPC 方法和消息类型
  2. 领域层 — 实体、聚合根、值对象、领域事件、仓储 trait
  3. 应用层 — Command/Query 定义、Handler 实现、DTO
  4. 基础设施层 — PostgreSQL 仓储实现、Redis 缓存、事件发布(Kafka + Outbox)
  5. API 层 — gRPC Service 实现
  6. 数据库迁移 — SQL migration 文件
  7. Gateway 路由 — REST→gRPC 代理端点
  8. 配置 — Vault 密钥路径、服务端口分配
  9. 集成测试 — gRPC 端到端测试

总计
┌──────────────┬───────────────────────────────────────────────┐
│ 类别 │ 数量 │
├──────────────┼───────────────────────────────────────────────┤
│ 已完成服务 │ 3 (iam-identity, iam-access, iam-tenant 收尾) │
├──────────────┼───────────────────────────────────────────────┤
│ 待开发服务 │ 45 │
├──────────────┼───────────────────────────────────────────────┤
│ 基础设施任务 │ 4 │
├──────────────┼───────────────────────────────────────────────┤
│ 阶段数 │ 7 │
└──────────────┴───────────────────────────────────────────────┘
建议按阶段顺序推进,每个阶段内的服务可以并行开发。阶段间有依赖关系(如财务依赖科目表,制造依赖物料主数据),不能跳过。

需要我从哪个阶段或哪个具体服务开始实施?

✻ Baked for 4m 6s

❯ 不实现第一阶段,其他还能继续完成吗

⏺ 不能。

第一阶段是所有后续阶段的硬依赖,跳过会导致以下问题:

1.1 iam-tenant 不完善 → 多租户隔离缺失

所有服务都运行在多租户 SaaS 模式下。每个请求都需要租户上下文(TenantId),用于数据隔离、配额检查、功能开关。如果 iam-tenant 的 Outbox
模式和事件链路没有补齐,其他服务无法可靠地获取租户状态变更事件(如租户被暂停、配额超限),会导致数据不一致。

1.2 配置管理未落地 → 服务无法启动

git status 显示几乎所有服务的 config/*.toml 都被删除了,说明正在迁移到 Vault 集中配置。如果这个迁移没有完成,新开发的服务连启动都做不到——没有数据库连接串、没有 Kafka 地址、没有 Redis 配置。

1.3 服务发现未稳定 → Gateway 找不到后端

Gateway 通过 etcd 发现后端 gRPC 服务。这套机制目前是新代码,没有经过集成测试。如果不稳定化,新上线的服务注册了但 Gateway 路由不过去,等于白做。

1.4 Gateway 路由框架未建立 → 无法对外暴露 API

每个新服务都需要在 Gateway 中添加 REST→gRPC 代理路由。如果不先建立统一的模板和租户上下文传递机制,45 个服务各写各的,后期返工量巨大。


依赖关系总结

第一阶段(基础设施)
├── 1.1 iam-tenant ──→ 所有服务的租户隔离
├── 1.2 配置管理 ────→ 所有服务的启动
├── 1.3 服务发现 ────→ 所有服务的网络通信
└── 1.4 Gateway ────→ 所有服务的 API 暴露


第二~七阶段(全部 45 个业务服务)

http://www.jsqmd.com/news/350393/

相关文章:

  • 2026年盘点可靠的酒店一次性拖鞋厂,杭州邦亿客排名如何 - myqiye
  • 成峰机械遥控打药机:硬核技术加持 成为行业领跑者 - 资讯焦点
  • 真的太省时间了!AI论文网站 千笔 VS 笔捷Ai,自考写论文神器!
  • 2026年全国生活垃圾焚烧炉厂家哪家强?适配多场景的靠谱选择 各厂家差异化解析 - 深度智识库
  • 分析杭州靠谱的装修代卖负责人,杭州秒卖房联卖网助力快速卖房 - mypinpai
  • 2026年 聚二甲基/聚二甲基二烯丙基氯化胺/二甲基二烯丙基氯化铵厂家推荐榜:精选高纯聚合阳离子絮凝剂核心供应商 - 品牌企业推荐师(官方)
  • 复印机租赁在哪里找,2026深圳布吉地区性价比高的公司推荐 - 工业品牌热点
  • 2026跨境电商必看:如何用Nano Banana和Veo 3打造带货爆款视频
  • 2026线性成品排水沟厂家推荐及选型参考 - 品牌排行榜
  • 真心不骗你 10个降AI率平台深度测评,专科生必备的降AI率神器
  • 【人脸识别】肤色分割与特征脸的人脸识别门禁管理系统【含GUI Matlab源码 B7Z038期】
  • Linux内核架构浅谈43-Linux slab分配器:小内存块分配与内核对象缓存机制 - 实践
  • 京东e卡回收三种省心方式 - 京回收小程序
  • Andersen Consulting与Alfa Group达成合作协议
  • 宏洛图品牌设计:美妆健康赛道的视觉领航者,让品牌在竞争中闪耀 - 宏洛图品牌设计
  • PubNub获得SOC 3合规认证,强化对安全、信任与透明度的承诺
  • 2026年 防锈漆厂家推荐排行榜:环氧/水性/醇酸/锌黄/带锈/铁红/中灰/钢结构/船舶/镀锌防锈漆,专业防护与长效耐候口碑之选 - 品牌企业推荐师(官方)
  • 2026年 富锌漆厂家推荐排行榜:环氧/水性/无机/防腐/防锈/底漆全系列,专业防腐与长效防护口碑之选 - 品牌企业推荐师(官方)
  • AI智能体重构知识服务:创客匠人如何助力知识IP高效变现
  • 程序员必看:大模型岗位技能图谱与求职指南(收藏版)_大模型工作岗位解析和大模型项目经理工作职责
  • fpga lvds接口显示屏驱动
  • Rust大学习-2:变量与数据类型
  • 2026年,我不再写代码,我只“指挥“代码
  • Excel随机数生成大师RAND函数:数据乱序与唯一值生成的实战技巧
  • 2026最新:电脑提示api-ms-win-core-path-l1-1-0.dll缺失/报错?这样解决最省心!
  • 【数学思维】
  • 群晖更换raid类型保持磁盘盘符不变
  • java+vue基于springboot的星星行李寄存系统
  • 毕业论文通关秘籍!专业 AI 写作软件,新手也能快速上手
  • 计算机毕业设计之springboot基于Vue的小麦供销平台设计与实现