fix qualification upload contract and test baseline

This commit is contained in:
2026-09-12 12:27:56 +08:00
parent dcd079b5b7
commit 2191bacbfe
9 changed files with 61 additions and 6 deletions
@@ -31,6 +31,7 @@ public interface IamQualificationClient {
record QualificationRequest(Long tenantId, String qualificationType,
String certificateNo, String documentUrl,
String originalFileName,
java.time.LocalDate validTo, boolean replace) { }
record QualificationResponse(Long qualificationId, Long reviewId, String tenantStatus,
String replacedDocumentUrl) { }
@@ -38,12 +39,15 @@ public interface IamQualificationClient {
String replacedDocumentUrl) { }
record PlatformQualificationRequest(Long tenantId, String qualificationType,
String certificateNo, String documentUrl,
String originalFileName,
java.time.LocalDate validTo, boolean replace) { }
record RequiredPackageRequest(Long tenantId, String unifiedSocialCreditCode,
String businessLicenseDocumentUrl,
String businessLicenseOriginalFileName,
java.time.LocalDate businessLicenseValidTo,
boolean replaceBusinessLicense,
String legalPersonIdDocumentUrl,
String legalPersonIdOriginalFileName,
java.time.LocalDate legalPersonIdValidTo,
boolean replaceLegalPersonId) { }
record RequiredPackageResponse(Long businessLicenseQualificationId,
@@ -53,7 +53,8 @@ public class PlatformQualificationFileController {
try {
var response = iamClient.submitPlatform(internalToken,
new IamQualificationClient.PlatformQualificationRequest(
tenantId, qualificationType, certificateNo, stored.documentUrl(), validTo, replace));
tenantId, qualificationType, certificateNo, stored.documentUrl(),
file.getOriginalFilename(), validTo, replace));
if (response == null) {
throw new IllegalStateException("IAM qualification response is empty");
}
@@ -45,7 +45,7 @@ public class QualificationFileController {
try {
var response = iamClient.submit(internalToken,
new IamQualificationClient.QualificationRequest(tenantId, qualificationType,
certificateNo, stored.documentUrl(), validTo, replace));
certificateNo, stored.documentUrl(), file.getOriginalFilename(), validTo, replace));
if (response == null) {
throw new IllegalStateException("IAM qualification response is empty");
}
@@ -45,8 +45,10 @@ public class QualificationPackageService {
String legalPersonIdDocumentUrl = storedLegalPersonId == null ? null : storedLegalPersonId.documentUrl();
var request = new IamQualificationClient.RequiredPackageRequest(
tenantId, normalizedCreditCode, storedBusinessLicense.documentUrl(), businessLicenseValidTo,
replaceBusinessLicense, legalPersonIdDocumentUrl, legalPersonIdValidTo, replaceLegalPersonId);
tenantId, normalizedCreditCode, storedBusinessLicense.documentUrl(), businessLicense.getOriginalFilename(),
businessLicenseValidTo, replaceBusinessLicense, legalPersonIdDocumentUrl,
legalPersonId == null ? null : legalPersonId.getOriginalFilename(),
legalPersonIdValidTo, replaceLegalPersonId);
try {
var response = platform
? iamClient.submitPlatformRequiredPackage(internalToken, request)
@@ -57,6 +57,8 @@ class QualificationPackageServiceTest {
var captor = ArgumentCaptor.forClass(IamQualificationClient.RequiredPackageRequest.class);
ordered.verify(fixture.iamClient).submitRequiredPackage(eq("internal-token"), captor.capture());
assertEquals("91310101ABCDE12345", captor.getValue().unifiedSocialCreditCode());
assertEquals("license.pdf", captor.getValue().businessLicenseOriginalFileName());
assertEquals("legal-person.png", captor.getValue().legalPersonIdOriginalFileName());
assertEquals(BUSINESS_URL, result.businessLicenseDocumentUrl());
assertEquals(LEGAL_PERSON_URL, result.legalPersonIdDocumentUrl());
}
@@ -74,6 +76,7 @@ class QualificationPackageServiceTest {
var captor = ArgumentCaptor.forClass(IamQualificationClient.RequiredPackageRequest.class);
verify(fixture.iamClient).submitRequiredPackage(eq("internal-token"), captor.capture());
assertNull(captor.getValue().legalPersonIdDocumentUrl());
assertNull(captor.getValue().legalPersonIdOriginalFileName());
assertNull(captor.getValue().legalPersonIdValidTo());
assertNull(result.legalPersonIdQualificationId());
assertNull(result.legalPersonIdDocumentUrl());