基本信息

案例ID:205528

技术顾问: - 3年经验 - 北京字节跳动公司

联系沟通

微信扫码,建群沟通

项目名称:云图数字有声

所属行业:文化娱乐 - 在线阅读

->查看更多案例

案例介绍

项目介绍:随着智能手机和高速互联网的普及,人们开始寻求更便捷的方式来获取信息和娱乐。 在过去,有声书主要是由专业的演员朗读,制作成录音带或CD。但随着数字化媒体的发展,听书软件应运而生,为用户提供了更多选择,包括自助出版的有声书和多样化的内容。总的来说,听书软件的开发推动了阅读体验的数字化和个性化,为用户提供了更加便捷、多样化的阅读方式,也促进了作家和内容创作者的创作和传播。
主要业务模块:专辑管理模块、搜索管理模块、订单管理模块、账号管理模块、支付管理模块、会员管理模块、权限管理模块
技术选型: SpringBoot+SpringCloud Alibaba、MyBatis-Plus、MySQL、Redis、Redisson、MongoDB、Kafka、ElasticSearch、MinIO、Docker、Jenkins
负责模块:
模块名称:登录模块
功能描述:用户使用微信小程序进行登录或者是账号密码登录。
实现细节:从redis获取token,若无,则去数据库中查询,存在就获取信息并存入到Redis中,设置过期时间。
不存在数据库就添加用户信息。
挑战和问题解决:判断是否需要用户登录,使用自定注解+AOP赋能,包含是否登录的属性required,在定义的切
面类中使用@before前置通知获取HTTP参数中的token,到redis中查询,来判断用户是否登录。如果已登录,则
使用ThreadLocal把登录信息与当前线程绑定,传递给后续业务。如果未登录,则提示需要登录。
模块名称:专辑管理模块
功能描述:文件上传、专辑的增删改查以及专辑详细页面展示。
实现细节:使用MinIO进行文件上传,专辑的增删改,先去更改MySQL数据库,然后用kafka发送消息更改es中的数据
挑战和问题解决:处理专辑详情页的高并发请求和缓存数据的管理,使用布隆过滤器、分布式锁防止缓存的击穿、穿透等问题,用添加随机过期时间解决雪崩问题。
模块名称:订单管理模块
功能描述:从专辑详情页选择购买VIP、购买专辑和购买声音,实现订单创建功能,使用Redisson的延迟队列取消超时未支付的订单。
实现细节:
1、订单的创建过程中,通过生成全局唯一的订单编号以及Redis实现订单创建接口的幂等性;
2、通过分布式锁确保了锁定金额过程中的数据的一致性,避免了用户重复扣款情况的发生;

相似案例推荐

其他人才的相似案例推荐

  • 智秦数字图书馆产品生态建设项目

    智秦数字图书馆产品生态建设项目

    内容: 1、K15智秦学习 (Android、iOS)

  • Vaabook

    Vaabook

    Vaabook是Vaa产品下的一个免费阅读海量小说的网站。

  • 个人主页定制

    个人主页定制

    个人主页搭建、博客、技术文档、个人图床、官网后台、小程序开发

  • 银河阅读

    银河阅读

    北京银河悦读文化发展有限公司,以经营银河悦读中文网为主要业务

  • blog

    blog

    博客:https://www.cnblogs.com/cai

  • 博客

    博客

    使用 Hugo 搭建的个人博客,利用 GitHub Acti

  • 中青看点

    中青看点

    一款资讯类app,类似今日头条,提供趣闻,养生,广场舞等喜闻

  • 小说阅读器

    小说阅读器

    小说阅读器实现简单的小说在线阅读,实现加入小说书架、删除书架

  • 爬虫小说网站文本

    爬虫小说网站文本

    能独立完成爬虫,并根据客户需求进行响应数据的爬取,响应迅速,

  • 多小程序管理系统

    多小程序管理系统

    图文类小程序管理系统开发,无限小程序,文章同步,内容ai审核

  • ggldemo

    ggldemo

    基于imgui框架实现的客户端应用,实现了日志,网络请求等功

  • ReaWebDemo

    ReaWebDemo

    基于最新的springboot3写的响应式后台学习项目,提高

发布任务

企业点击发布任务,工程师会在任务下报名,招聘专员也会在1小时内与您联系,1小时内精准确定人才

微信接收人才推送

关注猿急送微信平台,接收实时人才推送

接收人才推送
联系聘用方端客服
联系聘用方端客服