refactor: 移除下单失败存储数据库的功能

- 删除 FailedTrade 实体类和 FailedTradeRepository
- 从 CopyOrderTrackingService 中移除失败交易存储逻辑
- 移除 recordFailedTrade 方法
- 移除检查失败交易的代码
- 创建 Flyway migration V16 删除 failed_trade 表
- 从 V1__init_database.sql 中移除 failed_trade 表创建语句

下单失败时仅记录日志,不再存储到数据库
This commit is contained in:
WrBug
2026-01-01 22:24:47 +08:00
parent ec06003157
commit cc1a732984
6 changed files with 846 additions and 242 deletions
@@ -0,0 +1,8 @@
-- ============================================
-- V16: 删除失败交易记录表
-- 移除下单失败存储到数据库的功能
-- ============================================
-- 删除失败交易记录表
DROP TABLE IF EXISTS failed_trade;
@@ -172,32 +172,8 @@ CREATE TABLE IF NOT EXISTS processed_trade (
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='已处理交易表(用于去重)';
-- ============================================
-- 9. 创建失败交易记录表
-- ============================================
CREATE TABLE IF NOT EXISTS failed_trade (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
leader_id BIGINT NOT NULL COMMENT 'Leader ID',
leader_trade_id VARCHAR(100) NOT NULL COMMENT 'Leader 的交易ID',
trade_type VARCHAR(10) NOT NULL COMMENT '交易类型:BUY 或 SELL',
copy_trading_id BIGINT NOT NULL COMMENT '跟单关系ID',
account_id BIGINT NOT NULL COMMENT '账户ID',
market_id VARCHAR(100) NOT NULL COMMENT '市场地址',
side VARCHAR(10) NOT NULL COMMENT '方向:YES/NO',
price VARCHAR(50) NOT NULL COMMENT '价格',
size VARCHAR(50) NOT NULL COMMENT '数量',
error_message TEXT COMMENT '错误信息',
retry_count INT NOT NULL DEFAULT 0 COMMENT '重试次数',
failed_at BIGINT NOT NULL COMMENT '失败时间(毫秒时间戳)',
created_at BIGINT NOT NULL COMMENT '创建时间(毫秒时间戳)',
INDEX idx_leader_trade (leader_id, leader_trade_id),
INDEX idx_copy_trading (copy_trading_id),
INDEX idx_failed_at (failed_at),
FOREIGN KEY (copy_trading_id) REFERENCES copy_trading(id) ON DELETE CASCADE,
FOREIGN KEY (leader_id) REFERENCES copy_trading_leaders(id) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='失败交易记录表';
-- ============================================
-- 10. 创建用户表(用于JWT登录鉴权)
-- 9. 创建用户表(用于JWT登录鉴权)
-- ============================================
CREATE TABLE IF NOT EXISTS users (
id BIGINT AUTO_INCREMENT PRIMARY KEY,