完整电商项目--(八)商品订单模块(1):订单结算与 mysql事务

本文详细解析电商系统中订单结算流程,包括数据验证、业务处理、订单数据表设计及使用MySQL事务确保数据一致性。强调了在订单创建过程中,后端自动生成订单号,处理商品价格计算,以及如何在一对多的订单商品关系中保持数据准确。

订单结算页面

  • 位置:在购物车中选择好商品之后,就 可以点击 去结算按钮,进入到这个结算页面
    没有打来fastdfs服务,所以加载不出图片

  • 这里最关键的一点是:

    • 涉及到金钱的交易,要保证数据的准确性!
    • 我们不能相信前端 传递过来的 商品价格信息,而是应该自己根据redis当中勾选的商品id,进行计算价格。
  • 其他的并没有什么好说的,前端需要的数据从后端传递过去即可

    • (1)用户地址信息
    • (2)支付方式选择
      • 支付方式,我们 直接选择是0,1就可以代表那种支付方式了,方法很多
    • (3)商品信息
    • (4)运费:这是一个复杂的地方(但是我们没有运费系统,所以不管买啥都是,运费都是默认十元
      在这里插入图片描述

重点:提交订单

创建订单数据表

注意事项:

  • (1)订单号不再采用数据库自增主键,而是由后端生成。
  • (2)一个订单中可以有多个商品信息,订单基本信息和订单商品信息是一对多的关系

订单表介绍

在这里插入图片描述

  • 一般都是订单完成之后才有的商品评论,这里很符合实际

提交订单数据:

  • 只需要(1)订单地址
  • (2)支付方式
  • 其余的均可以自己通过后端获取。 比如总价格,购买哪些商品,都可以从数据表,或者是redis当中得到。
    在这里插入图片描述
  • 点击提交订单时面就是这个地址,看到我们只传递了两个数据。
    在这里插入图片描述

保存订单中的数据处理操作(业务逻辑复杂,代码不难,前面都写过)

  • (1) 创建订单基本信息对象
  • (2) 查询选中的购物车数据
  • (3) 查询sku商品对象
    • 3.1 判断商品库存,不足则提示
    • 3.2 库存足够继续执行
    • 3.3 修改商品的库存,销量
    • 3.4 创建订单商品表对象
  • (4) 删除购物车种选中的商品数据

首先是数据验证和加载

		# 接收
        dict1 = json.loads(request.body.decode(
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值