This commit is contained in:
2026-08-08 15:05:33 +08:00
parent 102845874b
commit e395292cd5
11 changed files with 2771 additions and 8 deletions
@@ -21,7 +21,7 @@ public interface OverseasStorageFeeClient {
ApiResponse<Void> compensate(@RequestHeader("X-Internal-Service-Token") String token,
@RequestBody CompensationRequest request);
record InitializationRequest(long tenantId, long operatorId, String initializationKey) { }
record InitializationRequest(long tenantId, long operatorId, String initializationKey, String customerName) { }
record InitializationResponse(Long configId, boolean createdByThisInitialization) { }
record CompensationRequest(long tenantId, String initializationKey) { }
}
@@ -121,7 +121,7 @@ public class MerchantOnboardingService {
addressMapper.insert(address);
}
dimensionRuleInitialization.initialize(tenantId, request.authUserId());
overseasStorageFeeInitialization.initialize(tenantId, request.authUserId());
overseasStorageFeeInitialization.initialize(tenantId, request.authUserId(), tenant.getTenantName());
return new MerchantRegistrationResponse(tenantId, membershipId, tenant.getStatus());
}
@@ -22,13 +22,13 @@ public class OverseasStorageFeeInitializationService {
@Resource private OverseasStorageFeeClient client;
@Value("${baiyue.security.internal-service-token}") private String internalToken;
public InitializationResult initialize(long tenantId, long operatorId) {
public InitializationResult initialize(long tenantId, long operatorId, String customerName) {
String key = initializationKey(tenantId);
RuntimeException last = null;
for (int attempt = 1; attempt <= MAX_ATTEMPTS; attempt++) {
try {
ApiResponse<OverseasStorageFeeClient.InitializationResponse> response = client.initialize(
internalToken, new OverseasStorageFeeClient.InitializationRequest(tenantId, operatorId, key));
internalToken, new OverseasStorageFeeClient.InitializationRequest(tenantId, operatorId, key, customerName));
if (response != null && response.successful() && response.data() != null) {
InitializationResult result = new InitializationResult(
response.data().createdByThisInitialization(), key);
@@ -182,7 +182,7 @@ public class TenantService {
tenant.setUpdatedBy(operatorId);
repository.insertTenant(tenant);
dimensionRuleInitialization.initialize(tenant.getId(), operatorId);
overseasStorageFeeInitialization.initialize(tenant.getId(), operatorId);
overseasStorageFeeInitialization.initialize(tenant.getId(), operatorId, tenant.getTenantName());
var administrator = administratorProvisioning.provisionPlatformCreatedTenant(tenant, operatorId);
return new CreationResponse(response(tenant), administrator.username(), administrator.temporaryPassword());