eafonyang
a52adf7e27
refactor(ota): 移除 OTA 相关冗余字段及清理代码
...
- 从 OTA 结构体中删除 pawVerCode、pawVerName、pawUrl、pawMd5 字段
- 更新数据库查询,去除对上述字段的扫描
- 调整 SQL 迁移脚本,删除对应的数据库列
- 简化相关存储库方法的查询逻辑,提升代码维护性
2026-06-30 11:05:55 +08:00
eafonyang
7ed7183f1a
新增删除分享码功能
2026-06-17 16:50:39 +08:00
eafonyang
4b903f39e1
shareQuery 和 shareAccept 的响应中加入 model 字段
2026-06-17 14:05:32 +08:00
eafonyang
7687e6a0d9
分享码日志新增 model 字段,记录操作的设备的型号 X8/X9
2026-06-17 13:52:11 +08:00
eafonyang
1e7dc01b22
给高频调用的路由加上 cache-control
2026-06-16 17:21:31 +08:00
eafonyang
b5560ca702
分享码有效期,支持表达式
2026-06-15 20:02:43 +08:00
eafonyang
fc4ec2c030
增加分享码查询接口,不写入操作日志表
2026-06-15 17:58:14 +08:00
eafonyang
684d6bafb8
feat(router): 根据环境配置有条件启用Swagger文档
...
- 新增env参数用于路由初始化
- 仅当环境非生产时启用Swagger文档访问
- 通过传递环境配置参数控制文档路由注册
- 修改router构造函数和调用处以支持新参数
2026-06-12 18:44:49 +08:00
eafonyang
598bbd4998
fix(sharecode): 支持分享码TTL配置并限制每MAC分享码数
...
- 配置增加 ShareCodeMaxPerMac 和 ShareCodeTTLMin 参数
- ShareCodeCache 支持自定义分享码有效期 TTL
- 生成分享码时使用配置的 TTL 替代固定30分钟
- 共享码处理添加限制,同一MAC有效分享码数量限制
- 路由层、处理器层和任务调度中增加TTL及限额参数传递
- 同步脚本默认同步路径调整,去除默认同步Docker文件,增加docs目录同步
- 修正上传脚本拼接远程路径时尾部斜杠问题
2026-06-12 18:29:08 +08:00
eafonyang
28fb798926
fix(cache): share:mac ZSET 添加 1h 兜底 TTL,防止永不调用 shareList 时 key 泄漏
...
- 新增 shareMacIndexTTL = 1h 常量
- Lua 脚本中原子执行 EXPIRE KEYS[3]
- 每次创建分享码续期 ZSET,活跃用户不受影响
- 无人调用 shareList 时 ZSET 1h 后自动过期清理
2026-06-12 17:30:18 +08:00
eafonyang
cbf3ad6613
docs(cache): 添加 share_code_cache.go 文件级文档注释
...
描述 Redis 存储结构(Hash/ZSET/SET/锁)和完整数据流(创建/查询/导入/持久化)
2026-06-12 17:09:21 +08:00
eafonyang
b2aed2a6b5
feat(share): 新增 shareList 接口 + 分享码模块全链路优化
...
- 新增 GET /audio/shareList?mac=xx 查询未过期分享码(纯 Redis,ZSET 索引)
- share:mac:{mac} 从 SET 改为 ZSET(score=expire_at),支持 ZREMRANGEBYSCORE 精确过期清理
- 空 ZSET 自动 DEL,避免 key 累积
- share:import:pending 增加 12h 兜底 TTL,防止 DB 不可用时内存泄漏
- 导入日志 field 改为 mac:code(去掉 nanotime),同 MAC+code 多次导入幂等去重
- MarkPersisted 保存/恢复 PTTL,防御性编程
- shareCreate 改为 POST + JSON body
- 全量 handler 补充 Swagger 注释,集成 swag 文档生成
- Makefile 使用 $(go env GOPATH)/bin/swag 解决 PATH 问题
2026-06-12 17:07:59 +08:00
eafonyang
8010cbd32f
新增分享码功能
2026-06-12 15:50:01 +08:00
eafonyang
74f4318838
优化缓存结构,优化缓存机制
2026-06-10 19:28:30 +08:00
eafonyang
173e23f531
feat(equalize): Enhance EqualizeConfig to support external API URL
...
- Added ExternalAPIURL to EqualizeConfig for public EQ interface usage.
- Updated loadEqualize function to initialize ExternalAPIURL from environment variable or default value.
- Refactored reqEqualize method to accept apiURL as a parameter for improved flexibility.
- Introduced eqAPIURL method to determine the appropriate API URL based on the source.
2026-06-08 18:48:54 +08:00
eafonyang
87bdad34fc
更新环境配置,优化数据库和Redis连接设置
...
- 修改`.env.example`文件,更新数据库和Redis的默认主机地址为`192.168.9.127`
- 在`docker-compose.yml`中移除不必要的卷挂载配置
- 在`go.mod`中添加`github.com/joho/godotenv`依赖以支持环境变量加载
- 更新`README.md`以反映新的数据库和Redis连接信息
- 在`main.go`中加载环境变量以支持动态配置
- 新增缓存存在性检查功能,避免重复预热缓存
- 优化CSV读取逻辑,支持从S3获取数据
2026-06-08 14:52:23 +08:00
eafonyang
99785672a5
优化
2026-06-05 20:15:30 +08:00
eafonyang
4f31cd563f
修复 curve 接口的一些问题
2026-06-04 19:39:08 +08:00
eafonyang
c4cd8b6f5d
feat(equalize): 添加目标曲线获取及缓存功能
...
- 新增CurveCache实现Redis曲线数据缓存与分布式锁机制,避免重复请求
- 增加CurveHandler支持目标曲线接口,通过EQ API获取并缓存曲线数据
- Config新增EqualizeConfig配置,支持环境变量动态配置
- Repository新增CurveRepository,按brand和name查询模型与目标曲线数据
- 路由更新,集成/getCurve接口处理目标曲线请求
- OTA模型字段优化,bool类型改为BoolInt,实现数据库int与JSON bool映射
- 统一响应格式,调整response包中OK和Fail函数消息字段命名
- 修改服务端配置默认DB IP,支持Equalize参数传递到路由层
- 新增CSV解析实现,从文件读取测量与目标曲线数据
- 修改OTA处理逻辑,修复定向升级判断bug
- Java层新增EqualizeController和ModelService对应功能,保持客户端接口兼容与调用逻辑一致
2026-06-01 19:08:43 +08:00
yangy
f3e3e82f52
feat(device): 增加设备信息持久化和OTA升级功能
...
- 新增设备持久化定时任务,每5分钟将Redis中采集的设备信息同步数据库
- 新增UserDevice和UserActive模型及相应数据库表和操作接口
- 设备信息上报中获取客户端公网IP,替代原X-Forwarded-For头部
- 新建OTA功能模块,实现OTA固件升级信息查询接口
- 支持OTA黑名单过滤与定向升级设备判断
- 设计OTA相关数据库结构:ota、black_list、ota_target_device表
- 缓存预热新增按品牌分组预热型号缓存
- 依赖注入新增OTA Repository及Handler路由配置
- 实现客户端公网IP提取逻辑,支持多种代理头部优先级识别
2026-05-28 18:26:20 +08:00
yangy
36c6ca2766
新增功能
2026-05-27 18:07:55 +08:00
yangy
3224041990
首次提交
2026-05-21 15:20:12 +08:00