-
订单部分-订单数据保存(API接口设计与实现-订单事务说明&mysql事务操作回顾)
在进行订单保存时,涉及到数据库的操作应该放在同一个事务中,要么同时成功,要么同时失败。 mysql事务:一组sql语句,同时成功或同时失败。
-
订单部分-订单数据保存(API接口设计与实现-订单事务使用)
答: from django.db import transaction with transaction.atomic(): # with语句块中的代码,凡是涉及到数据库的操作,在进行数据库操作时会放在同一事务中 # 设置事务保存点 sid = transaction.savepoint() # 你的代码... # 回滚到指定sid保存点 transaction.savepoint_rollback(sid) # atomic:会自动开启事务和事务提交或回滚。
-
订单部分-订单数据保存(API接口设计与实现-订单并发问题说明)
描述: 当多人同时购买同一个商品时,可能会产生订单并发问题。 根本原因: 当每个客户端请求服务器时,服务器都会给客户端创建一个进程或线程来调用对应的API接口,因为CPU调度进程线程的顺序是不确定的,在不确定的过程中,就可能会出现订单并发。
-
订单部分-订单数据保存(API接口设计与实现-订单并发问题解决-悲观锁)
事务中查询数据的时候尝试对数据进行加锁(互斥锁), 获取到锁的事务可以对数据进行操作,获取不到锁的事务会阻塞,直到锁被释放。
-
订单部分-订单数据保存(API接口设计与实现-订单并发问题解决-乐观’锁’)
乐观锁本质上不是加锁,查询数据的时候不加锁,对数据进行修改的时候需要进行判断,修改失败需要重新进行尝试。
-
订单部分-订单数据保存(API接口设计与实现-订单并发问题解决-mysql事务隔离级别)
乐观锁需要配合将mysql事务的隔离级别改为读取已提交。
-
订单部分-订单数据保存(提交订单成功页面)
-
订单部分-订单支付(支付效果演示)
-
订单部分-订单支付(支付信息数据表设计&模型类定义)
支付信息表和订单基本信息表是一对一的关系。
-
订单部分-订单支付(对接支付宝-线上环境&沙箱环境)
-
订单部分-订单支付(对接支付宝-密钥配置)
1. 生成网站的私钥和公钥 openssl 2. 在沙箱环境设置网站的公钥,同时获取支付宝公钥
-
订单部分-订单支付(对接支付宝-支付宝开发文档&Python SDK)
SDK: 软件开发工具包,对原生的API接口进一步封装,方便开发者进行相应接口的调用。 安装python支付宝SDK: pip install python-alipay-sdk --upgrade
-
订单部分-订单支付(对接支付宝-支付宝支付开发流程)
后端API: 1)获取支付宝支付网址 2)保存支付结果信息
-
订单部分-订单支付(获取支付网址-API接口设计与实现)
API接口设计: GET /orders/(?P<order_id>\d+)/payment/ 参数: 通过请求头传递jwt token 通过url地址传递订单id 响应: { "alipay_url": "支付宝支付网址" }
-
订单部分-订单支付(获取支付网址-前端vue逻辑)
day10-项目视频目录
最新推荐文章于 2021-11-17 08:00:00 发布