下单模块(继续于订单模块)

判断是从哪个页面过来,购物车过来,删除购物车数据,是立即购买,就不用购物车。

扣减库存,礼物服务监听,然后扣减库存

库存分为

可用库存,锁定库存

页面展示,当前可购买库存 = 可用库存 -锁定库存(前端处理吧)

支付后

可用库存 减

锁定库存 =锁定库存-数量即可。

可用库存:仓库里还没有卖出去的货

锁定库存:用户下单还没有支付前。

锁定库存如何做

自己定义个方法,锁定库存加传过来的数量

根据skuId,遍历修改锁定库存

对了这里出现了,mapper多个参数,@param,有个面试题,skuid和num

删除购物车和扣减库存后最后是创建支付单

搭建一个支付服务

方案一:把钱给平台的账户,定期分钱(平台必须有资质,有拍照)

方案二:找一个有资质 ,有拍照的分账平台(要花钱)

方案三:用户支付直接把钱打到店铺账号,这不可能的 (不适合店铺入驻的项目)

发生金额 = 订单金额之和(商品总金额-优惠金额)

根据parentOrderNo 查询订单信息,将订单的金额加起来。

线下对公账户

订单取消,本地支付单要取消,第三方支付单也要取消

倒计时取消:

定时任务:简单,并发过高,会bbq。总不可能来一个就创个任务,压力太大

同步任务就用定时任务

所以订单取消就用延迟消息:不会立刻被消费,指定时间后被消费。支持高并发,下一百万订单。

实现思路就是下单时候,发送延迟消息完成订单取消,到时间没有支付,就取消订单。到时候支付了,就不管了呗。

订单状态修改为取消  支付单修改取消  扣减锁定库存

这里又要分布式事务

发送一个同步消息

查订单就用parentOrderNo

查支付单就unipayno

一个DTO到处传就行了,缺啥就拿啥。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值