从零实现视频续播 + 学习进度统计:前端心跳、条件更新、GROUP BY 统计全链路拆解
本文实现学习记录功能,通过学习记录表细粒度追踪用户视频播放进度与考试完成状态。前端每15秒心跳提交进度,服务端根据视频/考试类型差异化处理:视频需判断是否首次学完(进度≥50%且此前未完成),考试则提交即标记完成。利用MyBatis Plus条件更新(.set(condition, ...))实现高效字段更新,避免冗余逻辑。最终联动更新课表统计,支持“已学小节数”“最近学习时间”等指标,并给出高频写库场景下的优化思路,如批量提交、异步处理与缓存降级,确保系统稳定高并发。
嘎仔的Coding日记2026-09-12 10:33:44