2023年动力节点全新版微服务项目【动力商城】震撼来袭!
企业级实战项目,直击大厂!
动力商城是以B2C模式运营的在线商城,总览企业及公司产品于一体,主打自主研发品牌以推广的互联网化新商城。系统采用的微服务架构模式。
技术选型:Springboot+SpringCloud、Mybatis-plus 、MySQL、Redis、阿里云OSS、RabbitMQ、Oauth2.0+JWT、Linux、ECS、WeChat(appid,openid)微信小程序支付等相关技术。
该项目不仅适用于程序员面试、入职、升职、加薪等职业发展场景,还能让您跨越前后端技能的壁垒,整合各个技能板块,成为一名更全面更具实战能力的企业级全栈开发工程师。
技术要点:
1.采用微服务(SpringCloud)技术框架搭建和开发
2.接口采用RestFul风格设计并且使用SwaggerUI做接口文档
3.我们采用MySQL做为项目数据库,RabbitMQ做为消息中间件,搭建RabbitMQ集群,在项目中使用自定义注解+AOP完成读写分离的操作。
4.搭建Redis-cluster作为项目的缓存中间件,使用自定义注解完成查询菜单等数据的缓存,提高系统性能,并且合理的设置过期时间以及淘汰策略,避免出现缓存雪崩等情况。
5.使用Eureka/Config集群搭建注册中心,完成服务的注册和发现/并且作为项目的配置文件中心,使得服务和配置文件集中化管理和复用
6.采用新一代网关Gateway结合注册中心完成请求动态路由,使用全局过滤器完成token的校验,ip黑名单等操作。
7.在项目授权中使用Oauth2.0整个jwt非对称加密做项目应用的授权,抽象common模块完成资源服务器的统一解析工作,并且将jwt存入redis,整合网关做业务登出功能,增强系统的安全性。
8.使用spring-admin作为服务解控组件,实时监控服务状态,当服务出现问题,可以邮件发送给维护人员,及时解决问题。
9.使用递归加载菜单,并且将菜单数据存入Redis,提高用户体验。
10.前后端分离方式,前端封装权限验证组件,后端接口采用权限注解的方式完成按钮的显示和隐藏,以及确保用户在不通过按钮的情况下,直接访问后端接口。
11.自定义日志注解,将用户操作日志,通过AOP等技术,记录到Es/MongoDB中,定期做日志分析,发现用户操作习惯以及接口响应速度瓶颈,并且做定期优化。
12.搭建log-service来做统一的系统日志采集,各功能模块将系统日志,通过RabbitMQ异步的方式发送到日志中心,日志中心统一持久化。
13.搭建Fastdfs/OSS对象存储分布式文件服务器,将系统文件统一上传管理。
14.设计用户角色权限等经典RBAC完成基于角色的授权方案
15.服务间采用openFeign+Hystrix完成远程调用和熔断方案。
16.设置Feign的拦截器完成各种场景下token的传递机制,保证服务接口安全。
17.完成商品分类,商品属性规格,商品标签,商品评论等业务功能。
18.处理sku和spu的以及属性值等关系,完成商品的新增上架功能。
19.采用Elasticseach做为项目所有引擎,完成模糊查询,分页,排序,高亮等复杂查询。
20.在项目启动时使用自定义分页和多线程的方式完成MySQL商品数据全量同步Es。
21.采用窗口滑动模型完成生产环境中商品修改的增量导入功能。
22.采用xxl-job分布式定时任务调度中心完成项目中的定时任务功能。
23.采用消息队列完成商品快速同步Es的功能。
24.调用第三方接口获取省市区等地域地址,完成商城门店管理业务。
25.前台商城采用微信小程序的方式,先通过wx.login获取code在通过服务器发送请求获取openId,并且整合oauth2.0完成微信小程序和后端的交互凭证功能。
26.完成用户收藏和取消商品的业务,完成用户新增收货地址以及修改默认收货地址等业务。
27.搭建message-service消息模块,完成项目中消息的处理,整合京东万像完成短信发送功能,并且持久化到数据库。
28.完成商品的展示以及多种评论的展示业务。
29.独立完成购物车模块,实现多租户多店铺添加购物车,以及购物车商品回显的功能。
30.编写order-service订单模块业务,使用雪花算法生成全局唯一订单号,完成从商品以及购物车的订单确认。
31.在用户下单时清空购物车,远程调用扣减数据商品库存,通过mq修改MySQL中的库存,写订单表,同时写延迟队列。
32.采用延迟队列完成用户下单后超时未支付,商品库存回滚等功能
33.集成微信支付,完成用户下单后拉起微信支付功能。
34.协助组长搭建开发和生成环境,协助组长完成项目部署等工作
35.日常维护项目代码。 作者:蛙课网 https://www.bilibili.com/read/cv25628817 出处:bilibili
课程目录
•001.动力商城课程导读
•002.启动项目需要的服务
•003.启动项目并展示相关项目页面
•004.介绍PowerDesigner软件及安装
•005.PowerDesigner工具的基本使用
•006.项目数据库概述1
•007.项目数据库概述2
•008.获取token令牌
•009.根据用户标识获取菜单和权限集合
•010.根据用户标识查询菜单和权限集合
•011.查询管理员信息
•012.管理员退出
•013.多条件分页查询管理员列表
•014.查询系统角色集合
•015.新增管理员
•016.查询管理员详情
•017.修改管理员信息
•018.批量删除管理员
•019.多条件分页查询角色列表
•020.查询系统权限集合
•021.新增角色
•022.查询角色详情
•023.修改角色信息
•024.批量删除系统角色
•025.展示菜单管理数据
•026.使用apo和自定义注解实现记录操作形为日志
•027.使用线程池来记录操作形为日志
•028.多条件查询操作形为日志
•029.创建商品服务工程product-service
•030.查询商品类目集合
•031.查询商品一级类目集合
•032.回顾常用表单标签
•033.查看阿里云对象存储服务中的简单上传接口
•034.上传单个文件
•035.新增商品类目
•036.根据标识查询商品类目详情
•037.修改商品类目信息
•038.删除商品类目
•039.多条件分页查询商品分组标签列表
•040.新增商品分组标签
•041.根据标识查询商品分组标签详情
•042.修改商品分组标签信息
•043.删除商品分组标签
•044.多条件分页查询商品规格列表
•045.新增商品规格
•046.修改商品规格
•047.删除商品规格
•048.分析多条件分页查询商品评论列表
•049.多条件分页查询商品评论列表
•050.根据标识查询评论详情
•051.审核并回复商品评论
•052.多条件分页查询商品列表
•053.查询商品分组标签集合
•054.查询商品规格
•055.新增商品
•056.查询商品详情
•057.修改商品信息
•058.批量删除商品
•059.创建门店服务工程store-service
•060.多条件分页查询公告列表
•061.新增公告
•062.修改公告信息
•063.删除公告
•064.查询全国地址列表
•065.多条件分页查询自提点列表
•066.根据父节点查询地区子节点集合
•067.新增自提点
•068.修改自提点信息
•069.批量删除自提点地址
•070.多条件分页查询轮播图列表
•071.新增轮播图
•072.根据标识查询轮播图详情
•073.修改轮播图信息
•074.批量删除轮播图
•075.微信小程序概述
•076.微信小程序的登录流程
•077.注册微信小程序appid
•078.微信小程序登录
•079.使用微信授权的头像和昵称更新到数据库中接口分析
•080.创建会员服务工程member-service
•081.更新用户的头像和昵称
•082.查询用户是否绑定手机号码
•083.查询当前用户收藏商品的数量
•084.查询订单状态数量接口分析
•085.创建订单服务工程order-service
•086.查询用户订单状态数量
•087.查询用户收货地址列表
•088.新增用户收货地址
•089.查询收货地址详情
•090.修改收货地址信息
•091.删除用户收货地址
•092.设置默认收货地址
•093.查询用户购物车中商品的数量
•094.查询小程序轮播图列表
•095.查询小程序置顶公告列表
•096.查询小程序所有公告列表
•097.查询公告详情
•098.查询小程序商品分组标签集合
•099.创建搜索服务工程search-service
•100.根据商品分组标签查询商品列表
•101.根据类目父节点查询子节点集合
•102.查询当前类目和子类目的所有商品集合
•103.查询商品详情(包含商品sku集合)
•104.根据产品标识查询商品评论总览信息
•105.根据商品标识分页查询商品评论列表
•106.查询商品是否被用户收藏
•107.添加或取消用户收藏商品
•108.查询用户收藏商品列表
•109.查询用户购物车商品列表接口分析
•110.封装展示购物车页面相关对象
•111.查询用户购物车商品列表1
•112.查询用户购物车商品列表2
•113.计算购物车中选中商品的金额
•114.添加商品到购物车或修改购物车中商品数量
•115.删除购物车中选中的商品
•116.分析获取短信验证码功能
•117.申请阿里云短信签名和模板
•118.绑定手机号码
•119.订单确认页面功能分析
•120.封装订单确认页面3个对象(订单确认参数对象,订单店铺对象,订单确认页面对象)
•121.订单确认页面-请求来自于商品详情页面
•122.查询用户订单确认页面数据
•123.用户提交订单功能分析
•124.用户提交订单-删除购买商品在购物车中记录
•125.用户提交订单-封装修改商品prod和sku扣减库存数量对象
•126.用户提交订单-修改商品prod和sku扣减库存数量
•127.用户提交订单-写订单记录和订单商品条目记录
•128.用户提交订单-解决超时未支付
•129.演示微信小程序支付
•130.微信小程序支付流程概述
•131.讲解微信小程序代码流程