Commit Graph

8 Commits

Author SHA1 Message Date
OpenClaw Agent
650d59aaff refactor: 统一使用 SqlSugarClient(官方推荐高性能模式)
官方建议:
- SqlSugarClient 超高性能模式
- 每次 new 创建实例
- IsAutoCloseConnection=true 自动关闭连接
- 适合 DI Scoped 注入、后台任务、Task.Run 场景

修改:
1. DI 注入改为 Scoped(每次 HTTP 请求一个实例)
2. 移除 SqlSugarScope,统一使用 SqlSugarClient
3. 后台任务创建新实例(已实现)
4. MySQL 连接池复用底层 TCP 连接

优点:
- 性能更好
- 代码更简单
- 符合官方最佳实践
2026-03-25 02:47:00 +00:00
OpenClaw Agent
dc50dfc917 fix: 区分 SqlSugarScope 和 SqlSugarClient 使用场景
区分:
- GetSqlSugarScope(): 返回 SqlSugarScope,用于 DI 注入(Singleton)
- GetSqlSugarClient(): 返回 SqlSugarClient,用于后台任务(每次创建新实例)

原因:
- SqlSugarScope 使用 AsyncLocal 隔离上下文
- Task.Run 后台线程中 AsyncLocal 可能无法正确传递
- 后台任务使用 SqlSugarClient 更安全,每个实例独立连接

使用:
- DI 注入:GetSqlSugarScope()
- Repository 后台写入:GetSqlSugarClient()
- MySQL 连接池复用底层 TCP 连接,性能开销小
2026-03-25 02:42:26 +00:00
OpenClaw Agent
51b7372d81 fix: 优化 MySQL 连接池配置
问题:Cannot Open when State is Connecting

分析:
- SqlSugarScope 是线程安全的,使用 AsyncLocal 隔离上下文
- Singleton 注册符合官方建议
- 问题可能出在 MySQL 连接池配置

修复:
添加连接池参数:
- Pooling=true(开启连接池)
- MaximumPoolSize=100(最大连接数)
- MinimumPoolSize=5(最小连接数)
- ConnectionTimeout=30(连接超时)
- ConnectionIdleTimeout=180(空闲连接超时,避免使用陈旧连接)

配合内存缓存层,减少数据库查询次数
2026-03-24 10:08:35 +00:00
OpenClaw Agent
1977dd609d fix: 请求收益曲线时自动回填历史数据
- GetNavHistoryAsync现在会自动检查是否有历史数据
- 无历史数据时自动调用BackfillNavHistoryInternalAsync
- 拆分内部回填方法,避免重复验证权限
2026-03-13 16:21:31 +00:00
f2d4351145 refactor: 所有配置优先从环境变量读取,完全支持Docker环境变量注入 2026-03-09 08:56:26 +00:00
739a37f24d refactor: 所有配置改为从appsettings.json/环境变量读取,移除硬编码 2026-03-09 08:49:31 +00:00
niannian zheng
d39a6347cd feat: 实现微信登录和用户信息管理功能
- 添加微信登录功能,支持通过微信小程序登录
- 实现用户信息管理接口,包括获取用户信息和统计数据
- 新增投资组合列表和总资产统计接口
- 完善JWT令牌生成逻辑,支持可选用户名
- 添加数据库初始化配置和连接字符串
- 移除传统登录和注册功能,专注微信登录方案
2026-02-26 11:56:14 +08:00
niannian zheng
2fe0b0c134 Remove bin and obj directories from Git tracking 2026-02-24 19:25:28 +08:00