# Conflicts: # scripts/admin-test-env-modules/orders.mjs # scripts/admin-test-env-modules/phase3-container-loading.mjs
柏悦头程平台
本仓库承载国内头程业务,负责统一登录、客户与企业成员、角色、菜单、按钮权限、订单、国内仓储、头程履约以及国内公共能力。尾程业务不进入本仓库,通过版本化跨区域事件与尾程仓库协作。
当前主体模型:业务单租户,产品只包含“平台—客户”两级。现有
tenant_id > 0、tenantId和Tenant*是历史兼容命名,当前承载客户归属与隔离;tenant_id = 0是平台账号、平台 RBAC 和平台公共主数据的技术作用域,不是可管理租户。平台公共仓库、往来单位、快递公司、托盘、库位等归属0,客户订单、文件和费用归属客户 ID。未经过独立迁移设计,不得新增真实租户层或把现有客户隔离字段改义为上级租户。
模块
auth:统一登录、令牌签发与刷新。iam:客户主档、用户、企业成员、角色、菜单、按钮权限和数据范围;部分路径、表和类保留tenant历史命名。order:订单主数据及订单状态编排。firstleg:头程揽收、入仓、装载、发运和交接。warehouse:国内仓储能力。file、print、audit-service、integration-service:国内公共业务能力;Print 调用方接入见print/README.md。event-bridge-service:跨区域事件接收幂等和投递记录基础骨架;真实跨区发送、重试调度和死信补投仍需完成。common-*、common-event-contract:由本仓维护并以com.baiyue.shared发布的公共制品。platform-bom:发布com.baiyue.shared:baiyue-platform-bom:1.0.0-SNAPSHOT,尾程仓只通过固定版本引用。
本地构建
mvn -DskipTests validate
mvn test
2026-07-30 一期前端联调缺口已完成真实回归:19 个 Reactor 项目构建成功,75 项单元及组件测试、68 项认证与 IAM 真实 API、37 项订单与仓库真实 API 全部通过。详细证据见 docs/phase1-business-maturity-regression-report.md。
本地一期完整联调启动顺序为:IAM、Auth、Firstleg、Order、Warehouse、File、Print,最后启动 Gateway。往来单位不是独立服务,由 warehouse-service 承载并保存到 baiyue_warehouse.wh_partner。
国内 Nacos 配置位于 config/nacos/cn。数据库、Redis、Nacos 和 RocketMQ 的生产密码必须通过环境变量或配置中心密文注入,禁止提交明文密码。
网关跨域配置
本地默认允许商户端和后台端从 localhost/127.0.0.1 的 5173/5174 端口访问网关。部署到测试或生产环境时,必须通过 CORS_ALLOWED_ORIGINS 配置两个前端的明确地址,多个地址用英文逗号分隔,例如:
CORS_ALLOWED_ORIGINS=https://merchant.example.com,https://admin.example.com
当前登录态通过 Bearer Token 传递,CORS_ALLOW_CREDENTIALS 默认关闭。禁止把允许来源配置成 *;如果以后改为 Cookie 登录,必须使用 HTTPS 明确域名,并审查 Cookie 的 SameSite 和 Secure 设置。
仓库边界
仓库边界、服务调用和拆分规则见 docs/头程项目目录结构与服务说明.md 的“项目定位”“主要调用关系”和“开发和拆分约束”。本仓不得引入尾程源码,不允许跨区域共享数据库、Redis 或 Nacos,也不允许通过公网直接调用对方内部服务。