feat: 实现跟单筛选条件记录和展示功能

- 新增 FilteredOrder 实体和数据库表,记录被过滤的订单信息
- 在筛选失败时自动记录到数据库并发送 Telegram 通知
- 创建 FilteredOrderService 和 API 接口,支持查询被过滤订单列表
- 前端新增被过滤订单列表页面,支持按过滤类型筛选
- 修复价差计算逻辑,使用数组最大值和最小值而非第一个元素
- 优化编辑页面 UI,钱包和 Leader 显示与创建页面一致(只读)
- 添加多语言支持(中文、繁体中文、英文)
This commit is contained in:
WrBug
2025-12-05 05:18:20 +08:00
parent e68309ada0
commit 9b8150cf92
33 changed files with 3801 additions and 549 deletions
+28 -6
View File
@@ -359,19 +359,28 @@ export const apiService = {
*/
copyTrading: {
/**
* 创建跟单
* 创建跟单配置
* 支持两种方式:
* 1. 提供 templateId:从模板填充配置,可以覆盖部分字段
* 2. 不提供 templateId:手动输入所有配置参数
*/
create: (data: { accountId: number; templateId: number; leaderId: number; enabled?: boolean }) =>
create: (data: any) =>
apiClient.post<ApiResponse<any>>('/copy-trading/create', data),
/**
* 更新跟单配置
*/
update: (data: any) =>
apiClient.post<ApiResponse<any>>('/copy-trading/update', data),
/**
* 查询跟单列表
*/
list: (data: { accountId?: number; templateId?: number; leaderId?: number; enabled?: boolean } = {}) =>
list: (data: { accountId?: number; leaderId?: number; enabled?: boolean } = {}) =>
apiClient.post<ApiResponse<any>>('/copy-trading/list', data),
/**
* 更新跟单状态
* 更新跟单状态(兼容旧接口)
*/
updateStatus: (data: { copyTradingId: number; enabled: boolean }) =>
apiClient.post<ApiResponse<any>>('/copy-trading/update-status', data),
@@ -383,10 +392,23 @@ export const apiService = {
apiClient.post<ApiResponse<void>>('/copy-trading/delete', data),
/**
* 查询钱包绑定的模板
* 查询钱包绑定的跟单配置(兼容旧接口)
*/
getAccountTemplates: (data: { accountId: number }) =>
apiClient.post<ApiResponse<any>>('/copy-trading/account-templates', data)
apiClient.post<ApiResponse<any>>('/copy-trading/account-templates', data),
/**
* 查询被过滤订单列表
*/
getFilteredOrders: (data: {
copyTradingId: number
filterType?: string
page?: number
limit?: number
startTime?: number
endTime?: number
}) =>
apiClient.post<ApiResponse<any>>('/copy-trading/filtered-orders', data)
},
/**