CREATE TABLE `wallet_transaction` ( `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主鍵 ID,自動遞增', `transaction_id` BIGINT NOT NULL COMMENT '交易流水號(可對應某次業務操作,例如同一訂單的多筆變化)', `order_id` VARCHAR(64) NOT NULL COMMENT '訂單編號(對應實際訂單或業務事件)', `brand` VARCHAR(50) NOT NULL COMMENT '品牌(多租戶或多平台識別)', `uid` VARCHAR(64) NOT NULL COMMENT '使用者 UID', `wallet_type` TINYINT NOT NULL COMMENT '錢包類型(如主錢包、獎勵錢包、凍結錢包等)', `business_type` TINYINT NOT NULL COMMENT '業務類型(如購物、退款、加值等)', `asset` VARCHAR(32) NOT NULL COMMENT '資產代號(如 BTC、ETH、GEM_RED、USD 等)', `amount` DECIMAL(30, 18) NOT NULL COMMENT '變動金額(正數為收入,負數為支出)', `balance` DECIMAL(30, 18) NOT NULL COMMENT '當前錢包餘額(這筆交易後的餘額快照)', `create_at` BIGINT NOT NULL DEFAULT 0 COMMENT '建立時間(UnixNano,紀錄交易發生時間)', PRIMARY KEY (`id`), KET `idx_uid` (`uid`), KEY `idx_transaction_id` (`transaction_id`), KEY `idx_order_id` (`order_id`), KEY `idx_brand` (`brand`), KEY `idx_wallet_type` (`wallet_type`) ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '錢包資金異動紀錄(每一次交易行為的快照記錄)';