richarjiang
cc83b84c80
feat(push): 新增设备推送和测试功能
...
- 新增基于设备令牌的推送通知接口
- 添加推送测试服务,支持应用启动时自动测试
- 新增推送测试文档说明
- 更新 APNS 配置和日志记录
- 迁移至 apns2 库的 PushType 枚举
- 替换订阅密钥文件
- 添加项目规则文档
2025-10-15 19:09:51 +08:00
richarjiang
38dd740c8c
feat(push): migrate APNs provider from @parse/node-apn to apns2 library
...
- Replace @parse/node-apn with apns2 for improved APNs integration
- Update ApnsProvider to use new ApnsClient with modern API
- Refactor notification creation and sending logic for better error handling
- Add proper error event listeners for device token issues
- Update configuration interface to match apns2 requirements
- Modify push notification endpoints to allow public access for token registration
- Update service methods to handle new response format from apns2
- Add UsersModule dependency to PushNotificationsModule
2025-10-14 19:25:30 +08:00
richarjiang
305a969912
feat: 支持 push
2025-10-11 17:38:04 +08:00
richarjiang
999fc7f793
feat(challenges): 支持公开访问挑战列表与详情接口
...
- 在 GET /challenges、GET /challenges/:id、GET /challenges/:id/rankings 添加 @Public() 装饰器,允许未登录用户访问
- 将 userId 改为可选参数,未登录时仍可返回基础数据
- 列表接口过滤掉 UPCOMING 状态挑战,仅展示进行中/已结束
- 返回 DTO 新增 unit 字段,用于前端展示进度单位
- 鉴权守卫优化:公开接口若携带 token 仍尝试解析并注入 user,方便后续业务逻辑
2025-09-30 16:43:46 +08:00
richarjiang
87c3cbfac9
feat(challenges): 新增分页排行榜接口并重构排行逻辑
...
- 新增 GET /challenges/:id/rankings 接口,支持分页查询排行榜
- 抽离 buildChallengeRankings 方法,统一排行榜数据构建逻辑
- 新增 ChallengeRankingListDto 与 GetChallengeRankingQueryDto 用于接口数据校验
- 优化挑战列表排序逻辑,按状态优先级与时间排序
- 修复排行榜索引计算错误,确保分页场景下排名正确
2025-09-30 11:17:31 +08:00
richarjiang
f13953030b
feat(challenges): 新增今日上报值与目标值字段至排行榜接口
2025-09-29 17:22:10 +08:00
richarjiang
12acbbd166
feat(challenges): 新增今日打卡状态字段并更新进度构建逻辑
...
- 在 ChallengeProgressDto 中增加 checkedInToday 字段
- 修改 buildChallengeProgress 方法,支持传入 lastProgressAt 参数
- 所有调用处同步更新,确保返回包含今日打卡状态
- 使用 dayjs 判断最后进度时间是否为今日
2025-09-29 17:12:54 +08:00
richarjiang
64460a9d68
feat(challenges): 新增挑战类型字段并重构进度上报逻辑
...
- 数据库新增 type 列区分 water/exercise/diet/mood/sleep/weight 六类挑战
- 进度上报由增量模式改为绝对值模式,字段 increment_value → reportedValue
- 服务层按 challenge.targetValue 判断当日是否完成,再按 minimumCheckInDays 统计总进度
- 相关 DTO 与模型同步更新,支持新类型返回
BREAKING CHANGE: 上报接口字段由 increment 改为 value,且为当日绝对值
2025-09-29 15:14:48 +08:00
richarjiang
d87fc84575
feat(challenges): 使用 minimumCheckInDays 统一进度目标计算
...
将挑战完成目标从 targetValue/progressUnit 改为 minimumCheckInDays 字段驱动,确保列表、详情、加入、打卡各场景使用一致的完成天数标准,并移除前端展示字段 badge/subtitle。
2025-09-29 10:25:20 +08:00
richarjiang
22fcf694a6
fix(db): 统一字符集排序规则并修复时间戳类型
...
- 新增 SQL 脚本统一表与列字符集为 utf8mb4_unicode_ci
- 移除建表语句冗余 COLLATE 子句,由全局配置控制
- 将挑战起止时间字段由 Date 改为 BIGINT 时间戳,避免时区与精度问题
- 补充 Winston 日志追踪挑战详情查询性能
- 数据库模块新增 charset 与 collate 全局配置,确保后续表一致性
BREAKING CHANGE: challenge.startAt/endAt 由 Date 变更为 number(毫秒时间戳),调用方需同步调整类型
2025-09-29 09:59:06 +08:00
richarjiang
ae8039c9ed
feat(challenges): 新增每日进度上报防重复机制
...
- 创建 t_challenge_progress_reports 表记录用户每日上报
- 通过唯一索引 (challenge_id, user_id, report_date) 确保每日仅一次有效上报
- 更新 progress 时先写入报告表,冲突则直接返回当前进度
- 模块中新增 ChallengeProgressReport 模型及相关依赖
2025-09-28 12:13:31 +08:00
richarjiang
1b7132a325
feat(challenges): 新增挑战功能模块及完整接口实现
...
- 新增挑战列表、详情、加入/退出、进度上报等 REST 接口
- 定义 Challenge / ChallengeParticipant 数据模型与状态枚举
- 提供排行榜查询与用户排名计算
- 包含接口文档与数据库初始化脚本
2025-09-28 12:02:39 +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
dc06dfbebd
perf:修复健康数据
2025-09-12 23:00:49 +08:00
richarjiang
cf02fda4ec
chore: 调整用户控制器日志级别并新增文件信息记录
2025-09-12 15:48:39 +08:00
richarjiang
090b91e72d
feat: 支持图片上传接口
2025-09-12 14:23:18 +08:00
richarjiang
97e6a0ff6d
feat: 添加GLM-4.5V和DashScope模型支持,优化饮食分析服务的API调用
2025-09-04 10:16:24 +08:00
richarjiang
d34f752776
feat: 新增食物识别API,调整字段名,扩展识别功能与提示逻辑
2025-09-04 09:36:07 +08:00
richarjiang
02f21f0858
feat(water-records): 优化创建喝水记录和获取记录列表的日期处理逻辑
2025-09-02 15:27:21 +08:00
richarjiang
730b1df35e
feat: 更新喝水统计功能,支持指定日期查询并返回相应数据
2025-09-02 11:32:22 +08:00
richarjiang
2c2e964199
feat(water-records): 新增喝水记录功能模块
...
新增完整的喝水记录管理功能,支持用户记录每日喝水情况、设置目标和查看统计信息。功能包括:
- 创建、查询、更新和删除喝水记录
- 设置和管理每日喝水目标
- 获取今日喝水统计和完成率分析
- 支持分页查询和日期范围筛选
- 完整的数据验证和错误处理机制
该模块已从用户模块中独立出来,提供REST API接口,包含数据库迁移脚本和详细文档。
2025-09-01 11:02:13 +08:00
richarjiang
0488fe62a1
feat: 添加食物识别功能,支持根据图片URL识别食物并转换为饮食记录格式
2025-08-31 14:14:33 +08:00
d0b02b6228
feat: 新增用户食物收藏功能
...
- 创建用户食物收藏表 `t_user_food_favorites`,用于存储用户收藏的食物信息。
- 在 `FoodLibraryController` 中添加收藏和取消收藏食物的 API 接口。
- 在 `FoodLibraryService` 中实现收藏和取消收藏的业务逻辑,并获取用户收藏的食物 ID 列表。
- 更新 DTO 以支持食物是否已收藏的状态。
2025-08-29 21:03:55 +08:00
richarjiang
6542988cb6
feat: 支持用户自定义食物
2025-08-29 15:57:28 +08:00
richarjiang
c0bdb3bf0a
perf: 优化饮食记录代码
2025-08-29 10:13:26 +08:00
richarjiang
8a69f4f1af
perf
2025-08-29 09:44:35 +08:00
richarjiang
74faebd73d
feat: 新增食物库模块,含模型、服务、API及初始化数据
2025-08-29 09:06:18 +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
04903426d1
refactor: 移除使用次数扣除逻辑,调整活动类型及记录逻辑
2025-08-27 19:01:21 +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
8aca29e2b3
feat: 更新目标修改逻辑,增加日志记录和日期处理优化
...
- 在updateGoal方法中添加日志记录,便于调试和监控目标更新过程。
- 优化目标更新时的日期处理逻辑,确保endDate字段在未提供时设置为undefined,提升数据的灵活性。
2025-08-26 22:12:46 +08:00
475f928990
feat: 优化目标任务生成逻辑,增加自定义重复规则支持
...
- 在GoalTaskService中添加对自定义重复规则的支持,允许用户指定生成任务的星期几。
- 增加日志记录,便于调试和监控任务生成过程。
- 确保生成的任务不会与现有任务冲突,提升任务管理的灵活性和准确性。
2025-08-24 09:46:24 +08:00
cba56021de
feat: 删除心情打卡和目标子任务API测试文件
...
- 移除test-goal-tasks.http和test-mood-checkins.http文件,清理不再使用的测试文件。
- 更新GoalsService中的目标删除逻辑,增加事务处理以确保数据一致性。
- 优化GoalTaskService中的任务生成逻辑,增加日志记录以便于调试和监控。
2025-08-23 14:31:15 +08:00
richarjiang
f6b4c99e75
feat: 移除获取目标和任务详情的API及相关逻辑
...
- 删除GoalsController和GoalsService中获取单个目标和任务详情的API实现,简化代码结构。
- 更新GoalTaskService中的分页参数,将每页数量调整为200,提升数据处理能力。
- 优化GoalTaskQueryDto,移除页码和每页数量的验证装饰器,简化DTO结构。
2025-08-22 17:23:14 +08:00
richarjiang
3530d123fc
feat: 新增目标子任务管理功能模块
...
- 实现目标子任务的完整功能,包括数据库表设计、API接口、业务逻辑和文档说明。
- 支持用户创建、管理和跟踪目标子任务,提供增删改查操作及任务完成记录功能。
- 引入惰性任务生成机制,优化任务管理体验,提升系统性能和用户交互。
2025-08-22 16:01:12 +08:00
richarjiang
062a78a839
feat: 优化目标创建逻辑,处理日期和时间字段的空值情况
...
- 更新目标创建逻辑,确保在创建目标时,startDate、startTime和endTime字段可以处理空值,提升数据的灵活性和安全性。
2025-08-22 11:22:55 +08:00
richarjiang
acf8d0c48c
feat: 更新目标管理模块,优化数据库表结构和API逻辑
...
- 修改目标表和目标完成记录表的字段类型,增强数据一致性和查询性能。
- 移除不必要的搜索字段,简化目标查询DTO,提升查询效率。
- 引入目标状态枚举,增强代码可读性和维护性。
- 添加复合索引以优化查询性能,提升系统响应速度。
- 更新目标管理控制器和服务逻辑,确保与新数据库结构的兼容性。
2025-08-22 11:22:27 +08:00
richarjiang
ffc0cd1d13
feat: 更新心情打卡功能,优化用户信息处理
...
- 将用户身份信息从字符串类型改为AccessTokenPayload对象,增强代码可读性和安全性。
- 移除心情打卡DTO中的metadata字段,简化数据结构,提升性能。
- 更新心情打卡服务,去除不必要的metadata处理逻辑,优化数据存储。
2025-08-22 08:55:35 +08:00
270b59c599
feat: 新增目标管理功能模块
...
实现目标管理的完整功能,包括数据库表设计、API接口、业务逻辑和文档说明。支持用户创建、管理和跟踪个人目标,提供增删改查操作及目标完成记录功能。
2025-08-21 22:50:30 +08:00
richarjiang
f26d8e64c6
feat: 新增心情打卡功能模块
...
实现心情打卡的完整功能,包括数据库表设计、API接口、业务逻辑和文档说明。支持记录多种心情类型、强度评分和统计分析功能。
2025-08-21 15:20:05 +08:00
richarjiang
513d6e071d
refactor(users): 更新用户活动表名并添加日志记录
...
将用户活动表名从'user_activities'改为't_user_activities',并在服务中添加详细的日志记录逻辑。
2025-08-21 14:52:09 +08:00
richarjiang
73f53ac5e4
feat: 生成活动接口
2025-08-21 14:28:15 +08:00
richarjiang
94e1b124df
feat: 更新AI教练服务,增强用户体重记录和分析功能
...
- 新增流式聊天处理逻辑,支持用户选择和指令解析,提升交互体验。
- 实现体重记录的确认和趋势分析功能,用户可查看体重变化及健康建议。
- 扩展DTO,增加交互类型以支持新的功能,确保数据结构的完整性。
- 优化错误处理和日志记录,提升系统稳定性和可维护性。
2025-08-21 10:24:37 +08:00