CREATE TABLE `transaction` (
   `id`             BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '交易主鍵 ID，自動遞增',
   `order_id`       VARCHAR(64)     DEFAULT NULL COMMENT '關聯的訂單 ID，可為空（若不是由訂單觸發）',
   `transaction_id` VARCHAR(64)     NOT NULL COMMENT '此筆交易的唯一識別碼（系統內部使用，可為 UUID）',
   `brand`          VARCHAR(50)     NOT NULL COMMENT '所屬品牌（支援多品牌場景）',
   `uid`            VARCHAR(64)     NOT NULL COMMENT '交易發起者的 UID',
   `to_uid`         VARCHAR(64)     DEFAULT NULL COMMENT '交易對象的 UID（如為轉帳場景）',
   `type`           TINYINT         NOT NULL COMMENT '交易類型（如轉帳、入金、出金等，自定義列舉）',
   `business_type`  TINYINT         NOT NULL COMMENT '業務類型（如合約、模擬、一般用途等，數字代碼）',
   `crypto`         VARCHAR(32)     NOT NULL COMMENT '幣種（如 BTC、ETH、USD、TWD 等）',
   `amount`         DECIMAL(30, 18) NOT NULL COMMENT '本次變動金額（正數為增加，負數為扣減）',
   `balance`        DECIMAL(30, 18) NOT NULL COMMENT '交易完成後的錢包餘額',
   `before_balance` DECIMAL(30, 18) NOT NULL COMMENT '交易前的錢包餘額（方便審計與對帳）',
   `status`         TINYINT         NOT NULL DEFAULT 1 COMMENT '狀態（1: 有效、0: 無效/已取消）',
   `create_time`    BIGINT          NOT NULL DEFAULT 0 COMMENT '建立時間（Unix 秒數）',
   `due_time`       BIGINT          NOT NULL DEFAULT 0 COMMENT '到期時間（適用於凍結或延後入帳等場景）',
   PRIMARY KEY (`id`),
   UNIQUE KEY `uq_transaction_id` (`transaction_id`),
   KEY `idx_uid` (`uid`),
   KEY `idx_order_id` (`order_id`),
   KEY `idx_create_time` (`create_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='交易紀錄表';