This commit is contained in:
2026-08-25 15:08:34 +08:00
parent e815abcbd7
commit 44198866d9
64 changed files with 1382 additions and 360 deletions
+46 -2
View File
@@ -59,7 +59,7 @@ paths:
post:
tags: [Platform Tenant / 平台租户]
summary: Register enterprise tenant / 创建企业客户草稿
description: Create a `PROFILE_REQUIRED` enterprise draft and its OWNER account, returning one-time credentials. Saving the customer does not create a review task. / 创建待完善企业客户草稿及 OWNER 账号并返回一次性凭据,保存客户不会创建审核单。
description: Create a `PROFILE_REQUIRED` enterprise draft and its OWNER account, returning one-time credentials. Customer creation succeeds after IAM commits; default dimensions initialize reliably in background and are exposed as `PENDING/READY/FAILED`. / 创建待完善企业客户草稿及 OWNER 账号并返回一次性凭据;IAM 提交即代表客户创建成功,默认尺寸在后台可靠初始化并显式返回 PENDING/READY/FAILED。
requestBody:
required: true
content:
@@ -123,6 +123,38 @@ paths:
$ref: '#/components/schemas/PlatformCustomerMembersApiResponse'
'403': {$ref: '#/components/responses/Forbidden'}
'404': {$ref: '#/components/responses/NotFound'}
/api/platform/v1/iam/tenants/{tenantId}/dimension-initialization:
parameters:
- {$ref: '#/components/parameters/TenantId'}
get:
tags: [Platform Tenant / 平台租户]
summary: 查询客户默认尺寸初始化诊断
description: 返回任务状态、尝试次数、下次重试时间和最后失败原因;不会把远端失败转换为空数据或成功。
responses:
'200':
description: 初始化诊断查询成功
content:
application/json:
schema:
allOf:
- {$ref: '#/components/schemas/ApiResponse'}
- type: object
properties:
data: {$ref: '#/components/schemas/CustomerDimensionInitializationStatus'}
'403': {$ref: '#/components/responses/Forbidden'}
'404': {$ref: '#/components/responses/NotFound'}
/api/platform/v1/iam/tenants/{tenantId}/dimension-initialization/retry:
parameters:
- {$ref: '#/components/parameters/TenantId'}
post:
tags: [Platform Tenant / 平台租户]
summary: 人工重试失败的客户默认尺寸初始化
description: 只允许 FAILED 任务重新进入 PENDING;稳定 initializationKey 不变。
responses:
'200': {$ref: '#/components/responses/TenantSuccess'}
'403': {$ref: '#/components/responses/Forbidden'}
'404': {$ref: '#/components/responses/NotFound'}
'409': {$ref: '#/components/responses/Conflict'}
/api/platform/v1/iam/tenants/{tenantId}/submit-review:
parameters:
- {$ref: '#/components/parameters/TenantId'}
@@ -1085,12 +1117,13 @@ components:
pages: {type: integer, minimum: 0}
TenantResponse:
type: object
required: [id, tenantCode, tenantName, status, servicePackage]
required: [id, tenantCode, tenantName, status, dimensionInitializationStatus, servicePackage]
properties:
id: {type: string, pattern: '^\d+$', example: '190000000000000001'}
tenantCode: {type: string}
tenantName: {type: string}
status: {type: string, enum: [PROFILE_REQUIRED, PENDING, ACTIVE, REJECTED, DISABLED, ARCHIVED]}
dimensionInitializationStatus: {type: string, enum: [PENDING, READY, FAILED], description: 客户默认尺寸初始化状态;未 READY 时依赖该配置的业务失败关闭}
legalName: {type: string}
legalRepresentative: {type: string, maxLength: 64}
unifiedSocialCreditCode: {type: string}
@@ -1109,6 +1142,17 @@ components:
internalRemark: {type: string, maxLength: 1000, description: 仅平台端可见}
createdAt: {type: string, format: date-time, description: 入驻时间}
approvedAt: {type: string, format: date-time, description: 审批通过时间}
CustomerDimensionInitializationStatus:
type: object
required: [tenantId, status, attemptCount, nextRetryAt, updatedAt]
properties:
tenantId: {type: string, pattern: '^\d+$'}
status: {type: string, enum: [PENDING, SENDING, READY, FAILED, CANCELLED]}
attemptCount: {type: integer, minimum: 0}
nextRetryAt: {type: string, format: date-time}
lastErrorCode: {type: string, nullable: true}
lastErrorMessage: {type: string, nullable: true, description: 已清洗且截断的最后失败诊断}
updatedAt: {type: string, format: date-time}
FinanceCustomerSummary:
type: object
required: [id, tenantCode, tenantName, status]