Commit Graph

31 Commits

Author SHA1 Message Date
richarjiang
6cdd2bc137 feat(users): 添加App版本号追踪功能,支持用户版本更新记录 2025-12-02 14:40:59 +08:00
richarjiang
5b89a07751 stash 2025-12-01 18:12:09 +08:00
ae41a2b643 feat(users): add version checking endpoint
Add app version checking functionality to notify users when updates are available. The feature extracts the current version from the x-App-Version header, compares it with the latest configured version, and returns update information including download links and release notes.
2025-11-29 20:47:01 +08:00
richarjiang
ff2dfd5bb3 feat(ai): 支持多语言AI分析响应并优化药品识别流程
- 饮食分析与药品分析服务新增多语言支持(zh-CN/en-US),根据用户偏好动态调整 Prompt 和返回信息
- 重构药品识别流程,利用 GLM-4.5v 模型将多阶段分析合并为单次全量分析,提升响应速度
- 增加用户语言获取逻辑,并在异步任务状态更新中支持本地化文案
- 移除废弃的药品分析 V1 接口,升级底层模型配置
2025-11-28 16:02:16 +08:00
richarjiang
43f378d44d feat(users): 添加用户语言偏好字段
- 在 User 模型中添加 language 字段,默认值为 'zh-CN'
- 更新 UpdateUserDto 以支持语言偏好参数
- 在用户更新服务中实现语言偏好的保存逻辑
2025-11-27 11:17:27 +08:00
richarjiang
a17fe0b965 feat(medications): 增加基于视觉AI的药品智能录入系统
构建了从照片到药品档案的自动化处理流程,通过GLM多模态大模型实现药品信息的智能采集:

核心能力:
- 创建任务追踪表 t_medication_recognition_tasks 存储识别任务状态
- 四阶段渐进式分析:基础识别→人群适配→成分解析→风险评估
- 提供三个REST端点支持任务创建、进度查询和结果确认
- 前端可通过轮询方式获取0-100%的实时进度反馈
- VIP用户免费使用,普通用户按次扣费

技术实现:
- 利用GLM-4V-Plus模型处理多角度药品图像(正面+侧面+说明书)
- 采用GLM-4-Flash模型进行文本深度分析
- 异步任务执行机制避免接口阻塞
- 完整的异常处理和任务失败恢复策略
- 新增AI_RECOGNITION.md文档详细说明集成方式

同步修复:
- 修正会员用户AI配额扣减逻辑,避免不必要的次数消耗
- 优化APNs推送中无效设备令牌的检测和清理流程
- 将服药提醒的提前通知时间从15分钟缩短为5分钟
2025-11-21 10:27:59 +08:00
richarjiang
75fbea2c90 feat(users): 更新用户最后登录时间记录功能 2025-11-20 19:04:38 +08:00
richarjiang
afe6ae1c6a feat(medications): 实现V2版本药品AI分析功能及结构化数据支持
- 新增 V2 版药品分析服务,通过 AI 生成包含适用人群、副作用等字段的结构化 JSON 数据
- 添加 `POST :id/ai-analysis/v2` 接口,集成用户免费次数校验与自动扣费逻辑
- 在药品创建流程中增加异步触发自动 AI 分析的机制
- fix(users): 修复 Apple 登录未获取到邮箱时的报错问题,改为自动生成随机唯一邮箱
- perf(medications): 将服药提醒定时任务的检查频率调整为每 5 分钟一次
- refactor(push-notifications): 移除不再使用的 PushTestService
2025-11-20 17:55:05 +08:00
richarjiang
bbc6924f5b feat(users): 添加会员状态自动同步验证功能
- 新增登录时异步触发会员状态验证机制,不阻塞响应
- 实现5分钟频率限制,避免过度调用RevenueCat API
- 重构API调用方法,分别获取subscriptions和purchases数据
- 支持终身会员识别和有效期自动更新
- 添加内存缓存记录最后验证时间
- 完善错误处理和日志记录,确保主流程不受影响
2025-11-18 15:31:37 +08:00
richarjiang
7b4d7c4459 feat(badges): 添加用户勋章系统,支持睡眠挑战勋章自动授予
实现完整的用户勋章功能模块:
- 新增 BadgeConfig 和 UserBadge 数据模型,支持勋章配置和用户勋章管理
- 新增 BadgeService 服务,提供勋章授予、查询、展示状态管理等核心功能
- 在挑战服务中集成勋章授予逻辑,完成首次睡眠打卡授予 goodSleep 勋章,完成睡眠挑战授予 sleepChallengeMonth 勋章
- 新增用户勋章相关接口:获取用户勋章列表、获取可用勋章列表、标记勋章已展示
- 支持勋章分类(睡眠、运动、饮食等)、排序、启用状态管理
- 支持勋章来源追踪(挑战、系统、手动授予)和元数据记录
2025-11-14 17:08:02 +08:00
richarjiang
8e51994e71 feat: 支持会员编号 2025-09-26 08:48:22 +08:00
richarjiang
21b00cee0d fix: 优化围度数据计算逻辑 2025-09-24 18:03:32 +08:00
richarjiang
c9eda4577f feat(users): 新增围度分析报表接口
- 添加 dayjs 依赖用于日期处理
- 新增 GetBodyMeasurementAnalysisDto 和 GetBodyMeasurementAnalysisResponseDto
- 支持按周、月、年三种时间范围统计围度变化趋势
- 实现最近数据点匹配算法,返回各围度类型最接近时间点的测量值
2025-09-24 17:51:57 +08:00
richarjiang
e2fcb1c428 feat(users): 添加身体围度测量功能
新增用户身体围度的完整功能模块,包括数据库迁移、模型定义、API接口和历史记录追踪。
支持胸围、腰围、上臀围、臂围、大腿围、小腿围六项身体围度指标的管理。

- 添加数据库迁移脚本,扩展用户档案表字段
- 创建围度历史记录表用于数据追踪
- 实现围度数据的更新和历史查询API
- 添加数据验证和错误处理机制
2025-09-22 09:49:42 +08:00
richarjiang
2c2e964199 feat(water-records): 新增喝水记录功能模块
新增完整的喝水记录管理功能,支持用户记录每日喝水情况、设置目标和查看统计信息。功能包括:

- 创建、查询、更新和删除喝水记录
- 设置和管理每日喝水目标
- 获取今日喝水统计和完成率分析
- 支持分页查询和日期范围筛选
- 完整的数据验证和错误处理机制

该模块已从用户模块中独立出来,提供REST API接口,包含数据库迁移脚本和详细文档。
2025-09-01 11:02:13 +08:00
richarjiang
a1c21d8a23 feat: 新增饮食记录模块,含增删改查及营养汇总功能 2025-08-29 08:48:22 +08:00
richarjiang
17ee96638e feat: 新增体重记录接口及枚举,优化AI教练选择项处理 2025-08-28 09:46:03 +08:00
richarjiang
e3cd496f33 feat(users): 更新用户接口添加EFICHOPER(builderId,u-formatIdFast生成提)录制 2025-08-27 19:05:30 +08:00
richarjiang
c3961150ab feat: 优化AI教练聊天逻辑,增加用户聊天次数检查和响应内容
- 在AI教练控制器中添加用户聊天次数检查,若次数用完则返回相应提示信息。
- 更新AI聊天响应DTO,新增用户剩余聊天次数和AI回复文本字段,提升用户体验。
- 修改用户服务,支持初始体重和目标体重字段的更新,增强用户资料的完整性。
2025-08-27 14:22:25 +08:00
richarjiang
79aa300aa1 feat: 在用户资料中添加活动水平字段
- 更新用户资料相关逻辑,新增活动水平字段,支持用户在更新资料时提供活动水平信息。
- 修改相关DTO和模型,确保活动水平字段的有效性和数据一致性。
- 更新用户响应数据结构,包含活动水平信息,提升用户体验和数据完整性。
2025-08-27 10:00:18 +08:00
richarjiang
a8c67ceb17 feat: 为新用户添加默认头像字段
- 在用户创建逻辑中新增avatar字段,设置默认头像链接,提升用户体验和个性化展示。
2025-08-27 09:12:15 +08:00
richarjiang
73f53ac5e4 feat: 生成活动接口 2025-08-21 14:28:15 +08:00
richarjiang
a56d1d5255 feat: 更新AI教练控制器,增加用户聊天次数管理功能
- 在AI教练控制器中引入用户聊天次数的检查,确保用户在进行对话前有足够的聊天次数。
- 新增用户服务方法以获取和扣减用户的聊天次数,优化用户体验。
- 调整默认免费聊天次数为5次,提升系统的使用限制管理。
2025-08-18 19:20:01 +08:00
richarjiang
485ba1f67c feat: 新增饮食记录和分析功能
- 创建饮食记录相关的数据库模型、DTO和API接口,支持用户手动添加和AI视觉识别记录饮食。
- 实现饮食分析服务,提供营养分析和健康建议,优化AI教练服务以集成饮食分析功能。
- 更新用户控制器,添加饮食记录的增删查改接口,增强用户饮食管理体验。
- 提供详细的API使用指南和数据库创建脚本,确保功能的完整性和可用性。
2025-08-18 16:27:01 +08:00
richarjiang
0edcfdcae9 新增普拉提训练系统的数据库结构和数据导入功能
- 创建普拉提分类和动作数据的SQL导入脚本,支持垫上普拉提和器械普拉提的分类管理
- 实现数据库结构迁移脚本,添加新字段以支持普拉提类型和器械名称
- 更新数据库升级总结文档,详细说明数据库结构变更和数据导入步骤
- 创建训练会话相关表,支持每日训练实例功能
- 引入训练会话管理模块,整合训练计划与实际训练会话的关系
2025-08-15 15:34:11 +08:00
richarjiang
bc8a52852d feat:新增活动日志模块,包括控制器、服务、模型及数据传输对象,更新应用模块以引入新模块,并在打卡和训练计划模块中集成活动日志记录功能。 2025-08-14 15:43:29 +08:00
richarjiang
24924e5d81 新增训练计划模块,包括控制器、服务、模型及数据传输对象,更新应用模块以引入新模块,同时在AI教练模块中添加体态评估功能,支持体重识别与更新,优化用户体重历史记录管理。 2025-08-14 12:57:03 +08:00
richarjiang
8c358a21f7 新增会话管理功能,包括获取会话列表、获取会话详情和删除会话的API,更新AI教练模块以支持会话模型,调整相关服务和数据传输对象。 2025-08-14 11:23:33 +08:00
richarjiang
d1a6e3d42e 新增AI教练模块,包括控制器、服务、模型及数据传输对象,更新应用模块以引入新模块,同时在打卡模块中添加按时间范围返回每日打卡状态的功能 2025-08-14 09:12:44 +08:00
richarjiang
3b1af29c63 更新服务器地址和项目名称,移除不必要的客户端日志相关代码,添加阻止交易模型,调整端口号及相关文档内容 2025-08-13 17:31:21 +08:00
richarjiang
4f9d648a50 feat: 初始化项目 2025-08-13 15:17:33 +08:00