package com.yau.digitalrmb.testsupport; import org.springframework.jdbc.core.JdbcTemplate; import java.math.BigDecimal; public final class WalletOpeningTestData { private WalletOpeningTestData() { } public static void insertCompletedWallet(JdbcTemplate jdbc, long baseId, String userId, long schoolId, long classId, String walletId, String privateKey, String publicKey, String bankName, String cardNumber, BigDecimal bankBalance) { jdbc.update("INSERT INTO wallet_application (id,user_id,school_id,class_id,user_name,id_number,phone,account_bank,bank_card_number," + "account_balance,selected_bank,wallet_type,application_id,status,created_at,updated_at,created_by,updated_by,deleted) " + "VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,'SUBMITTED',CURRENT_TIMESTAMP,CURRENT_TIMESTAMP,'test','test',FALSE)", baseId, userId, schoolId, classId, "测试用户", "610100200001010000", "13800000000", bankName, cardNumber, bankBalance, bankName, "TYPE_II", "APP_" + baseId); jdbc.update("INSERT INTO wallet_identifier_generation (id,user_id,school_id,class_id,wallet_identifier," + "cert_private_key,cert_public_key,cert_serial_number,cert_issued_time,status,created_at,updated_at,created_by,updated_by,deleted) " + "VALUES (?,?,?,?,?,?,?,?,?,'CERT_ISSUED',CURRENT_TIMESTAMP,CURRENT_TIMESTAMP,'test','test',FALSE)", baseId + 1, userId, schoolId, classId, walletId, privateKey, publicKey, "CERT_" + baseId, "20260818090000"); jdbc.update("INSERT INTO central_wallet_registration (id,user_id,school_id,class_id,wallet_id,cb_root_signature," + "wallet_registered,sent,status,created_at,updated_at,created_by,updated_by,deleted) " + "VALUES (?,?,?,?,?,'CB_ROOT_TEST',TRUE,TRUE,'SENT',CURRENT_TIMESTAMP,CURRENT_TIMESTAMP,'test','test',FALSE)", baseId + 2, userId, schoolId, classId, walletId); jdbc.update("INSERT INTO smart_contract_generation (id,user_id,school_id,class_id,wallet_id,wallet_type," + "single_payment_limit,daily_payment_limit,annual_payment_limit,balance_ceiling,validity,contract_plaintext," + "contract_digest,contract_id,contract_effective_time,sent,status,created_at,updated_at,created_by,updated_by,deleted) " + "VALUES (?,?,?,?,?,'TYPE_II','50000.00','100000.00','500000.00','500000.00','长期有效'," + "'CONTRACT_TEXT','0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef',?," + "'20260818090000',TRUE,'SENT',CURRENT_TIMESTAMP,CURRENT_TIMESTAMP,'test','test',FALSE)", baseId + 3, userId, schoolId, classId, walletId, "CONTRACT_" + baseId); jdbc.update("INSERT INTO central_wallet_activation (id,user_id,school_id,class_id,wallet_id,wallet_activated," + "wallet_register_status,cb_final_signature,final_time,final_sent,status,created_at,updated_at,created_by,updated_by,deleted) " + "VALUES (?,?,?,?,?,TRUE,'AVAILABLE','CB_FINAL_TEST','20260818090000',TRUE,'FINAL_SENT'," + "CURRENT_TIMESTAMP,CURRENT_TIMESTAMP,'test','test',FALSE)", baseId + 4, userId, schoolId, classId, walletId); } public static void deleteWalletFacts(JdbcTemplate jdbc, String userId) { jdbc.update("DELETE FROM central_wallet_activation WHERE user_id=?", userId); jdbc.update("DELETE FROM smart_contract_generation WHERE user_id=?", userId); jdbc.update("DELETE FROM central_wallet_registration WHERE user_id=?", userId); jdbc.update("DELETE FROM wallet_identifier_generation WHERE user_id=?", userId); jdbc.update("DELETE FROM wallet_application WHERE user_id=?", userId); } }