-------------------------------------------
教程简介:
乐尚代驾项目,是尚硅谷精心打造的企业级微服务架构项目。市面上的项目教程要么过于简单,要么就是技术的盲目堆砌,技术大牛用不上,技术小白又看不懂,有鉴于此,这套项目教程应运而生,本套项目拒绝过于简单没有业务深度!拒绝盲目堆砌技术没有重点!既注重技术的基础应用,又会结合具体业务场景强化技术的深度。
比如Redis,多数项目只是简单作为缓存使用,或者只是使用基本数据类型,而本套项目既有基本类型的应用,又会结合代驾场景使用其GEO来存储和计算位置信息,使用其原子性实现分布式锁解决并发问题;比如RabbitMQ,大多项目只是发送和接收的过程,基本没有考虑容错或者高级特性的应用,而乐尚代驾项目不仅有常规功能的使用,还有延迟队列等高级特性的实际应用场景;再比如MongoDB,很多项目没有考虑MongoDB实际场景而是强加到项目中,而乐尚代驾项目结合MongoDB的实时特性,用来记录和获取司机的实时位置信息,可谓是恰到好处又面面俱到……
项目采用贴近生活的代驾业务为背景,包含司机端、乘客端、管理端,从乘客登录呼叫代驾到司机认证并发抢单,再到司机开始代驾服务,结束代驾,司机发送账单,乘客支付,以及平台和司机的微信分账……覆盖了代驾的全过程,可以让学习者花费更少的时间成本去理解业务,从而更好地专注于技术的学习。
项目技术栈广,业务贴近实际,采用微信小程序运行,覆盖当前主流后端技术框架:JDK17、SpringBoot、SpringCloud、MyBatisPlus、Redis7、RabbitMQ、MongoDB、腾讯云服务等,契合当前企业的实际需求。
教程延续了尚硅谷一贯的保姆式授课风格,涵盖:功能分析、编码实现、功能测试、bug解决的全过程,完全解密企业内部的开发模式,真实展现技术难点的攻关过程,比如详细解析并发抢单问题的技术攻关过程,深度剖析分布式事务的实现过程,详实展现了规则引擎从业务需求到功能设计再到具体使用的全过程……
项目讲解通俗易懂又不失深度,既可以让技术大牛茅塞顿开,也可以让技术小白快速入门,整个项目具有很强的实用性和理论性,堪称项目学习的助推器和练兵场!
-------------------------------------------
教程目录:
001.课程简介
002.项目概述-功能和技术介绍
003.项目概述-业务流程介绍
004.项目概述-导入项目微服务模块
005.搭建环境-搭建前端环境(概述)
006.搭建前端环境-注册微信开发者账号
007.搭建前端环境-开通服务与插件
008.搭建前端环境-安装Node.js和微信开发者工具
009.搭建前端环境-微信开发者工具运行前端代码
010.搭建后端环境-概述
011.搭建后端环境-安装软件环境
012.搭建后端环境-导入数据库
013.搭建后端环境-导入配置文件到Nacos
014.搭建后端环境-启动项目测试
015.技术点:MyBatisPlus-概述
016.技术点:MyBatisPlus-入门案例(1)
017.技术点:MyBatisPlus-入门案例(2)
018.技术点:MyBatisPlus-CURD操作(1)
019.技术点:MyBatisPlus-CURD操作(2)
020.技术点:MyBatisPlus-CURD操作(3)
021.技术点:MyBatisPlus-主键策略
022.技术点:MyBatisPlus-分页查询
023.乘客端登录-内容概述
024.乘客端登录-需求介绍
025.乘客端登录-微信小程序登录流程
026.乘客端登录-微信小程序登录接口(准备工作)
027.乘客端登录-微信小程序登录接口(基础模块)
028.乘客端登录-微信小程序登录接口(远程调用)
029.乘客端登录-微信小程序登录接口(接口测试)
030.乘客端登录-微信小程序登录接口(小结)
031.乘客端登录-获取登录用户信息接口(分析)
032.乘客端登录-获取登录用户信息接口(基础模块)
033.乘客端登录-获取登录用户信息接口(远程调用)
034.乘客端登录-获取登录用户信息接口(测试)
035.乘客端登录-登录校验(流程分析1)
036.乘客端登录-登录校验(流程分析2)
037.乘客端登录-登录校验(创建注解和切面类)
038.乘客端登录-登录校验(环绕通知方法)
039.乘客端登录-登录校验(功能测试)
040.乘客端登录-获取用户手机号
041.司机端登录与认证-内容概述
042.司机端登录与认证-微信小程序登录(准备工作)
043.司机端登录与认证-微信小程序登录(流程分析)
044.司机端登录与认证-微信小程序登录(基础模块)
045.司机端登录与认证-微信小程序登录(远程调用)
046.司机端登录与认证-获取司机登录信息(流程分析)
047.司机端登录与认证-获取司机登录信息(功能实现)
048.司机端登录与认证-司机登录和获取信息(功能测试)
049.司机端登录与认证-腾讯云对象存储COS(概述)
050.司机端登录与认证-腾讯云对象存储COS(开通)
051.司机端登录与认证-腾讯云对象存储COS上传接口(分析)
052.司机端登录与认证-腾讯云对象存储COS上传接口(web-driver)
053.司机端登录与认证-腾讯云对象存储COS上传接口(service-driver)
054.司机端登录与认证-腾讯云对象存储COS上传接口(测试)
055.司机端登录与认证-腾讯云对象存储COS上传接口(临时签名URL)
056.司机端登录与认证-腾讯云对象存储COS上传接口(功能完善)
057.司机端登录与认证-腾讯云身份证识别接口(流程分析)
058.司机端登录与认证-腾讯云身份证识别接口(service-driver实现上)
059.司机端登录与认证-腾讯云身份证识别接口(service-driver实现下)
060.司机端登录与认证-腾讯云身份证识别接口(web-driver实现)
061.司机端登录与认证-腾讯云驾驶证识别接口(功能实现)
062.司机端登录与认证-腾讯云身份证驾驶证识别接口(测试)
063.司机端登录与认证-获取司机认证信息(功能实现)
064.司机端登录与认证-修改司机认证信息(功能分析)
065.司机端登录与认证-修改司机认证信息(功能实现)
066.司机端登录与认证-创建司机人脸模型(上)
067.司机端登录与认证-创建司机人脸模型(下)
068.司机端登录与认证-测试(1)
069.司机端登录与认证-测试(2)
070.司机端登录与认证-开通文字识别服务
071.预估订单数据-内容概述
072.预估订单数据-需求概述
073.预估订单数据-查找乘客当前订单
074.预估订单数据-开通腾讯位置服务
075.预估订单数据-封装地图服务接口(上)
076.预估订单数据-封装地图服务接口(下)
077.预估订单数据-预估订单金额(需求)
078.技术点-规则引擎Drools-内容概述
079.技术点-规则引擎Drools-应用概述
080.技术点-规则引擎Drools-入门案例(上)
081.技术点-规则引擎Drools-入门案例(下)
082.技术点-规则引擎Drools-基础语法(上)
083.技术点-规则引擎Drools-基础语法(中)
084.技术点-规则引擎Drools-基础语法(下)
085.技术点-规则引擎Drools-规则属性
086.技术点-规则引擎Drools-全局变量
087.预估订单数据-预估订单金额-整合规则引擎Drools
088.预估订单数据-预估订单金额-封装代驾规则接口
089.预估订单数据-预估订单金额-封装代驾费用接口
090.预估订单数据-预估订单数据接口-最终实现
091.预估订单数据-功能测试
092.乘客下单-下单接口(上)
093.乘客下单-下单接口(下)
094.乘客下单-查询订单状态
095.乘客下单-搜索附近司机-需求分析
096.乘客下单-搜索附近司机-Redis的Geo功能
097.乘客下单-搜索附近司机-更新司机位置接口
098.乘客下单-搜索附近司机-获取司机个性化设置消息
099.乘客下单-搜索附近司机-搜索附近适合接单司机(上)
100.乘客下单-搜索附近司机-搜索附近适合接单司机(下)
101.乘客下单-搜索附近司机-搜索附近适合接单司机-测试
102.乘客下单-任务调度-需求描述
103.乘客下单-任务调度-XXL-JOB概述
104.乘客下单-任务调度-XXL-JOB入门(上)
105.乘客下单-任务调度-XXL-JOB入门(下)
106.乘客下单-任务调度-集成XXL-JOB(上)
107.乘客下单-任务调度-集成XXL-JOB(下)
108.乘客下单-任务调度-封装XXL-JOB客户端
109.乘客下单-任务调度-创建并启动任务接口(上)
110.乘客下单-任务调度-创建并启动任务接口(下)
111.乘客下单-任务调度-开发任务job方法(上)
112.乘客下单-任务调度-开发任务job方法(中)
113.乘客下单-任务调度-开发任务job方法(下)
114.乘客下单-下单方法添加任务调度
115.乘客下单-司机获取最新订单数据
116.乘客下单-功能测试
117.司机接单-需求描述
118.司机接单-判断司机是否人脸识别
119.司机接单-司机人脸识别
120.司机接单-更新司机接单状态
121.司机接单-开启和停止接单web接口
122.司机接单-功能测试
123.司机抢单-需求描述试
124.司机抢单-司机抢单接口-初步实现
125.司机抢单-司机抢单接口-功能测试
126.司机抢单-司机抢单优化-方案概述
127.司机抢单-司机抢单优化-基于乐观锁解决司机抢单
128.司机抢单-分布式锁-本地锁局限性(上)
129.司机抢单-分布式锁-本地锁局限性(下)
130.司机抢单-分布式锁-使用Redis实现-setnx+过期时间
131.司机抢单-分布式锁-使用Redis实现-UUID防止误删
132.司机抢单-分布式锁-使用Redis实现-LUA脚本保证原子性
133.司机抢单-分布式锁-使用Redis实现-总结
134.司机抢单-分布式锁-使用Redisson实现
135.司机抢单-分布式锁-司机抢单添加分布式锁
136.订单执行-加载当前订单-需求概述
137.订单执行-加载当前订单-乘客端查找当前订单
138.订单执行-加载当前订单-司机端查找当前订单
139.订单执行-加载当前订单-获取订单信息
140.订单执行-司乘同显-需求概述(上)
141.订单执行-司乘同显-需求概述(下)
142.订单执行-司乘同显-司机端司乘同显
143.订单执行-司乘同显-更新司机位置到Redis
144.订单执行-司乘同显-获取司机的基本信息
145.订单执行-司乘同显-其他接口
146.订单执行-司机到达起始点
147.订单执行-更新代驾车辆信息
148.订单执行-功能测试
149.技术点-MongoDB-概述
150.技术点-MongoDB-安装和启动
151.技术点-MongoDB-命令方式操作MongoDB
152.技术点-MongoDB-SpringBoot整合MongoDB-准备工作
153.技术点-MongoDB-SpringBoot整合MongoDB-MongoRepository操作
154.技术点-MongoDB-SpringBoot整合MongoDB-MongoTemplate操作
155.订单执行(二)-接口概述
156.订单执行(二)-开始代驾接口
157.订单执行(二)-保存和获取订单位置信息接口
158.订单执行(二)-Minio文件上传接口
159.订单执行(二)-保存订单监控数据接口
160.订单执行(二)-订单监控审核(上)
161.订单执行(二)-订单监控审核(下)
162.订单执行(三)-需求概述
163.订单执行(三)-计算订单实际里程接口
164.订单执行(三)-计算系统奖励接口
165.订单执行(三)-获取订单数和计算分账信息
166.订单执行(三)-结束代驾更新账单
167.订单执行(三)-结束代驾-司机端web接口
168.订单执行(三)-判断司机刷单
169.订单执行(三)-功能测试
170.我的订单和异步编排-乘客端我的订单
171.我的订单和异步编排-司机端我的订单
172.我的订单和异步编排-结束代驾优化
173.订单支付-账单信息(上)
174.订单支付-账单信息(下)
175.订单支付-账单信息-功能测试
176.订单支付-微信支付-准备接口
177.订单支付-微信支付-发起微信支付接口
178.订单支付-微信支付-查询支付状态接口
179.订单支付-微信支付-配置内网穿透
180.订单支付-微信支付-支付成功后续处理(上)
181.订单支付-微信支付-支付成功后续处理(下)
182.分布式事务-事务基础概念
183.分布式事务-分布式事务解决方案-2PC和TCC
184.分布式事务-分布式事务解决方案-本地消息表
185.分布式事务-使用Seata框架-支付后处理添加分布式事务
186.乘客下单(二)-超时订单自动取消(上)
187.乘客下单(二)-超时订单自动取消(下)
188.优惠卷-查询乘客未领取优惠卷
189.优惠卷-查询未使用和已使用优惠卷
190.优惠卷-乘客领取优惠卷
191.优惠卷使用-获取未使用最佳优惠卷列表(上)
192.优惠卷使用-获取未使用最佳优惠卷列表(下)
193.优惠卷使用-使用优惠卷和更新订单金额
194.优惠卷使用-乘客端支付方法改造
195.订单支付-微信分账功能介绍
196.代驾业务测试-完整功能测试(上)
197.代驾业务测试-完整功能测试(下)
198.项目总结