WrBug
|
c20e0138df
|
feat: 添加最大仓位限制配置功能
后端变更:
- 添加最大仓位金额(maxPositionValue)和最大仓位数量(maxPositionCount)配置字段
- 实现按市场检查仓位限制的过滤逻辑
- 添加数据库迁移脚本 V11__add_max_position_config.sql
前端变更:
- 重构账户导入和Leader添加为可复用组件(AccountImportForm, LeaderAddForm)
- 在CopyTradingAdd页面集成账户导入和Leader添加Modal
- 在CopyTradingAdd/CopyTradingEdit页面添加最大仓位限制配置项
- 补充所有多语言文件中的缺失键,确保zh-CN/zh-TW/en三种语言文件一致
功能说明:
- 支持设置单个市场的最大仓位金额限制(USDC)
- 支持设置单个市场的最大仓位数量限制
- 两个限制可以同时启用,下单前会检查当前市场仓位是否超过限制
|
2025-12-23 00:56:04 +08:00 |
|
WrBug
|
20acc72ed6
|
Merge pull request #4 from WrBug/pre_release
v1.0.2: 优化系统配置和统计功能
|
2025-12-11 03:20:50 +08:00 |
|
WrBug
|
a31ed31c98
|
feat: 优化系统配置和统计功能
- 系统配置支持显示完整的 Builder API Key(不再部分显示)
- Secret 和 Passphrase 使用密码输入框,支持眼睛图标切换显示/隐藏
- 移除已配置提示,简化用户界面
- 修复总卖出金额统计:使用 SellMatchDetail 计算,确保准确性
- 修复 matchSellOrder 中价格不一致问题:matchDetails 使用实际卖出价格
- 移动端 Leader 列表移除网站显示行
- 优化订单创建前订单簿匹配检查,避免 FAK 订单失败
v1.0.2
|
2025-12-11 03:17:41 +08:00 |
|
WrBug
|
0625c62e36
|
feat: 优化跟单买入逻辑和错误处理
- 更新 Twitter 链接为 @polyhermes
- 简化订单创建失败日志,只保留 code 和 errorBody
- 修复 @Transactional 注解问题(类改为 open class)
- 改进唯一键冲突异常处理,支持并发场景
- 整理跟单买入和重试逻辑,使用常量配置
- 重试延迟从 1 秒调整为 3 秒
- 添加订单簿匹配检查,避免 FAK 订单失败
- 前端移除 Leader 管理的分类相关设置和显示
- 补充多语言翻译(AccountImport 和 CopyTradingList)
|
2025-12-11 02:58:50 +08:00 |
|
WrBug
|
f8d7276654
|
fix: 修复前端编译错误
- 移除未使用的导入 useParams 和 useSearchParams
- 移除未使用的导入 Card
- 移除不存在的统计字段:totalMatchedOrders, winRate, averagePnl, maxPnl, minPnl
- 移除未使用的 formatPercent 函数
v1.0.1
|
2025-12-09 06:33:16 +08:00 |
|
WrBug
|
442d5778a7
|
Merge pull request #3 from WrBug/pre_release
Release v1.0.1: 优化前端UI和功能
|
2025-12-09 06:27:42 +08:00 |
|
WrBug
|
cc41df2f24
|
feat: 优化前端UI和功能
- 修复仓位轮询检查逻辑,增加2分钟延迟判断
- 统一订单页面为Tab切换模式,使用Modal展示
- 优化移动端统计UI,改为两列线性布局
- 简化过滤类型标签,移除括号说明
- 账户管理列表优化:钱包地址显示前6后4,移除API凭证和活跃订单列
- 修复复制按钮功能,添加降级方案和Toast提示
- 修复菜单层级问题,订单下拉直接显示已成交和已过滤订单
- 添加编辑功能Modal化
- 完善多语言支持
|
2025-12-09 06:23:51 +08:00 |
|
WrBug
|
cdadce467e
|
fix: 修复仓位轮询检查逻辑和时区问题
- 修复仓位轮询检查:当仓位不存在时,只有当订单创建时间超过2分钟才认为仓位被出售,避免刚创建的订单被误判
- 修复时区问题:所有时间格式化使用系统时区,移除硬编码的时区配置
- DateUtils 添加 formatDateTime() 函数,使用 ZoneId.systemDefault()
- TelegramNotificationService 所有时间格式化使用 DateUtils.formatDateTime()
- Dockerfile 和启动脚本移除时区配置,自动使用系统时区
|
2025-12-09 04:48:25 +08:00 |
|
WrBug
|
6e4d4f1ef5
|
fix: 修复仓位轮询检查逻辑,避免刚创建的订单被误判为已卖出
- 当仓位不存在时,只有当订单创建时间超过30秒才认为仓位被出售
- 避免因API延迟导致刚创建的订单被误判为已卖出状态
|
2025-12-09 04:23:23 +08:00 |
|
WrBug
|
9fb295a2f4
|
Merge pull request #2 from WrBug/feature_struct_refactor
Feature struct refactor
|
2025-12-09 01:34:36 +08:00 |
|
WrBug
|
db16dea333
|
feat: 添加市场结算判断逻辑,支持赢了和输了的价格处理
- 添加市场已关闭时的结算判断逻辑
- 如果市场已关闭且该 outcome 赢了(价格 >= 0.99),返回价格为 1
- 如果市场已关闭且该 outcome 输了(价格 <= 0.01),返回价格为 0
- 优先使用 outcomePrices(结算价格数组)判断
- 如果没有 outcomePrices,使用 bestBid 判断
- 支持多元市场的价格转换
- 当没有仓位但有未完成订单时,正确判断市场结算状态并设置价格
|
2025-12-09 01:12:53 +08:00 |
|
WrBug
|
d6f0914eeb
|
fix: 修复健康检查路径不一致问题
- 修复 start.sh 中健康检查路径:从 /api/health 改为 /api/system/health
- 修复 Dockerfile 中健康检查路径:从 /api/health 改为 /api/system/health
- 确保健康检查路径与实际 HealthController 端点一致
|
2025-12-09 01:03:21 +08:00 |
|
WrBug
|
f0c40533cf
|
优化跟单过滤逻辑和卖出价格计算
- 优化订单簿请求:仅在需要时请求,避免不必要的API调用
- 卖出价格改为市价卖出:优先使用订单簿bestBid,失败则使用Leader价格,固定按90%计算
- 价格容忍度默认值:如果为0,自动使用5%
- 使用枚举和数据类优化checkFilters方法:
- 新增FilterResult数据类和FilterStatus枚举
- 移除无用字段isBuyOrder参数
- 使用类型安全的枚举替代字符串判断
- 优化代码结构:减少if-else嵌套,使用链式调用
- 移除最小订单簿深度功能(minOrderbookDepth)
- 优化最小订单深度逻辑:检查所有方向(买盘+卖盘)的总深度
|
2025-12-09 00:52:50 +08:00 |
|
WrBug
|
d393bd7b40
|
fix: 修复未实现盈亏和持仓价值计算逻辑
- 修复同一市场多个订单时未实现盈亏重复计算的问题
- 按市场聚合订单,计算加权平均买入价格
- 修复持仓价值重复计算的问题
- 确保总盈亏和总盈亏百分比计算正确
|
2025-12-08 23:10:03 +08:00 |
|
WrBug
|
7173d24fe1
|
refactor: 重构代码结构,按业务分类组织 Controller 和 Service
- 重构 API 路径为 /api/业务/xxx 格式
- 将 Controller 和 Service 按业务分类组织:
* copytrading: 跟单相关(configs, leaders, statistics, templates)
* accounts: 账户管理(公共模块)
* markets: 市场数据(公共模块)
* system: 系统管理(users, notifications, proxy, health)
* auth: 认证
* announcement: 公告
- 将所有完整类名引用改为使用 import 导入
- 修复 calculatePositionValue 方法实现
- 更新前端 API 调用路径
|
2025-12-08 23:04:40 +08:00 |
|
WrBug
|
ac4e1dde2b
|
docs: 为 docker-compose.prod.env.example 添加中英文注释
- 为所有配置项添加中英文对照注释
- 添加使用说明的中英文版本
- 为安全配置项添加详细说明和生成方式提示
v1.0.0
|
2025-12-07 19:11:43 +08:00 |
|
WrBug
|
0a11cff0a2
|
feat: 添加 README 语言切换入口和 Docker Hub 登录步骤
- 在 README.md 和 README_EN.md 顶部添加语言切换链接
- 在 docker-delete.yml 中添加 Docker Hub 登录步骤,保持与 build workflow 的一致性
- 提前验证 Docker Hub 凭证有效性,便于排查问题
|
2025-12-07 19:08:29 +08:00 |
|
WrBug
|
36b744ffb3
|
docs: 更新 README 文档链接,中文版指向中文文档,英文版指向英文文档
- README.md 中的所有文档链接指向 docs/zh/(中文文档)
- README_EN.md 中的所有文档链接指向 docs/en/(英文文档)
- 移除中英文文档的互链,保持 README 文档的简洁性
|
2025-12-07 18:59:11 +08:00 |
|
WrBug
|
a222c9a52f
|
docs: 重构文档结构,使用 zh/ 和 en/ 目录区分中英文文档
- 创建 docs/zh/ 和 docs/en/ 目录结构
- 将所有中文文档移动到 docs/zh/
- 创建主要文档的英文版本:
- DEPLOYMENT.md (651行)
- DEVELOPMENT.md (514行)
- VERSION_MANAGEMENT.md (已有)
- 更新所有文档中的内部链接
- 更新 README.md 和 README_EN.md 中的文档链接
- 在文档中添加中英文版本互链
|
2025-12-07 18:01:11 +08:00 |
|
WrBug
|
62d13001cd
|
docs: 添加版本管理文档英文版并更新 README 链接
- 创建 VERSION_MANAGEMENT_EN.md 英文版文档
- 在 README.md 和 README_EN.md 中添加英文文档链接
- 保持中英文文档结构一致
|
2025-12-07 17:50:33 +08:00 |
|
WrBug
|
b7592f789c
|
docs: 添加界面截图和英文版 README
- 在 README.md 中添加桌面端和移动端界面预览截图
- 创建 README_EN.md 英文版文档
- 添加 screenshot 文件夹,包含 PC 和移动端截图
- 修复移动端截图布局问题
|
2025-12-07 17:42:34 +08:00 |
|
WrBug
|
60dbfbcfde
|
refactor: 将部署和删除功能分离到独立的 workflow 文件
- 创建 docker-build.yml:专门负责构建和推送 Docker 镜像
- 创建 docker-delete.yml:专门负责删除 Docker 镜像标签
- 简化 docker-build.yml,移除删除逻辑
- 更新文档,说明两个独立的 workflow 文件及其职责
|
2025-12-07 17:26:04 +08:00 |
|
WrBug
|
5e5e2813ea
|
fix: 修复 Docker 镜像删除时的 401 认证错误
- 改用 JWT Token 认证方式(推荐用于 Access Token)
- 添加 Basic Auth 降级方案(适用于密码)
- 改进 Token 提取逻辑,支持多种格式
- 添加详细的错误提示(401、403 等)
- 更新文档,说明如何配置 Docker Hub Access Token 权限
|
2025-12-07 17:13:56 +08:00 |
|
WrBug
|
7d752073fb
|
feat: 添加安全检查和部署优化
- 添加 JWT_SECRET 和 ADMIN_RESET_PASSWORD_KEY 安全检查,防止使用默认值
- 创建 docker-compose.prod.yml 和 docker-compose.prod.env.example,支持独立部署
- 添加 Nginx 反向代理配置示例,支持 HTTPS 和域名绑定
- 更新部署文档,将 Docker Hub 部署方式放在首位
- 添加多架构构建支持(amd64、arm64)
- 优化部署文档结构,提供更清晰的部署指南
|
2025-12-07 17:08:56 +08:00 |
|
WrBug
|
c114241ffb
|
docs: 重新整理 README 并创建开发文档
- 重新组织 README 为三个部分:产品功能说明、如何部署、开发文档
- 创建 DEVELOPMENT.md 开发文档,包含完整的开发指南
- 优化文档结构和内容,提升可读性
|
2025-12-07 16:53:59 +08:00 |
|
WrBug
|
b069e54b89
|
feat: 添加版本号显示和自动构建/删除 Docker 镜像功能
- 添加前端版本号显示(桌面端和移动端)
- 实现 GitHub Actions 自动构建和推送 Docker 镜像
- 实现删除 release 时自动删除对应 Docker 镜像
- 支持版本号格式:v数字.数字.数字 或 v数字.数字.数字-后缀
- 添加版本号管理文档
- 更新 Dockerfile 和部署脚本支持版本号构建参数
|
2025-12-07 16:46:18 +08:00 |
|
WrBug
|
07d1b50b9b
|
feat: 实现公告板功能
- 后端:从 GitHub Issues API 获取公告数据
- 支持筛选指定 assignees 的评论
- 支持排除指定 issue 的评论
- 从评论第一行提取标题(移除 Markdown 格式)
- 支持获取 reactions 数据(+1、heart、laugh 等)
- 实现 10 分钟缓存机制
- 强制刷新时,如果被限流则保留缓存数据
- 添加 GitHub API 健康检查
- 前端:公告列表和详情页面
- 响应式设计(移动端和桌面端)
- 移动端使用侧边抽屉显示列表
- 支持 Markdown 渲染
- 支持内容折叠(超过 30 行)
- 显示 reactions(使用 emoji)
- 添加刷新按钮(支持强制刷新)
- 公告菜单项放在第一位
- 默认页面改为公告页
- 其他:
- 更新 favicon 为 SVG 格式
- 添加 GitHub API 限流方案文档
- 添加 GitHub Token 配置文档
|
2025-12-07 16:15:59 +08:00 |
|
WrBug
|
89e3c726b2
|
feat: 优化UI和功能,添加图标生成脚本
- 修复未匹配订单更新逻辑,添加去重机制避免重复赎回
- 优化跟单配置列表,移除订单菜单中的编辑选项
- 限制账户编辑功能,只允许编辑账户名称
- 优化Layout布局,将PC端图标移至标题下方,添加Telegram群链接
- 添加图标生成脚本到polymarket-demo目录
- 添加多个尺寸的favicon图标文件
|
2025-12-07 14:45:59 +08:00 |
|
WrBug
|
5c136ab0f4
|
fix: 修复未匹配订单更新逻辑和前端API类型定义
- 修复 PositionCheckService 中未匹配订单更新逻辑,当仓位数量大于等于订单数量总和时也能正确处理
- 修复前端 API 类型定义,添加 remark 和 website 字段支持
- 添加 Leader 备注和网站字段支持
|
2025-12-07 05:07:58 +08:00 |
|
WrBug
|
cb167d442f
|
feat: 重构仓位轮训逻辑并修复多语言配置
主要改动:
1. 创建独立的 PositionCheckService 服务
- 将仓位检查逻辑从 PositionPushService 中分离
- 实现待赎回仓位检查和未卖出订单检查
- 实现订单状态更新逻辑(FIFO策略)
2. 修改 PositionPushService
- 后端启动时自动启动轮训任务
- 每次轮训后推送全量数据给所有订阅的客户端
- 调用 PositionCheckService 进行仓位检查
3. 自动赎回功能调整
- 将自动赎回从跟单配置级别移到系统级别
- 添加系统级自动赎回配置管理
- 支持 Builder API Key 配置检查
4. 多语言配置修复
- 修复 PositionCheckService 中的硬编码消息
- 使用 MessageSource 获取多语言文本
- 添加自动赎回和 Builder API Key 相关的多语言资源
5. 数据库迁移
- V8: 添加跟单配置名称字段
- V9: 将自动赎回配置移到系统配置表
6. 前端更新
- 添加系统级自动赎回配置界面
- 更新跟单配置管理界面
- 添加 Builder API Key 配置界面
|
2025-12-07 02:06:19 +08:00 |
|
WrBug
|
bfbbbdd1de
|
feat: 实现 Builder API Key 系统级配置和 Gasless 交易支持
- 新增系统配置表(SystemConfig)用于存储 Builder API Key
- 实现 Builder API Key 的前端配置页面
- 集成 Builder Relayer API 支持 Gasless 交易
- 在 API 健康检查中添加 Builder Relayer API 检测
- 移除前端 API 测试功能,简化配置页面
- 修复赎回仓位时的 Builder API Key 检查逻辑
- 更新错误处理,引导用户配置 Builder API Key
|
2025-12-06 23:10:26 +08:00 |
|
WrBug
|
3369dbb248
|
feat: 添加价格区间过滤功能并优化UI
- 添加价格区间过滤功能(minPrice/maxPrice)
- 数据库迁移:添加价格区间字段到 copy_trading 和 copy_trading_templates 表
- 后端:实体类、DTO、服务层支持价格区间配置和过滤
- 前端:模板和配置页面添加价格区间配置UI
- 过滤逻辑:在订单创建前检查价格是否在配置区间内
- 优化价格区间文案,使其更易懂
- 明确说明是 Leader 交易价格
- 详细说明三种配置方式(区间、只填最低价、只填最高价)
- 补充多语言翻译
- 为 zh-CN、zh-TW、en 添加价格区间相关翻译
- 添加价格区间过滤类型翻译
- 添加通用翻译(prev、next、items、total)
- 修复复制模板功能
- 补充缺失的过滤条件字段(minOrderDepth、maxSpread、minOrderbookDepth、minPrice、maxPrice)
- 在复制模板表单中添加所有过滤条件配置项
- 已过滤订单列表优化
- 添加移动端卡片样式布局
- 在筛选下拉菜单中添加价格区间过滤类型选项
- 订单页面返回按钮优化
- 买入订单、卖出订单、匹配关系页面的返回按钮改为返回上一页(navigate(-1))
- 使用多语言支持返回按钮文本
|
2025-12-05 23:52:49 +08:00 |
|
WrBug
|
6c13362b17
|
fix: 修复前端编译错误(移除未使用的导入和参数)
|
2025-12-05 05:20:54 +08:00 |
|
WrBug
|
9b8150cf92
|
feat: 实现跟单筛选条件记录和展示功能
- 新增 FilteredOrder 实体和数据库表,记录被过滤的订单信息
- 在筛选失败时自动记录到数据库并发送 Telegram 通知
- 创建 FilteredOrderService 和 API 接口,支持查询被过滤订单列表
- 前端新增被过滤订单列表页面,支持按过滤类型筛选
- 修复价差计算逻辑,使用数组最大值和最小值而非第一个元素
- 优化编辑页面 UI,钱包和 Leader 显示与创建页面一致(只读)
- 添加多语言支持(中文、繁体中文、英文)
|
2025-12-05 05:18:20 +08:00 |
|
WrBug
|
e68309ada0
|
fix: 修复 Telegram 推送消息对齐问题和自动生成账户名
- 修复 Telegram 订单成功/失败消息的左对齐问题,移除前导空格
- 在导入钱包时,如果未提供账户名,自动生成使用钱包地址后四位的名称
- 优化消息格式,确保在 Telegram 中正确显示
|
2025-12-05 02:59:49 +08:00 |
|
WrBug
|
d0b454e7c8
|
fix: 修复前端语言切换时后端 header 未更新的问题
- 统一 localStorage key:LanguageSwitcher 同时保存到 i18n_language 和 i18nextLng
- 优化 API 请求拦截器:添加 getCurrentLanguage() 函数,优先从 localStorage 读取最新语言设置
- 支持兼容性:同时读取 i18n_language 和 i18nextLng(i18next 默认 key)
- 规范化语言格式:确保返回正确的语言代码(zh-CN, zh-TW, en)
|
2025-12-05 02:33:02 +08:00 |
|
WrBug
|
777710c2ed
|
feat: 完善 Telegram 推送通知功能
- 推送模板优化:
- 优先使用账户名称而不是钱包地址
- 使用市场标题而不是16进制ID
- 添加可点击的市场链接(支持 slug 和 conditionId)
- 添加市场方向(outcome)显示
- 数量和价格从订单详情API获取实际值
- 失败通知只显示后端返回的msg,不显示完整堆栈
- 多语言支持:
- 后端推送消息支持多语言(使用前端最后请求的语言)
- 添加所有 ErrorCode 的多语言资源文件(中文简体、繁体、英文)
- 通知消息文本全部使用多语言资源
- 功能改进:
- 从订单详情获取实际的 side、price、size、outcome
- 支持买入/卖出方向的多语言显示
- 错误信息优化,只显示后端返回的错误消息
|
2025-12-05 02:20:46 +08:00 |
|
WrBug
|
41596887c9
|
feat: 改进下单错误处理和市场价格接口
- 修复市场价格接口:移除side参数,使用outcomeIndex判断方向
- 添加规范:禁止使用YES/NO字符串判断side,必须使用outcomeIndex
- 改进所有下单错误处理:所有错误都打印详细日志并存入数据库
- AccountService.sellPosition: 添加完整错误日志
- CopyOrderTrackingService.createOrderWithRetry: 所有失败都记录详细日志
- recordFailedTrade: 改进错误信息存储,包含堆栈信息
- PolymarketClobService.createSignedOrder: 添加完整错误日志
- 前端:更新市场价格接口调用,使用outcomeIndex替代side参数
- 清理:删除过时的i18n文档
|
2025-12-05 00:23:44 +08:00 |
|
WrBug
|
1a9407c544
|
feat: 完成前端多语言支持和菜单优化
- 缩短菜单标题,解决显示不全问题
- 添加跟随系统语言选项,作为默认选项
- 移除语言切换时的页面刷新,实现无刷新切换
- 完成主要页面的多语言替换:
* ConfigPage - 全局配置页面
* ResetPassword - 重置密码页面
* LeaderList - Leader 列表页面
* UserList - 用户列表页面
* Statistics - 统计信息页面
* OrderList - 订单列表页面
* TemplateList - 模板列表页面
* CopyTradingList - 跟单配置列表页面
- 添加简体中文、繁体中文和英文的完整翻译键
- 优化语言设置页面,支持跟随系统语言
|
2025-12-04 10:36:28 +08:00 |
|
WrBug
|
88be178cde
|
fix: 修复移动端跟单配置管理和重试订单日志
- 移动端跟单配置管理添加Switch开关,支持开启/停用跟单
- 在移动端卡片布局中添加Switch组件
- 与桌面端功能保持一致
- 优化重试订单的日志记录逻辑
- 第一次失败时不记录日志,静默重试
- 只在重试后仍然失败时才记录日志
- 减少不必要的日志输出,提高日志质量
|
2025-12-03 23:38:01 +08:00 |
|
WrBug
|
a855a226e9
|
fix: 移除未使用的Checkbox导入
- 修复AccountDetail.tsx中未使用的Checkbox导入导致的编译错误
|
2025-12-03 23:08:37 +08:00 |
|
WrBug
|
166bec737b
|
feat: 实现JWT失效机制和优化订单精度
- 实现JWT tokenVersion机制,修改密码后所有token自动失效
- 在User实体中添加tokenVersion字段
- 创建V2数据库迁移文件添加token_version列
- 修改密码时递增tokenVersion
- JWT中包含tokenVersion,验证时检查版本是否匹配
- 支持HTTP API和WebSocket连接的token验证
- 优化订单精度计算,与SDK保持一致
- BUY订单:使用原始价格计算makerAmount,避免精度丢失
- SELL订单:使用原始价格计算takerAmount,确保与SDK结果一致
- 修复之前使用舍入后价格导致的精度问题
- 前端自动登出功能
- 响应拦截器检测认证错误(code 2001-2999)自动登出
- 支持成功响应和错误响应中的认证错误检测
- 自动清除token、断开WebSocket并跳转登录页
|
2025-12-03 23:01:43 +08:00 |
|
WrBug
|
2ad558da36
|
feat: 优化账户管理和订单功能
- 重置密码后自动跳转到登录页,登录页添加重置密码入口
- 移除默认账户相关逻辑和UI
- 移除前端API Key自动获取提示文案(后端保留自动获取逻辑)
- 修复SELL订单takerAmount计算精度问题,使用精确计算避免精度丢失
- 修复导入账户页面白屏问题(缺少Alert组件导入)
- 持仓出售支持百分比模式,使用原始精度数据计算,支持小数百分比
- 优化订单金额计算逻辑,确保与SDK一致
|
2025-12-03 21:39:48 +08:00 |
|
WrBug
|
99f2d7a850
|
feat: 实现 API Secret 和 API Passphrase 加密存储
- 修改 Account 实体注释,说明 apiSecret 和 apiPassphrase 已加密存储
- AccountService: 保存时加密 apiSecret 和 apiPassphrase,使用时解密
- CopyOrderTrackingService: 添加解密方法,使用前先解密
- OrderPushService: 添加解密方法,使用前先解密
- 移除所有向后兼容逻辑,直接解密,失败时抛出异常
- 所有敏感信息(私钥、API Secret、API Passphrase)现在都使用 AES-256 加密存储
|
2025-12-03 12:41:49 +08:00 |
|
WrBug
|
13c5a64dc3
|
fix: 修改跟单状态时统一使用 restartMonitoring 确保状态同步
- 创建跟单时:如果启用了,调用 restartMonitoring
- 更新跟单状态时:调用 restartMonitoring(而不是 addLeaderMonitoring/removeLeaderMonitoring)
- 删除跟单时:调用 restartMonitoring(而不是 removeLeaderMonitoring)
- 确保所有跟单状态变更后,轮询监听都能完全同步最新状态
|
2025-12-03 06:41:42 +08:00 |
|
WrBug
|
ea8df61c59
|
fix: 修改跟单状态时使用 restartMonitoring 确保状态同步
- 在 updateCopyTradingStatus 中使用 restartMonitoring 替代 addLeaderMonitoring/removeLeaderMonitoring
- 确保启用/禁用跟单时,轮询监听状态完全同步
- 避免部分更新导致的状态不一致问题
|
2025-12-03 06:37:06 +08:00 |
|
WrBug
|
8bac55b943
|
feat: 优化跟单轮询自动启动/停止逻辑
- addLeader 时自动启动轮询任务(如果还没有运行)
- removeLeader 时自动停止轮询任务(如果没有需要监听的 Leader)
- 确保轮询任务根据跟单状态动态调整,避免不必要的资源消耗
|
2025-12-03 06:25:28 +08:00 |
|
WrBug
|
56caba963c
|
fix: 修复 CopyOrderTrackingService 中重复声明 decryptedPrivateKey 的编译错误
- 在 processSellTrade 方法中,将私钥解密移到方法开始处,只声明一次
- 后续签名订单和创建订单时复用同一个解密后的私钥
|
2025-12-03 06:07:49 +08:00 |
|
WrBug
|
7f85274a96
|
feat: 实现私钥加密存储功能
- 创建 CryptoUtils 加密工具类,支持 AES-256/CBC/PKCS5Padding 加密
- encryption.key 支持任意长度密钥(通过 SHA-256 哈希成 32 字节)
- 修改 AccountService,在保存时加密私钥,在使用时解密
- 修改 CopyOrderTrackingService,在使用私钥前先解密
- 更新 Account 实体注释,说明私钥已加密存储
- 添加向后兼容支持:如果私钥未加密(旧数据),直接返回明文
|
2025-12-03 06:02:26 +08:00 |
|
WrBug
|
86dc772b7d
|
fix: 修复 JWT 密钥长度不足的问题
- 支持十六进制字符串密钥(自动解析)
- 如果密钥长度不足 32 字节,使用 SHA-256 哈希扩展到 32 字节
- 确保密钥长度至少 256 位,满足 JWT 规范要求
- 解决 'key byte array is 184 bits which is not secure enough' 错误
|
2025-12-03 05:52:25 +08:00 |
|