fix: 修复未匹配订单更新逻辑和前端API类型定义

- 修复 PositionCheckService 中未匹配订单更新逻辑,当仓位数量大于等于订单数量总和时也能正确处理
- 修复前端 API 类型定义,添加 remark 和 website 字段支持
- 添加 Leader 备注和网站字段支持
This commit is contained in:
WrBug
2025-12-07 05:07:58 +08:00
parent cb167d442f
commit 5c136ab0f4
22 changed files with 1639 additions and 939 deletions
+68 -4
View File
@@ -305,15 +305,30 @@
"footer": "Please use the above pages for configuration management."
},
"systemSettings": {
"title": "General Settings",
"language": {
"title": "Language Settings",
"currentLanguage": "Current Language",
"languageRequired": "Please select a language"
},
"notification": {
"title": "Notification Settings"
},
"relayer": {
"title": "Relayer Configuration"
},
"proxy": {
"title": "Proxy Settings"
},
"autoRedeem": {
"title": "Auto Redeem Configuration",
"label": "Auto Redeem",
"tooltip": "When enabled, the system will automatically redeem redeemable positions. Requires Builder API Key configuration to take effect",
"label": "Enable Auto Redeem",
"tooltip": "When enabled, the system will automatically redeem all redeemable positions in all accounts. Requires Builder API Key configuration to take effect.",
"builderApiKeyNotConfigured": "Builder API Key Not Configured",
"builderApiKeyNotConfiguredDesc": "Auto redeem feature requires Builder API Key configuration to take effect.",
"goToConfigure": "Go to Configure",
"saveSuccess": "Auto redeem configuration updated",
"saveFailed": "Failed to update auto redeem configuration"
"saveSuccess": "Auto redeem configuration saved",
"saveFailed": "Failed to save auto redeem configuration"
}
},
"builderApiKey": {
@@ -394,6 +409,9 @@
"leaderName": "Leader Name",
"walletAddress": "Wallet Address",
"category": "Category",
"remark": "Remark",
"website": "Website",
"openWebsite": "Open Website",
"all": "All",
"copyTradingCount": "Copy Trading Count",
"copyTradingRelations": "{{count}} copy trading relations",
@@ -405,6 +423,52 @@
"deleteConfirm": "Are you sure you want to delete this Leader?",
"deleteConfirmDesc": "This Leader has {{count}} copy trading relations, please delete them first"
},
"leaderAdd": {
"title": "Add Leader",
"leaderAddress": "Leader Wallet Address",
"leaderAddressRequired": "Please enter Leader wallet address",
"leaderAddressInvalid": "Invalid wallet address format (must be a 42-character address starting with 0x)",
"leaderAddressTooltip": "The wallet address of the leader to be copied. The system will monitor transactions from this address and automatically copy trade",
"leaderName": "Leader Name",
"leaderNameTooltip": "Optional, used to identify the Leader for easier management",
"leaderNamePlaceholder": "Optional, used to identify the Leader",
"remark": "Leader Remark",
"remarkTooltip": "Optional, used to record remarks about the Leader",
"remarkPlaceholder": "Optional, used to record remarks about the Leader",
"website": "Leader Website",
"websiteTooltip": "Optional, Leader's website link",
"websitePlaceholder": "Optional, e.g.: https://example.com",
"websiteInvalid": "Please enter a valid URL address",
"category": "Category Filter",
"categoryTooltip": "Only copy trades of this category. Leave empty to copy all categories (sports or crypto)",
"categoryPlaceholder": "Select category (optional)",
"add": "Add Leader",
"cancel": "Cancel",
"addSuccess": "Leader added successfully",
"addFailed": "Failed to add Leader"
},
"leaderEdit": {
"title": "Edit Leader",
"leaderName": "Leader Name",
"leaderNameTooltip": "Optional, used to identify the Leader for easier management",
"leaderNamePlaceholder": "Optional, used to identify the Leader",
"remark": "Leader Remark",
"remarkTooltip": "Optional, used to record remarks about the Leader",
"remarkPlaceholder": "Optional, used to record remarks about the Leader",
"website": "Leader Website",
"websiteTooltip": "Optional, Leader's website link",
"websitePlaceholder": "Optional, e.g.: https://example.com",
"websiteInvalid": "Please enter a valid URL address",
"category": "Category Filter",
"categoryTooltip": "Only copy trades of this category. Leave empty to copy all categories (sports or crypto)",
"categoryPlaceholder": "Select category (optional)",
"save": "Save",
"cancel": "Cancel",
"saveSuccess": "Leader updated successfully",
"saveFailed": "Failed to update Leader",
"fetchFailed": "Failed to get Leader details",
"invalidId": "Invalid Leader ID"
},
"userList": {
"title": "User Management",
"username": "Username",
+72 -5
View File
@@ -169,7 +169,10 @@
"lastCheck": "最后检查",
"healthy": "健康",
"unhealthy": "不健康",
"unknown": "未知"
"unknown": "未知",
"normal": "正常",
"notConfigured": "未配置",
"abnormal": "异常"
},
"proxySettings": {
"title": "代理设置",
@@ -217,15 +220,30 @@
"footer": "请使用上述页面进行配置管理。"
},
"systemSettings": {
"title": "通用设置",
"language": {
"title": "多语言设置",
"currentLanguage": "当前语言",
"languageRequired": "请选择语言"
},
"notification": {
"title": "消息推送设置"
},
"relayer": {
"title": "Relayer 配置"
},
"proxy": {
"title": "代理设置"
},
"autoRedeem": {
"title": "自动赎回配置",
"label": "自动赎回",
"tooltip": "开启后,系统自动赎回可赎回的仓位。需要配置 Builder API Key 才能生效",
"label": "启用自动赎回",
"tooltip": "开启后,系统自动赎回所有账户中可赎回的仓位。需要配置 Builder API Key 才能生效",
"builderApiKeyNotConfigured": "Builder API Key 未配置",
"builderApiKeyNotConfiguredDesc": "自动赎回功能需要配置 Builder API Key 才能生效。",
"goToConfigure": "前往配置",
"saveSuccess": "自动赎回配置已更新",
"saveFailed": "更新自动赎回配置失败"
"saveSuccess": "自动赎回配置已保存",
"saveFailed": "保存自动赎回配置失败"
}
},
"builderApiKey": {
@@ -306,6 +324,9 @@
"leaderName": "Leader 名称",
"walletAddress": "钱包地址",
"category": "分类",
"remark": "备注",
"website": "网站",
"openWebsite": "打开网页",
"all": "全部",
"copyTradingCount": "跟单关系数",
"copyTradingRelations": "{{count}} 个跟单关系",
@@ -317,6 +338,52 @@
"deleteConfirm": "确定要删除这个 Leader 吗?",
"deleteConfirmDesc": "该 Leader 还有 {{count}} 个跟单关系,请先删除跟单关系"
},
"leaderAdd": {
"title": "添加 Leader",
"leaderAddress": "Leader 钱包地址",
"leaderAddressRequired": "请输入 Leader 钱包地址",
"leaderAddressInvalid": "钱包地址格式不正确(必须是 0x 开头的 42 位地址)",
"leaderAddressTooltip": "被跟单者的钱包地址,系统将监控该地址的交易并自动跟单",
"leaderName": "Leader 名称",
"leaderNameTooltip": "可选,用于标识 Leader,方便管理",
"leaderNamePlaceholder": "可选,用于标识 Leader",
"remark": "Leader 备注",
"remarkTooltip": "可选,用于记录 Leader 的备注信息",
"remarkPlaceholder": "可选,用于记录 Leader 的备注信息",
"website": "Leader 网站",
"websiteTooltip": "可选,Leader 的网站链接",
"websitePlaceholder": "可选,例如:https://example.com",
"websiteInvalid": "请输入有效的 URL 地址",
"category": "分类筛选",
"categoryTooltip": "仅跟单该分类的交易,不选择则跟单所有分类(sports 或 crypto",
"categoryPlaceholder": "选择分类(可选)",
"add": "添加 Leader",
"cancel": "取消",
"addSuccess": "添加 Leader 成功",
"addFailed": "添加 Leader 失败"
},
"leaderEdit": {
"title": "编辑 Leader",
"leaderName": "Leader 名称",
"leaderNameTooltip": "可选,用于标识 Leader,方便管理",
"leaderNamePlaceholder": "可选,用于标识 Leader",
"remark": "Leader 备注",
"remarkTooltip": "可选,用于记录 Leader 的备注信息",
"remarkPlaceholder": "可选,用于记录 Leader 的备注信息",
"website": "Leader 网站",
"websiteTooltip": "可选,Leader 的网站链接",
"websitePlaceholder": "可选,例如:https://example.com",
"websiteInvalid": "请输入有效的 URL 地址",
"category": "分类筛选",
"categoryTooltip": "仅跟单该分类的交易,不选择则跟单所有分类(sports 或 crypto",
"categoryPlaceholder": "选择分类(可选)",
"save": "保存",
"cancel": "取消",
"saveSuccess": "更新 Leader 成功",
"saveFailed": "更新 Leader 失败",
"fetchFailed": "获取 Leader 详情失败",
"invalidId": "Leader ID 无效"
},
"userList": {
"title": "用户管理",
"username": "用户名",
+68 -4
View File
@@ -305,15 +305,30 @@
"footer": "請使用上述頁面進行配置管理。"
},
"systemSettings": {
"title": "通用設置",
"language": {
"title": "多語言設置",
"currentLanguage": "當前語言",
"languageRequired": "請選擇語言"
},
"notification": {
"title": "消息推送設置"
},
"relayer": {
"title": "Relayer 配置"
},
"proxy": {
"title": "代理設置"
},
"autoRedeem": {
"title": "自動贖回配置",
"label": "自動贖回",
"tooltip": "開啟後,系統自動贖回可贖回的倉位。需要配置 Builder API Key 才能生效",
"label": "啟用自動贖回",
"tooltip": "開啟後,系統自動贖回所有賬戶中可贖回的倉位。需要配置 Builder API Key 才能生效",
"builderApiKeyNotConfigured": "Builder API Key 未配置",
"builderApiKeyNotConfiguredDesc": "自動贖回功能需要配置 Builder API Key 才能生效。",
"goToConfigure": "前往配置",
"saveSuccess": "自動贖回配置已更新",
"saveFailed": "更新自動贖回配置失敗"
"saveSuccess": "自動贖回配置已保存",
"saveFailed": "保存自動贖回配置失敗"
}
},
"builderApiKey": {
@@ -394,6 +409,9 @@
"leaderName": "Leader 名稱",
"walletAddress": "錢包地址",
"category": "分類",
"remark": "備註",
"website": "網站",
"openWebsite": "打開網頁",
"all": "全部",
"copyTradingCount": "跟單關係數",
"copyTradingRelations": "{{count}} 個跟單關係",
@@ -405,6 +423,52 @@
"deleteConfirm": "確定要刪除這個 Leader 嗎?",
"deleteConfirmDesc": "該 Leader 還有 {{count}} 個跟單關係,請先刪除跟單關係"
},
"leaderAdd": {
"title": "添加 Leader",
"leaderAddress": "Leader 錢包地址",
"leaderAddressRequired": "請輸入 Leader 錢包地址",
"leaderAddressInvalid": "錢包地址格式不正確(必須是 0x 開頭的 42 位地址)",
"leaderAddressTooltip": "被跟單者的錢包地址,系統將監控該地址的交易並自動跟單",
"leaderName": "Leader 名稱",
"leaderNameTooltip": "可選,用於標識 Leader,方便管理",
"leaderNamePlaceholder": "可選,用於標識 Leader",
"remark": "Leader 備註",
"remarkTooltip": "可選,用於記錄 Leader 的備註信息",
"remarkPlaceholder": "可選,用於記錄 Leader 的備註信息",
"website": "Leader 網站",
"websiteTooltip": "可選,Leader 的網站鏈接",
"websitePlaceholder": "可選,例如:https://example.com",
"websiteInvalid": "請輸入有效的 URL 地址",
"category": "分類篩選",
"categoryTooltip": "僅跟單該分類的交易,不選擇則跟單所有分類(sports 或 crypto",
"categoryPlaceholder": "選擇分類(可選)",
"add": "添加 Leader",
"cancel": "取消",
"addSuccess": "添加 Leader 成功",
"addFailed": "添加 Leader 失敗"
},
"leaderEdit": {
"title": "編輯 Leader",
"leaderName": "Leader 名稱",
"leaderNameTooltip": "可選,用於標識 Leader,方便管理",
"leaderNamePlaceholder": "可選,用於標識 Leader",
"remark": "Leader 備註",
"remarkTooltip": "可選,用於記錄 Leader 的備註信息",
"remarkPlaceholder": "可選,用於記錄 Leader 的備註信息",
"website": "Leader 網站",
"websiteTooltip": "可選,Leader 的網站鏈接",
"websitePlaceholder": "可選,例如:https://example.com",
"websiteInvalid": "請輸入有效的 URL 地址",
"category": "分類篩選",
"categoryTooltip": "僅跟單該分類的交易,不選擇則跟單所有分類(sports 或 crypto",
"categoryPlaceholder": "選擇分類(可選)",
"save": "保存",
"cancel": "取消",
"saveSuccess": "更新 Leader 成功",
"saveFailed": "更新 Leader 失敗",
"fetchFailed": "獲取 Leader 詳情失敗",
"invalidId": "Leader ID 無效"
},
"userList": {
"title": "用戶管理",
"username": "用戶名",