畅购微服务商城
文章平均质量分 96
畅购微服务商城实战记录
Ang Ga Ga
Rush!投入/专注/我永远爱Java。
展开
-
微服务商城系统实战 购物车实现
文章目录一、购物车1、解决请求参数中含特殊字符被截断问题2、解决访问微服务所在网关跨域问题3、登录授权后令牌的传递一、购物车1、解决请求参数中含特殊字符被截断问题 点击“加入购物车”按钮后,需要把商品的 SKU id 和 数量传给后端接口http://localhost:18090/cart/add?num=xxx&xxx,在认证登录的地址中,需要把上一步所在的路径放在参数 FROM 中,比如:http://localhost:9001/oauth原创 2021-05-20 21:51:19 · 1082 阅读 · 2 评论 -
微服务商城系统实战 后台管理页面、商家管理页面、商品列表跳转详情页
文章目录一、后台管理1、解决 height: 100% 不起作用问题一、后台管理采用左边栏多级菜单的形式,前端页面如下:1、解决 height: 100% 不起作用问题注意到左边栏的高度并没有充满页面,需要调整一下: 只将此处的 height 改成 100%,是不会奏效的,因为 Web 浏览器在计算有效宽度时会考虑浏览器窗口的打开度。如果不给宽度设定任何缺省值,那浏览器会自动将页面内容平铺填满整个横向宽度。 但是高度的计算方式完全不一原创 2021-05-18 22:04:17 · 2970 阅读 · 0 评论 -
微服务商城系统 实战记录 用户、商家、后台管理员注册与登录功能实现
文章目录 现在整个商城系统的后端逻辑基本上都实现了,接下来需要与前端页面联调起来。 用户注册需要以下信息:前端页面:对应后端方法: /*** * 新增User数据 * @param user * @return */ @PostMapping public Result add(@RequestBody User user){原创 2021-05-10 14:10:19 · 3437 阅读 · 2 评论 -
微服务商城系统 实战记录:分布式事务 Seata
4.1 undolog表结构导入核心在于对业务sql进行解析,转换成undolog,所以只要支持Fescar分布式事务的微服务数据都需要导入该表结构,我们在每个微服务的数据库中都导入下面表结构:CREATE TABLE undo_log (id bigint(20) NOT NULL AUTO_INCREMENT,branch_id bigint(20) NOT NULL,xid varchar(100) NOT NULL,rollback_info longblob NOT NULL,log原创 2021-05-03 13:59:42 · 387 阅读 · 0 评论 -
微服务商城系统(十六)秒杀核心
文章目录一、防止秒杀重复排队二、 并发超卖问题解决目标:防止秒杀重复排队【一个人抢购商品,如果没有支付,不允许重复排队抢购】并发超卖【一个商品卖给多个人:一商品多订单】问题解决秒杀订单支付超时支付订单库存回滚一、防止秒杀重复排队 可以看到,使用 Redis 中的 incr,第一回会让值增为 1,之后每次递增1。 用户每次抢单的时候,一旦排队,我们设置一个自增值,让该值的初始值为 1,每次进入抢单原创 2021-05-01 22:02:47 · 905 阅读 · 0 评论 -
微服务商城系统(十五)秒杀基础
文章目录一、秒杀业务分析1、需求2、表结构说明3、秒杀需求分析二、秒杀商品压入缓存1、搭建秒杀服务工程2、定时任务序号(表示每月的第几个周几),例如在周字段上设置"6#3"表示在每月的第三个周六.注意如果指定"#5",正好第五周没有周六,则不会触发该配置(用在母亲节和父亲节再合适不过了) ;一、秒杀业务分析1、需求 所谓 “秒杀”,就是网络卖家发布一些超低价格的商品,所有买家在同一时间网上抢购的一种销售方式。通俗一点讲,就是 网络商家为促销等目的组织的网原创 2021-04-26 14:24:15 · 871 阅读 · 0 评论 -
微服务商城系统(十四)微信支付
文章目录一、支付微服务1、微信支付 API2、HttpClient 工具类3、支付微服务搭建二、微信支付二维码生成三、检测支付状态一、支付微服务1、微信支付 API 微信支付提供了 SDK 和 Demo(然而我并没有找到 sdk,可能微信团队已经把它上传到 Maven 中了):使用微信支付SD,在 common 工程的 pom.xml 中中引入依赖<!--微信支付--><dependency> <groupId原创 2021-04-19 17:36:49 · 967 阅读 · 0 评论 -
微服务商城系统(十三)订单、支付流程分析
文章目录一、订单1、用户收件地址查询1、登录页面配置一、订单1、用户收件地址查询订单的前端页面是这样的:这里,“收件人信息”,是从 user 工程中获取到的,在数据库中对应 tb_address 表: 需要在 user 工程中提供根据用户名查询收件地址的方法。在 AddressService 中提供方法: List<Address> list(String username);实现: @Override publ原创 2021-04-14 22:44:54 · 5639 阅读 · 1 评论 -
微服务商城系统(十二)购物车、用户身份识别
文章目录一、购物车1、购物车分析2、搭建订单购物车微服务3、添加商品到购物车4、查看购物车列表5、删除购物车商品二、用户身份识别1、授权2、微服务之间的认证拦截器3、微服务认证熔断开启模式4、获取用户信息5、网关过滤三、总结????Java 序列化 JSON 时 long 型数值丢失精度问题一、购物车 购物车分为用户登录购物车和未登录购物车操作: 之前,京东是用户 登录 和 不登录 都可以操作购物车,如果用原创 2021-04-12 14:58:07 · 1959 阅读 · 1 评论 -
微服务商城系统(十一)权限控制、OAuth 动态加载数据
文章目录一、资源服务器授权配置一、资源服务器授权配置 基本上所有微服务都是资源服务。 首先,认证服务使用私钥,采用非对称加密算法 生成令牌,资源服务使用公钥 来校验令牌的合法性。 需要配置公钥,并将公钥拷贝到 public.key 文件中,将此文件拷贝到每一个需要的资源服务工程的 classpath 下 ,比如 用户微服务:解析令牌需要添加依赖:<dependency> <gr原创 2021-04-12 09:16:43 · 1235 阅读 · 1 评论 -
微服务商城系统(十) Spring Security Oauth2 + JWT 用户认证
文章目录一、用户认证分析1、认证 与 授权2、单点登录3、第三方账号登录4、第三方认证一、用户认证分析 上面流程图 描述了用户要操作的各个微服务,用户查看个人信息 需要访问 用户微服务,下单 需要访问 订单微服务,秒杀抢购商品 需要访问 秒杀微服务。每个服务都需要认证用户的身份,身份认证成功后,需要识别用户的角色,然后授权访问对应的功能,比如管理员 和 普通用户的权限对应的功能 是不一样的。 1、认证 与原创 2021-04-01 14:57:21 · 2177 阅读 · 0 评论 -
微服务商城系统(九)微服务网关与 Jwt 令牌
学习目标掌握微服务网关的系统搭建了解什么是 微服务网关 以及 它的作用(路由过滤)掌握系统中心微服务的搭建掌握用户密码加密存储 bcrypt了解 JWT 鉴权掌握 JWT 的鉴权的使用使用 JWT 令牌来存储用户登录信息,在 微服务网关 中识别登录信息 (用户的身份)掌握网关使用 JWT 进行校验掌握 网关 限流(令牌桶算法)文章目录一、微服务网关 一、微服务网关1.1 微服务网关的概述不同的微服务一般会有不同的网络地址,而外部客原创 2021-03-28 22:08:04 · 672 阅读 · 0 评论 -
微服务商城系统 实战记录:生成商品详情页
文章目录一、需求分析二、商品静态化微服务创建三、生成静态页1、Feign 创建2、 生成静态页实现3、模板填充一、需求分析 当系统审核完商品,需要将商品详情页进行展示,采用静态页面生成的方式生成,并部署到高性能的 web服务器 中进行访问。开发流程如下图所示: 可以看到,系统管理员修改或者审核商品的时候,会触发 canal 监控数据,canal 微服务获取修改数据后,调用静态页微服务的方法,生成静态页。二原创 2021-03-24 17:29:26 · 573 阅读 · 0 评论 -
微服务商城系统(八)Thymeleaf 实现静态页
文章目录一、Thymeleaf1、Thymeleaf 介绍2、SpringBoot 整合 thymeleaf3、基本语法二、搜索微服务架构1、搜索工程搭建2、搜索数据填充3、关键字、搜索条件回显一、Thymeleaf1、Thymeleaf 介绍 先了解模板的概念,模板 是 将一些重复内容写好,其中某些可能发生变化的内容,采用占位符方式动态加载,比如 JSP。 模板引擎 是 基于写好的模板,动态给写好原创 2021-03-24 11:46:03 · 585 阅读 · 0 评论 -
微服务商城系统(七)商品搜索 数据统计、过滤、分页、排序、高亮搜索
文章目录一、品牌统计二、规格统计三、分类和品牌过滤四、规格过滤五、价格区间查询六、分页实现 可以看到,在前端页面中,我们在上篇实现了按照 “分类” 进行分组,接下来需要按照 “品牌” 进行分组,展示用户选中的品牌对应的商品。 一、品牌统计 如果是写 SQL 语句,在执行搜索的时候,第 1 条 SQL 语句是执行根据关键字搜索,第 2 条语句 是 根据 品牌原创 2021-03-11 14:56:28 · 967 阅读 · 0 评论 -
DSL 语句使用入门
Query DSL 是一个 Java 开源框架,用于构建 类型安全 的 SQL 查询语句。采用 API 代替传统的拼接字符串 来构造查询语句。 目前 Querydsl 支持的平台包括 JPA,JDO,SQL,Java Collections,RDF,Lucene,Hibernate Search。Elasticsearch 提供了一整套基于 JSON 的查询 DSL 语言来定义查询。 Query DSL当作是一系列的抽象的查询表达式树 (AST) 特定查询原创 2021-03-07 22:12:07 · 4192 阅读 · 1 评论 -
微服务商城系统(六)商品搜索 SpringBoot 整合 Elasticsearch
文章目录一、Elasticsearch一、Elasticsearch 采用 Docker 安装 Elasticsearch。(1)docker 镜像下载docker pull elasticsearch:5.6.8(2)安装 es 容器docker run -di --name=changgou_elasticsearch -p 9200:9200 -p 9300:9300 9200 端口是 W原创 2021-03-07 22:11:34 · 1148 阅读 · 3 评论 -
微服务商城系统 实战记录:广告同步
文章目录一、搭建广告微服务二、广告查询三、广告同步四、总结代码见 https://github.com/betterGa/ChangGou 可以看到,需要一个广告微服务,当它执行广告操作的时候(比如 查询),会记录 操作日志 binlog 到 MySQL,然后将 操作日志 发送给 canal ,canal 将操作记录发送给 canal 微服务 ,canal 微服务根据修改的分类 ID 调用 content原创 2021-03-04 20:53:12 · 387 阅读 · 3 评论 -
微服务商城系统(五)lua、Canal 实现广告缓存
文章目录一、学习目标二、首页分析一、学习目标Lua 简单使用 Lua 语法 输出、变量定义、数据类型、流程控制 (if…)、循环操作、函数、表 (数组) 、模块。 Lua 用作 广告缓存操作 广告缓存载入与读取。 OpenResty 理解配置 OpenRes原创 2021-03-04 11:09:19 · 627 阅读 · 2 评论 -
微服务商城系统(四)商品管理
文章目录一、SPU 与 SKU1、SPU 与 SKU概念 对于商品的管理来说,新增 商品,需要 增加 SPU 和 SKU;修改 商品,需要 修改 SPU 和 SKU (新增 与 修改,和上篇博客中管理的 tb_template、tb_spec、tb_para 模板、规格、参数表,还和 tb_sku 某款商品中某类商品的信息表、 tb_spu 某款商品中某类商品的信息表 有关);审核,需要 修改审核状态;上架下架,需要 修改上架下架状态。 &nbs原创 2021-02-28 20:19:58 · 1888 阅读 · 0 评论 -
微服务商城系统(三) 分布式文件存储 FastDFS
文章目录一、 分布式文件存储 FastDFS1、简介2、工作原理3、文件上传流程4、框架搭建二、文件上传1、文件信息封装一、 分布式文件存储 FastDFS1、简介 FastDFS 是一个 开源的 轻量级 分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。 特别适合以文件为载体的在线服务,如相册网站、视频网站等等。 Fast原创 2021-02-25 15:52:13 · 776 阅读 · 0 评论 -
微服务商城系统 实战记录:相册、模板、规格、参数管理
文章目录一、相册管理 上篇博客 https://blog.csdn.net/weixin_41750142/article/details/113869062 中对 brand 品牌表 进行了增删改查,这篇博客将记录对 相册、规格、模板、参数 的增删改查的实战,记录下自己的思路和代码后,再与老师给的作比较和更正。 几个表结构如下所示:相册 tb_allb原创 2021-02-24 22:45:59 · 335 阅读 · 0 评论 -
微服务商城系统(二)品牌的增删改查
文章目录一、品牌的增删改查(1)查询所有品牌商品(2)根据品牌 ID 查询商品(3)添加品牌(4)根据品牌 ID 修改商品(5)删除品牌(6)多条件查询(7)分页查询(8)多条件分页查询(9)全局异常处理器(总结)???? 补充:POJO 接下来,主要是做品牌的增删改查了。一、品牌的增删改查先来看 tb_brand 品牌表: 可以看到,属性依次是 主键 id、品牌名称 name、图片 image、首字母原创 2021-02-20 09:36:36 · 1108 阅读 · 0 评论 -
微服务商城系统(一)框架搭建、商品微服务搭建
文章目录一、框架搭建(话说,如果只会增删改查,很容易被代码生成器取代 ???? 。)一、框架搭建需要知道 通用Mapper 和 PageHelper,原创 2021-02-19 17:56:52 · 4767 阅读 · 7 评论