yeg
2026-09-15 4fff3f4dd9ea9546b8974c4b6970144f691d60fa
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
package com.talentcard.server.business.merchant;
 
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Pattern;
import jakarta.validation.constraints.Size;
 
public record MerchantOnboardingRequest(
        @NotBlank @Pattern(regexp = "enterprise|individual") String subjectType,
        @NotBlank @Size(max = 128) String subjectName,
        @Size(max = 32) String creditCode,
        @Size(max = 32) String subjectIdNumber,
        @Pattern(regexp = "|fixed|long_term") String subjectCertificateValidityType,
        @Pattern(regexp = "|\\d{4}-\\d{2}-\\d{2}") String subjectCertificateBeginDate,
        @Pattern(regexp = "|\\d{4}-\\d{2}-\\d{2}") String subjectCertificateEndDate,
        @Pattern(regexp = "|fixed|long_term") String licenseValidityType,
        @Pattern(regexp = "|\\d{4}-\\d{2}-\\d{2}") String licenseBeginDate,
        @Pattern(regexp = "|\\d{4}-\\d{2}-\\d{2}") String licenseEndDate,
        @Size(max = 128) String registeredRegion,
        @Pattern(regexp = "|\\d{6}") String registeredProvinceCode,
        @Pattern(regexp = "|\\d{6}") String registeredCityCode,
        @Pattern(regexp = "|\\d{6}") String registeredDistrictCode,
        @Size(max = 255) String registeredAddress,
        @Size(max = 128) String merchantName,
        @Size(max = 128) String merchantShortName,
        @Size(max = 64) String companyType,
        @Size(max = 512) String businessLicenseUrl,
        @Pattern(regexp = "|\\d{4}-\\d{2}-\\d{2}") String establishedDate,
        @Size(max = 64) String registeredCapital,
        @Size(max = 512) String legalIdFrontUrl,
        @Size(max = 512) String legalIdBackUrl,
        @Size(max = 255) String legalCertificateAddress,
        @Size(max = 32) String administratorEmail,
        @NotBlank @Size(max = 64) String contactName,
        @NotBlank @Pattern(regexp = "1\\d{10}") String contactMobile,
        @NotBlank @Pattern(regexp = "\\d{16,32}") String bankCardNumber,
        @NotBlank @Pattern(regexp = "\\d{6}") String bankProvinceCode,
        @NotBlank @Pattern(regexp = "\\d{6}") String bankCityCode,
        @NotBlank @Pattern(regexp = "\\d{12}") String bankBranchCode,
        @Size(max = 512) String settlementCardFrontUrl,
        @Size(max = 512) String registrationAccountUrl
) {}