课程介绍

乐尚代驾项目,是尚硅谷精心打造的企业级微服务架构项目。市面上的项目教程要么过于简单,要么就是技术的盲目堆砌,技术大牛用不上,技术小白又看不懂,有鉴于此,这套项目教程应运而生,本套项目拒绝过于简单没有业务深度!拒绝盲目堆砌技术没有重点!既注重技术的基础应用,又会结合具体业务场景强化技术的深度。

比如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.项目总结

 

发表回复

后才能评论