feat: 订单列表按市场分组功能重构
- 后端实现按市场分组的订单列表接口 - 添加 MarketGroupedOrdersRequest、MarketOrderStats、MarketOrderGroup、MarketGroupedOrdersResponse DTO - 实现 getBuyOrderListGroupedByMarket 和 getSellOrderListGroupedByMarket 方法 - 添加 POST /api/copy-trading/orders/grouped-by-market 接口 - 支持分页和统计信息(订单数、总金额、盈亏、成交状态等) - 前端重构:移除前端分组逻辑,改为调用后端分组接口 - BuyOrdersTab 和 SellOrdersTab 使用后端分组接口 - 移除前端 useMemo 分组计算逻辑 - 添加分组数据状态管理和分页支持 - 分组默认折叠状态 - 移除桌面端自动展开逻辑 - 所有设备默认折叠,用户手动展开 - 修复 moneyline URL 逻辑 - getPolymarketUrl 函数添加 isMoneyline 参数 - 暂时不自动跳转到 moneyline 页面(需要后端提供标识) - 多语言支持 - 添加 markets 翻译键(中文、繁体中文、英文)
This commit is contained in:
@@ -700,6 +700,51 @@ export interface OrderTrackingRequest {
|
||||
buyOrderId?: string
|
||||
}
|
||||
|
||||
/**
|
||||
* 按市场分组的订单查询请求
|
||||
*/
|
||||
export interface MarketGroupedOrdersRequest {
|
||||
copyTradingId: number
|
||||
type: 'buy' | 'sell'
|
||||
page?: number
|
||||
limit?: number
|
||||
}
|
||||
|
||||
/**
|
||||
* 单个市场的订单统计信息
|
||||
*/
|
||||
export interface MarketOrderStats {
|
||||
count: number
|
||||
totalAmount: string // 总金额
|
||||
totalPnl?: string // 总盈亏(买入订单未实现盈亏,此字段为空)
|
||||
fullyMatched: boolean // 是否全部成交
|
||||
fullyMatchedCount: number // 完全成交的订单数
|
||||
partiallyMatchedCount: number // 部分成交的订单数
|
||||
filledCount: number // 未成交的订单数
|
||||
}
|
||||
|
||||
/**
|
||||
* 单个市场分组的响应数据
|
||||
*/
|
||||
export interface MarketOrderGroup {
|
||||
marketId: string
|
||||
marketTitle?: string
|
||||
marketSlug?: string
|
||||
marketCategory?: string
|
||||
stats: MarketOrderStats
|
||||
orders: BuyOrderInfo[] | SellOrderInfo[] // 订单列表
|
||||
}
|
||||
|
||||
/**
|
||||
* 按市场分组的订单列表响应
|
||||
*/
|
||||
export interface MarketGroupedOrdersResponse {
|
||||
list: MarketOrderGroup[]
|
||||
total: number // 市场总数
|
||||
page: number
|
||||
limit: number
|
||||
}
|
||||
|
||||
/**
|
||||
* 被过滤订单信息
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user