feat: 订单列表按市场分组并支持跳转到Polymarket

- 后端添加市场slug和分类字段
  - 在 BuyOrderInfo、SellOrderInfo、MatchedOrderInfo DTO 中添加 marketSlug 和 marketCategory 字段
  - 在 CopyTradingStatisticsService 中填充这些字段(从 Market 实体获取)

- 前端实现按市场分组功能
  - 添加分组视图切换开关(列表视图/分组视图)
  - 分组显示:按市场分组,显示市场名称、订单数、总金额、盈亏等统计信息
  - 买入订单分组显示是否完全成交状态(全部成交/部分成交)
  - 卖出订单分组显示总盈亏
  - 支持展开/折叠功能(单个和全部)
  - 桌面端默认全部展开,移动端默认全部折叠

- 市场名称点击跳转功能
  - 添加 getPolymarketUrl 工具函数,根据市场分类构建URL
  - sports 分类市场跳转到 /moneyline 页面(spread 市场)
  - 其他分类市场跳转到普通市场页面
  - 如果没有 slug,使用 marketId 作为后备(跳转到 condition 页面)
  - 分组视图、列表视图、移动端卡片视图均支持点击跳转

- 多语言支持
  - 添加分组相关翻译键:groupByMarket、expandAll、collapseAll、allFullyMatched、partiallyMatched、orderCount、totalAmount、totalPnl、statusBreakdown
This commit is contained in:
WrBug
2026-01-08 12:39:09 +08:00
parent d376a82ccc
commit 2af2c0e86a
9 changed files with 868 additions and 101 deletions
+9
View File
@@ -1053,6 +1053,15 @@
"noBuyOrders": "No buy orders",
"noSellOrders": "No sell orders",
"noMatchedOrders": "No matched orders",
"groupByMarket": "Group by Market",
"expandAll": "Expand All",
"collapseAll": "Collapse All",
"allFullyMatched": "All Fully Matched",
"partiallyMatched": "Partially Matched",
"orderCount": "Order Count",
"totalAmount": "Total Amount",
"totalPnl": "Total PnL",
"statusBreakdown": "Status",
"fetchBuyOrdersFailed": "Failed to fetch buy orders",
"fetchSellOrdersFailed": "Failed to fetch sell orders",
"fetchMatchedOrdersFailed": "Failed to fetch matched orders",
+9
View File
@@ -1053,6 +1053,15 @@
"noBuyOrders": "暂无买入订单",
"noSellOrders": "暂无卖出订单",
"noMatchedOrders": "暂无匹配关系",
"groupByMarket": "按市场分组",
"expandAll": "展开全部",
"collapseAll": "折叠全部",
"allFullyMatched": "全部成交",
"partiallyMatched": "部分成交",
"orderCount": "订单数",
"totalAmount": "总金额",
"totalPnl": "总盈亏",
"statusBreakdown": "状态",
"fetchBuyOrdersFailed": "获取买入订单列表失败",
"fetchSellOrdersFailed": "获取卖出订单列表失败",
"fetchMatchedOrdersFailed": "获取匹配关系列表失败",
+9
View File
@@ -1053,6 +1053,15 @@
"noBuyOrders": "暫無買入訂單",
"noSellOrders": "暫無賣出訂單",
"noMatchedOrders": "暫無匹配關係",
"groupByMarket": "按市場分組",
"expandAll": "展開全部",
"collapseAll": "折疊全部",
"allFullyMatched": "全部成交",
"partiallyMatched": "部分成交",
"orderCount": "訂單數",
"totalAmount": "總金額",
"totalPnl": "總盈虧",
"statusBreakdown": "狀態",
"fetchBuyOrdersFailed": "獲取買入訂單列表失敗",
"fetchSellOrdersFailed": "獲取賣出訂單列表失敗",
"fetchMatchedOrdersFailed": "獲取匹配關係列表失敗",