首页 > 编程语言 >Java微服务项目【动力商城】企业级实战项目直击大厂

Java微服务项目【动力商城】企业级实战项目直击大厂

时间:2023-08-09 18:04:39浏览次数:42  
标签:Java 直击 微信 用户 查询 商品 列表 企业级 购物车

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.讲解微信小程序代码流程


标签:Java,直击,微信,用户,查询,商品,列表,企业级,购物车
From: https://blog.51cto.com/u_12349365/7023430

相关文章

  • MySQL和Java中的货币字段类型选择
    引言在互联网应用中,处理货币是一项常见的任务。为了确保准确性和精度,我们需要选择适当的字段类型来存储货币数据。本文将讨论在MySQL和Java中记录货币时应选择的字段类型,并提供相应的代码示例。MySQL中的货币字段类型在MySQL中,我们可以使用DECIMAL数据类型来存储货币数据。DECIM......
  • 【校招VIP】java语言考点之基本数据类型
    考点介绍:基本数据类型的长度、自动升级、JVM存储和封装类的相关考点,是校招常见考点。基础考点不能出错一、考点题目1、JAVA中的几种基本数据类型是什么,各自占用多少字节解答:先了解2个单词先:1、bit--位:位是计算机中......2、byte--字节:字节是......2、JAVA是不是完全的面向......
  • 基于Java开发的企业级数字化采购系统(SRM)
    一、项目介绍一款全源码可二开,可基于云部署、私有部署的企业级数字化采购管理系统,供应商全生命周期管控,公开询价管理,招标,定标,评审,生成订单,送货,收货全流程管理,让企业采购全程数字化管控,助力企业全面提升效率与效益。电子化采购全闭环管理,打造企业高效透明采购平台。二、项目技......
  • 快速了解JavaScript的JSON
    JSON是用于存储和传输数据的格式。JSON通常用于服务端向网页传递数据。1什么是JSON?JSON英文全称 JavaScript Object NotationJSON是一种轻量级的数据交换格式。JSON是独立的语言 *JSON易于理解。2JSON语法基本上JSON对象就是基于JavaScript对象,因......
  • 老杜 JavaWeb 讲解(二十) ——Listener监听器
    (十八)Listener监听器引子:静态代码块packagecom.zwm.javaweb.servlet;/***@author猪无名*@date2023/8/81347*discription:*/publicclasstest2{//静态代码块在类加载时执行,并且只执行一次。//这个语法很简单,但什么时候用?很疑惑//假如,你希......
  • JavaScript用法
    JavaScript用法HTML中的JavaScript脚本代码必须位于<script>和</script>标签之间。Javascript脚本代码可被放置在HTML页面的<body>和<head>部分中。<script>标签<script>和</script>之间的代码包含了JavaScript<!DOCTYPEhtml><htmllang="en">......
  • JavaScript:表单生成器
    JavaScript:表单生成器一条小橘猫于2021-12-0116:10:56发布3393收藏38分类专栏:JavaScript文章标签:经验分享javajavascripthtml前端版权华为云开发者联盟该内容已被华为云开发者联盟社区收录加入社区JavaScript专栏收录该内容45篇文章55订阅已订阅表单属性有姓......
  • Java源代码是如何编译,加载到内存中的?
    1.前言相信许多开发同学看过《深入理解java虚拟机》,也阅读过java虚拟机规范,书籍和文档给人的感觉不够直观,本文从一个简单的例子来看看jvm是如何工作的吧。本文所有操作均在mac上进行。2.示例代码示例代码采用最常见的双重检索单例模式:packageinterview.desginpattern.single......
  • Java遍历集合(List,Map)
    遍历ListpublicvoiditeratorList(){List<String>list=newArrayList<>();list.add("a");list.add("b");//方法1使用iterator遍历Iterator<String>iterator=list.iterator();w......
  • netty_2、Java NIO
    参考:NIO详解(Java):https://juejin.cn/post/6844903605669986317ByteBuffer(内存缓冲区):https://blog.csdn.net/u010430495/article/details/860871541、NIO基础JavaIO是阻塞的,当用户进行数据读写时,首先会由系统去等待数据准备(查看内核空间中有没有数据),等待内核数据准备......