微服务商城系统订单、支付流程分析.docx

? ? ? ? ? 微服务商城系统订单、支付流程分析 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 文章目录 一、订单 1、登录页面配置 2、用户收件地址查询 3、 下单 (1)表结构介绍 (2)下单实现 (3)库存变更 (4)增加积分 二、 支付流程分析 1、 二维码创建 2、微信扫码支付简介 (1)微信扫码支付申请 (2) 开发文档 (3)微信支付模式介绍 三、总结 一、订单 1、登录页面配置 ???? 前面使用的都是采用 Postman 实现登录,现在实现 oauth 自定义登录。 先 将登录相关的静态资源导入到 changgou-user-oauth 中: 导入 thymeleaf 模板引擎依赖: !--thymeleaf-- dependency groupIdorg.springframework.boot/groupId artifactIdspring-boot-starter-thymeleaf/artifactId /dependency 提供控制器 com.changgou.oauth.controller.LoginRedirect,实现登录页跳转: @Controller @RequestMapping(value = /oauth) public class LoginRedirect { /*** * 跳转到登录页面 * @return */ @GetMapping(value = /login) public String login(){ return login; } } 针对静态资源和登录页面,我们需要实现忽略安全配置,并且要指定登录页面。修改com.changgou.oauth.config.WebSecurityConfig 的 2 个 configure 方法: 第 2 个 configure 配置: 测试: 点击登录按钮,访问之前的登录方法实现登录,需要对登录页做一下调整。 首先,修改 login.html,引入 thymeleaf 命名空间: 点击登录按钮,使用 vue+axios 实现登录,需要定义脚本,访问后台登录方法。 先添加 vue 入口标签,修改 login.html,添加id=“app” : 引入 js: 登录脚本实现: 修改表单: 测试:输入用户名和密码都是 changgou,点击”登录“按钮,页面显示 ”正在登录“后跳转至: 用户未登录的时候,并清除 Cookie ,直接访问购物车: ???? 可以看到,返回的只是个错误状态码,不方便测试,可以设置为重定向到登录页面,让用户登录。需要修改网关的头文件,让用户每次没登录的时候,都跳转到登录页面。 ???? 修改 changgou-gateway-web 的 com.changgou.filter.AuthorizeFilter,代码如下: ????此时再测试,未登录时访问购物车页面,就可以跳转到登录页面了。当然,在实际应用中,这里不能直接跳转到登录页,应该提示状态给页面,让页面根据判断跳转,这里只是为了方便测试。 ????现在还有个问题,如果未登录访问购物车,会跳转到登录页面,但是登录成功后,却并没有再返回到要访问的购物车页面。可以将用户要访问的页面作为参数传递给登录控制器,登录控制器记录下来,每次登录成功后,再跳转记录访问路劲参数指定的页面。 ????先修改网关,携带当前 URI。修改 changgou-gateway-web 的 com.changgou.filter.AuthorizeFilter,在之前的 URL 后面添加 FROM 参数以及 FROM 参数的值为 request.getURI(),代码如下: 再修改 changgou-user-oauth 的 com.changgou.oauth.controller.LoginRedirect 记录访问来源页,使 认证服务器获取 FROM 参数: @GetMapping(value = /login) public String login(@RequestParam(value = FROM,required = false,defaultValue = ) String from, Model model){ model.addAttribute(from,from); return login; } 修改页面,获取来源页信息,并存到 from 变量中,登录成功后跳转到该地址。 这里的计时跳转逻

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档