This commit is contained in:
2026-08-05 09:11:41 +08:00
parent 2313fd238c
commit a6828df5b9
6 changed files with 90 additions and 13 deletions
@@ -34,6 +34,13 @@ test('supports tenant profile updates and authenticated qualification downloads'
assert.match(storeSource, /normalizeQualificationStatus\(item\.status\)/)
})
test('uploads the three required qualification fields through one multipart package request', () => {
assert.match(source, /url: '\/merchant\/v1\/files\/qualifications\/required-package'/)
assert.match(source, /data\.append\('businessLicense', businessLicense\)/)
assert.match(source, /data\.append\('legalPersonId', legalPersonId\)/)
assert.match(source, /params: \{ unifiedSocialCreditCode, replaceBusinessLicense, replaceLegalPersonId \}/)
})
test('uses membershipId and full replacement arrays in authorization writes', () => {
assert.match(source, /data: \{ roleId, permissionIds \}/)
assert.match(source, /data: \{ membershipId, roleIds \}/)
@@ -56,6 +56,14 @@ export interface QualificationUploadResult {
documentUrl: string
}
export interface RequiredQualificationPackageUploadResult {
businessLicenseQualificationId: number | string
legalPersonIdQualificationId: number | string
tenantStatus: MerchantTenantStatus
businessLicenseDocumentUrl: string
legalPersonIdDocumentUrl: string
}
export interface MerchantRole {
id: number | string
tenantId: number | string
@@ -161,6 +169,24 @@ export function uploadMerchantQualification(
})
}
export function uploadMerchantRequiredQualificationPackage(
businessLicense: File,
legalPersonId: File,
unifiedSocialCreditCode: string,
replaceBusinessLicense = false,
replaceLegalPersonId = false,
) {
const data = new FormData()
data.append('businessLicense', businessLicense)
data.append('legalPersonId', legalPersonId)
return apiRequest<RequiredQualificationPackageUploadResult>({
method: 'POST',
url: '/merchant/v1/files/qualifications/required-package',
params: { unifiedSocialCreditCode, replaceBusinessLicense, replaceLegalPersonId },
data,
})
}
export function submitTenantQualificationReview() {
return apiRequest<MerchantTenantProfile>({ method: 'POST', url: '/merchant/v1/iam/tenant/qualifications/submit-review' })
}