优化
This commit is contained in:
+11
-6
@@ -10,7 +10,7 @@
|
||||
|
||||
## 1. 项目定位
|
||||
|
||||
`baiyue-firstleg` 是国内头程业务后端仓库,采用 Maven 多模块单仓结构。仓库内包含 7 个公共模块和 11 个可独立启动、构建、制作镜像的微服务。
|
||||
`baiyue-firstleg` 是国内头程与海外仓后端仓库,采用 Maven 多模块单仓结构。根 POM 聚合 22 个 Maven 模块,其中 7 个是公共/依赖模块,15 个是可独立启动、构建、制作镜像的微服务。
|
||||
|
||||
当前技术基线:
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
- SpringDoc OpenAPI / Swagger
|
||||
- GitLab、Jenkins、Docker Compose
|
||||
|
||||
本仓库只保存头程代码。尾程业务位于独立 Git 仓库,不允许把尾程源码、数据库或配置重新放回本仓库。
|
||||
国内与海外服务共享源码仓库和公共制品,但保持独立数据库、Nacos 命名空间与部署边界;跨区域业务协作使用版本化 Outbox/Inbox 事件,不共享业务数据源。
|
||||
|
||||
## 2. 根目录结构
|
||||
|
||||
@@ -39,11 +39,15 @@ baiyue-firstleg/
|
||||
├─ common-event-contract/ # 国内外跨区域事件统一契约
|
||||
│
|
||||
├─ gateway/ # 统一 API 网关
|
||||
├─ gateway-overseas/ # 海外区域 API 网关
|
||||
├─ auth/ # 统一登录与账号凭据
|
||||
├─ iam/ # 租户、成员、角色、权限、企业审核
|
||||
├─ order/ # 头程订单中心
|
||||
├─ firstleg/ # 履约任务、二期入库、测量与计费
|
||||
├─ warehouse/ # 仓库主数据、托盘与库位资源
|
||||
├─ finance/ # 财务账期、账单、收付款与核销
|
||||
├─ lastleg-service/ # 海外尾程、入仓、库存与本土业务
|
||||
├─ warehouse-overseas-service/ # 海外仓库、库位、托盘与资源锁
|
||||
├─ file/ # 资质、导出与测量图片文件中心
|
||||
├─ print/ # 打印中心
|
||||
├─ audit-service/ # 审计日志中心
|
||||
@@ -170,7 +174,7 @@ config/nacos/
|
||||
└─ cn/ # 国内服务器配置模板
|
||||
```
|
||||
|
||||
每套目录包含公共配置 `baiyue-common.yml` 和 11 个服务配置。配置模板可以提交,真实密码和第三方密钥不能提交。
|
||||
`local/`、`cn/`、`overseas/` 按部署区域保存公共配置和该区域需要的服务配置。配置模板可以提交,真实密码和第三方密钥不能提交。
|
||||
|
||||
### `deploy/`
|
||||
|
||||
@@ -179,7 +183,8 @@ deploy/
|
||||
├─ docker/Dockerfile # 通用 Java 17 镜像
|
||||
├─ env/.env.test.example # 环境变量示例
|
||||
├─ scripts/deploy-services.sh # Jenkins 增量部署脚本
|
||||
├─ docker-compose.yml # 11 个业务服务编排
|
||||
├─ docker-compose.yml # 国内区域服务编排
|
||||
├─ docker-compose.overseas.yml # 海外区域服务编排
|
||||
├─ docker-compose.rocketmq.yml # 公共导出 RocketMQ 基础设施
|
||||
├─ sql/ # 测试/存量环境统一迁移入口与说明
|
||||
└─ service-map.yml # 模块、JAR、端口映射
|
||||
@@ -276,6 +281,6 @@ HTTP 401 / `A0401`,不得再按 HTTP 200 + 空权限处理;只有使用新
|
||||
- 平台端和商户端权限分别管理,接口与按钮权限都必须由后端校验。
|
||||
- Controller 负责协议转换,Service 负责业务编排,Repository/Mapper 负责持久化。
|
||||
- 服务之间只传 DTO 或事件契约,不能依赖其他服务的 Entity、Mapper。
|
||||
- 公共模块变化会影响多个服务,Jenkins 会自动重建全部 11 个服务。
|
||||
- 公共模块变化会影响多个服务,Jenkins 会按 `service-map.yml` 覆盖的全部 15 个服务执行受影响构建。
|
||||
- 单一 Git 仓库不等于单一部署单元;每个服务仍生成独立 JAR、镜像和容器。
|
||||
- 头程与尾程保持两个 Git 仓库、两套数据库和两套运行环境。
|
||||
- 国内头程与海外仓共享 Git 仓库,但保持两套数据库、Nacos 命名空间和部署环境。
|
||||
|
||||
Reference in New Issue
Block a user