feat: 实现跟单筛选条件记录和展示功能
- 新增 FilteredOrder 实体和数据库表,记录被过滤的订单信息 - 在筛选失败时自动记录到数据库并发送 Telegram 通知 - 创建 FilteredOrderService 和 API 接口,支持查询被过滤订单列表 - 前端新增被过滤订单列表页面,支持按过滤类型筛选 - 修复价差计算逻辑,使用数组最大值和最小值而非第一个元素 - 优化编辑页面 UI,钱包和 Leader 显示与创建页面一致(只读) - 添加多语言支持(中文、繁体中文、英文)
This commit is contained in:
@@ -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)
|
||||
},
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user