Appearance
注册开通:Corporate + Root Entity
概述
用户注册时,Liquia 先在 Ledger 创建 Organization 与 Root Entity,再调用 DTMS 开通 Corporate、登录根用户、创建 Root Entity,并把 DTMS id 写回本地。失败则补偿删除 DTMS 资源并回滚本地用户/组织。
触发入口
| 动作 | HTTP |
|---|---|
| 邮箱注册 | POST /api/auth/signup |
| OAuth 注册 | POST /api/auth/oauth/signup |
参与方
- Client(web)
api-gateway(Auth / SignUp use-case)OrganizationProvisioningService- Ledger(TCP)
DtmsSyncService/DtmsClient/DtmsAuthService.cacheToken- Redis、DTMS
业务流程图
加载图表…
时序图(含 Liquia → DTMS)
加载图表…
DTMS API 对照
| 步骤 | Liquia | HTTP | Path | Bearer |
|---|---|---|---|---|
| 建企业 | createCorporate | POST | /corporates | 否 |
| 登录 | login | POST | /auth/users/_login | 否 |
| 建根实体 | createEntity | POST | /entites | 是 |
| 补偿删实体 | deleteEntity | DELETE | /entites/{id} | 是 |
| 补偿删企业 | deleteCorporate | DELETE | /corporates/{id} | 是 |
要点:refCode=organizationId;rootPasswordSha;plan → FREE_TIER/STANDARD/ENTERPRISE;Root Entity isGroup=true,ledgerStatus=NON_POSTING。
本地数据影响
Organization:dtmsCorporateId、dtmsRootEntityId、dtmsRootEmail、dtmsRootPasswordEnc、dtmsSyncedAt等Entity(root):dtmsEntityId
异常与补偿
- 缺
DTMS_BASE_URL/DTMS_API_KEY/DTMS_CREDENTIALS_KEY→ 开通失败(常见DTMS_NOT_CONFIGURED/ credentials 类) - loginStatus≠OK →
DTMS_LOGIN_FAILED - 包装为
DTMS_PROVISION_FAILED;已有 corporate 则幂等跳过 shouldSkipSync(dev 未开 DTMS)整段跳过
源码索引
apps/api/src/orchestration/signup/organization-provisioning.service.tsapps/api/src/integrations/dtms/dtms-sync.service.ts- Sign-up / OAuth sign-up use-cases + Auth controller