项目简介:是一款专注于学科知识领域的知识分享微信小程序,采用 SpringBoot+SpringCloud 构建高可用微服务
架构,通过 LangChain4j 及大模型能力为用户提供个性化学习路径规划与智能答疑。平台支持按学科分类、精准
检索年级学科课程,设有热门课程排行榜(基于学习时长、购买量、评论量),课程体系支持灵活付费模式(整套
购买/分章节模块订阅)与多渠道支付(微信/余额),助力学生用户群体高效学习。
技术栈:SSM+SpringBoot +SpringCloud+ Mysql + Redis + RabbitMQ + ElasticSearch + xxl-Job + Canal +
Seata + LangChain4j + MongoDB
工作内容:
后台管理模块:
1、设计与实现了基于 MinIO 分布式存储的学科封面管理体系,并集成腾讯云点播与数据万象服务,构建了各学科
章节音视频文件从上传、存储到智能审核的全链路自动化流程,将人工审核成本降低 70%。
2、主导数据查询性能优化,通过 MyBatis-Plus 分页与 SQL 高级查询(如 GROUP BY 行转列),结合 EXPLAIN
执行计划分析将核心查询性能提升 3 倍,系统响应时间稳定在 200ms 内。
3、针对海量学科数据,防止 SQL 索引失效,引入 Elasticsearch 搜索引擎与 CountDownLatch 多线程技术,实
现了学科信息的秒级检索与批量上架。
学科详情模块:
1、构建了基于 LangChain4j 的 @AiService 的智能体系统。通过集成 RAG 技术,使用通义千问向量模型和
Pinecone 向量数据库实现精准知识检索;设计 MongoDB 持久化聊天记忆保障多用户上下文隔离;利用@Tool 注
解扩展用户个人情况。最终与 AI 数字人技术整合,实现了定制化学习的智能播报。
2、运用 CompletableFuture 多线程异步编排技术,将学科详情页的多个数据源查询并行化,将页面加载时间从 2
秒 优化至 500 毫秒 以内。
3、设计并实现了一套基于 AOP + 自定义注解 的通用缓存解决方案,使缓存逻辑与业务代码解耦,代码复用率提
升,并极大简化了后续维护。
4、系统性解决了缓存经典问题:通过 Redisson 分布式锁防击穿、布隆过滤器防穿透、随机过期时间防雪崩、Canal
异步同步保障数据一致性,使核心接口缓存命中率高达 98%,数据库 QPS 降低 40%。
5、通过 Redis SETNX 命令实现每日播放量防刷机制,并结合消息队列异步更新统计数据,每日有效拦截恶意刷量
请求超过,保障了数据真实性。
6、使用 Rabbit MQ 实现异步解耦统计信息,确保主页务逻辑不受影响的同时统计表中各数据也具有真实性。
7、基于 XXL-Job 分布式任务调度框架,实现了排行榜自动更新与用户 VIP 状态定时巡检,将人工干预成本降低。
订单模块采用策略模式与工厂模式重构订单系统,优雅地支持了 VIP、整套学科、单集章节等多种购买类型,使系
统扩展性显著增强,新增一种购买策略的开发周期从 2 人/日 缩短至 0.5 人/日。