fix: derive platform qualification file names
This commit is contained in:
@@ -58,7 +58,7 @@ public final class OnboardingDtos {
|
||||
@NotNull Long tenantId,
|
||||
@NotBlank @Pattern(regexp = "[0-9A-Za-z]{18}") String unifiedSocialCreditCode,
|
||||
@NotBlank String businessLicenseDocumentUrl,
|
||||
@NotBlank @Size(max = 255) String businessLicenseOriginalFileName,
|
||||
@Size(max = 255) String businessLicenseOriginalFileName,
|
||||
LocalDate businessLicenseValidTo,
|
||||
boolean replaceBusinessLicense,
|
||||
String legalPersonIdDocumentUrl,
|
||||
|
||||
@@ -212,14 +212,16 @@ public class ProfileResourceService {
|
||||
String replacedBusinessLicenseUrl = supersede(businessLicenses, replacementComment);
|
||||
String replacedLegalPersonIdUrl = hasLegalPersonId ? supersede(legalPersonIds, replacementComment) : null;
|
||||
IamTenantQualification businessLicense = createQualification(tenant.getId(), "BUSINESS_LICENSE",
|
||||
creditCode, request.businessLicenseDocumentUrl(), request.businessLicenseOriginalFileName());
|
||||
creditCode, request.businessLicenseDocumentUrl(),
|
||||
normalizeOriginalFileName(request.businessLicenseOriginalFileName(), request.businessLicenseDocumentUrl(), platformManaged));
|
||||
businessLicense.setValidTo(request.businessLicenseValidTo());
|
||||
if (platformManaged) markPlatformQualificationApproved(tenant, businessLicense);
|
||||
repository.saveQualification(businessLicense);
|
||||
IamTenantQualification legalPersonId = null;
|
||||
if (hasLegalPersonId) {
|
||||
legalPersonId = createQualification(tenant.getId(), "LEGAL_PERSON_ID",
|
||||
null, request.legalPersonIdDocumentUrl().trim(), request.legalPersonIdOriginalFileName());
|
||||
null, request.legalPersonIdDocumentUrl().trim(),
|
||||
normalizeOriginalFileName(request.legalPersonIdOriginalFileName(), request.legalPersonIdDocumentUrl(), platformManaged));
|
||||
legalPersonId.setValidTo(request.legalPersonIdValidTo());
|
||||
if (platformManaged) markPlatformQualificationApproved(tenant, legalPersonId);
|
||||
repository.saveQualification(legalPersonId);
|
||||
@@ -297,7 +299,15 @@ public class ProfileResourceService {
|
||||
}
|
||||
|
||||
private String normalizeOriginalFileName(String originalFileName) {
|
||||
return normalizeOriginalFileName(originalFileName, null, false);
|
||||
}
|
||||
|
||||
private String normalizeOriginalFileName(String originalFileName, String documentUrl, boolean platformManaged) {
|
||||
if (!StringUtils.hasText(originalFileName)) {
|
||||
if (platformManaged && StringUtils.hasText(documentUrl)) {
|
||||
String value = documentUrl.substring(documentUrl.lastIndexOf('/') + 1).trim();
|
||||
if (StringUtils.hasText(value) && value.length() <= 255) return value;
|
||||
}
|
||||
throw new BizException(ResultCode.BAD_REQUEST, "Original file name is required / 必须提供上传时原始文件名");
|
||||
}
|
||||
String normalized = originalFileName.trim();
|
||||
|
||||
Reference in New Issue
Block a user