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