From af7852416addb4eb7c8ec9be210b11e30f3006e3 Mon Sep 17 00:00:00 2001 From: ouyangxq <775153912@qq.com> Date: Sat, 5 Sep 2026 23:13:24 +0800 Subject: [PATCH] fix: accept prefixed wallet event hashes --- deploy/sql/头程数据库统一增量-MySQL8.sql | 5 ++++- finance/src/main/resources/db/finance.sql | 2 +- .../java/com/baiyue/finance/FinanceWalletContractTest.java | 4 +++- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/deploy/sql/头程数据库统一增量-MySQL8.sql b/deploy/sql/头程数据库统一增量-MySQL8.sql index e792b7563..fbea23673 100644 --- a/deploy/sql/头程数据库统一增量-MySQL8.sql +++ b/deploy/sql/头程数据库统一增量-MySQL8.sql @@ -17881,7 +17881,7 @@ USE baiyue_finance; CREATE TABLE IF NOT EXISTS fin_wallet_command_inbox ( event_id VARCHAR(64) NOT NULL COMMENT '海外资金指令事件ID', event_type VARCHAR(96) NOT NULL COMMENT '事件类型', - payload_hash CHAR(64) NOT NULL COMMENT '规范化载荷SHA-256', + payload_hash VARCHAR(71) NOT NULL COMMENT '规范化载荷SHA-256,包含sha256:前缀', payload_json JSON NOT NULL COMMENT '冻结事件信封', status VARCHAR(16) NOT NULL COMMENT 'PROCESSING、SUCCEEDED或FAILED', result_json JSON NULL COMMENT '最终资金执行结果', @@ -17891,6 +17891,9 @@ CREATE TABLE IF NOT EXISTS fin_wallet_command_inbox ( KEY idx_fin_wallet_command_status (status,received_at) ) ENGINE=InnoDB COMMENT='跨区客户资金指令幂等收件箱'; +ALTER TABLE fin_wallet_command_inbox + MODIFY COLUMN payload_hash VARCHAR(71) NOT NULL COMMENT '规范化载荷SHA-256,包含sha256:前缀'; + CREATE TABLE IF NOT EXISTS fin_wallet_event_outbox ( event_id VARCHAR(64) NOT NULL COMMENT '资金结果事件ID', event_key VARCHAR(160) NOT NULL COMMENT '业务幂等键', diff --git a/finance/src/main/resources/db/finance.sql b/finance/src/main/resources/db/finance.sql index bd7f65262..b4c86dab1 100644 --- a/finance/src/main/resources/db/finance.sql +++ b/finance/src/main/resources/db/finance.sql @@ -543,7 +543,7 @@ CREATE TABLE IF NOT EXISTS fin_wallet_hold ( CREATE TABLE IF NOT EXISTS fin_wallet_command_inbox ( event_id VARCHAR(64) NOT NULL COMMENT '海外资金指令事件ID', event_type VARCHAR(96) NOT NULL COMMENT '事件类型', - payload_hash CHAR(64) NOT NULL COMMENT '规范化载荷SHA-256', + payload_hash VARCHAR(71) NOT NULL COMMENT '规范化载荷SHA-256,包含sha256:前缀', payload_json JSON NOT NULL COMMENT '冻结事件信封', status VARCHAR(16) NOT NULL COMMENT 'PROCESSING、SUCCEEDED或FAILED', result_json JSON NULL COMMENT '最终资金执行结果', diff --git a/finance/src/test/java/com/baiyue/finance/FinanceWalletContractTest.java b/finance/src/test/java/com/baiyue/finance/FinanceWalletContractTest.java index bddaafc77..e2d340709 100644 --- a/finance/src/test/java/com/baiyue/finance/FinanceWalletContractTest.java +++ b/finance/src/test/java/com/baiyue/finance/FinanceWalletContractTest.java @@ -23,7 +23,9 @@ class FinanceWalletContractTest { .contains("uk_fin_wallet_ledger_no") .contains("idx_fin_recharge_customer_status") .contains("CREATE TABLE IF NOT EXISTS fin_wallet_hold") - .contains("amount=actual_frozen_amount+credit_frozen_amount"); + .contains("amount=actual_frozen_amount+credit_frozen_amount") + .contains("CREATE TABLE IF NOT EXISTS fin_wallet_command_inbox") + .contains("payload_hash VARCHAR(71) NOT NULL"); } @Test