feat:文件上传的功能开发

chore/issuance-comments-zh
赵佳正 1 month ago
parent 74a649ca22
commit d5daf546ab

@ -170,15 +170,23 @@ public class WalletPrerequisiteProjectionService {
List<BankAccount> existing = bankAccounts(source.userId, institution.bankCode);
if (!existing.isEmpty()) {
validateAccount(existing.get(0), source, institution);
BigDecimal expectedBalance = source.application.accountBalance != null
&& source.application.accountBalance.compareTo(BigDecimal.ZERO) > 0
? source.application.accountBalance : new BigDecimal("50000.00");
jdbc.update("UPDATE simulated_bank_account SET balance=? WHERE account_id=? AND balance=0",
expectedBalance, existing.get(0).accountId);
return existing.get(0).accountId;
}
BigDecimal initialBalance = source.application.accountBalance != null
&& source.application.accountBalance.compareTo(BigDecimal.ZERO) > 0
? source.application.accountBalance : new BigDecimal("50000.00");
try {
jdbc.update("INSERT INTO simulated_bank_account " +
"(account_id,user_id,bank_code,bank_name,card_number,card_last4,balance,frozen_amount,status,created_at,updated_at) " +
"VALUES (?,?,?,?,?,?,?,0,'ACTIVE',CURRENT_TIMESTAMP,CURRENT_TIMESTAMP)",
expectedId, source.userId, institution.bankCode, source.application.bankName,
source.application.cardNumber, lastFour(source.application.cardNumber),
source.application.accountBalance);
initialBalance);
} catch (DuplicateKeyException exception) {
existing = bankAccounts(source.userId, institution.bankCode);
if (existing.isEmpty()) throw exception;

@ -16,6 +16,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
@ -79,10 +80,13 @@ public class WalletOpeningService {
throw new BusinessException(ErrorCode.VALIDATION_ERROR, "请选择数字钱包类型");
}
// 输出申请报文时才存储身份证号、银行卡号等敏感信息
BigDecimal accountBalance = request.getAccountBalance();
if (accountBalance == null || accountBalance.compareTo(BigDecimal.ZERO) <= 0) {
accountBalance = new BigDecimal("50000.00");
}
app.fillForm(request.getSelectedBank(), request.getWalletType(), request.getInputPhone(),
request.getInputIdNumber(), request.getInputBankCardNumber(), request.getSignaturePhotoPath(),
request.getIdNumber(), request.getAccountBank(), request.getBankCardNumber(), request.getAccountBalance());
request.getIdNumber(), request.getAccountBank(), request.getBankCardNumber(), accountBalance);
String applyTime = LocalDateTime.now().format(TIMESTAMP_FORMAT);
String applicationId = "APP_" + applyTime;

Loading…
Cancel
Save