京东我们提交了订单但没有付钱,后台商品数量如何控制

血滴子java程序员 发布于 2017/05/06 17:08
阅读 1K+
收藏 0

比如像京东,选好了商品,提交了订单,它会有一个15分钟的付款倒计时,那京东是如何控制这个商品库存数量的,是在提交订单的时候就把库存减了吗,急急急急急急急(最好java语言分析)

加载中
0
boyTise
boyTise

我的思路。

1、去更新这个库存表肯定要用到线程同步。

2、提交了订单,减掉库存。完成付款不操作。取消订单返还库存数。

3、倒计时结束。取消订单(或者怎么办看具体的业务)。返还库存数。

boyTise
boyTise
回复 @血滴子java程序员 : 这个肯定是同步的不然就出问题。 1、要不就单独开服务就是专门处理库存这个。 2、也可用缓存来处理。只是在真正发生改变才更新到数据库
血滴子java程序员
并发太高,如果是多节点服务器咋办
0
MockMan
MockMan

冻结就可以了

血滴子java程序员
如何冻结
0
OSC-Gitee
OSC-Gitee
提交订单没付款库存是不减少的,但是对应的资源如具体的商品是被保留的,参照软删除,同时设置定时任务,在定时任务执行之前付款,会取消定时任务
OSC-Gitee
OSC-Gitee
加的字段在商品表,一般情况下,下订单直接付款的时候,商品表里的对应商品直接就改变状态为已卖出,只是在这个状态加一个状态类型,查询数量的时候通过sql控制查不查某个状态。
血滴子java程序员
奖品数量在商品表里,你加的这个字段得在订单表里,用户提交订单的时候肯定先要查询商品表中商品数量,你在订单表中加字段(意思是提交订单先把奖品数量减一,未付款再根据status把奖品数量再加回来吗)
OSC-Gitee
OSC-Gitee
加一个字段,比如status,当值为0标识订单已付款,1标识订单未付款,2标识无订单
血滴子java程序员
奖品数量剩5个,一个用户提交订单,锁定一个奖品,如何对奖品数量进行软删除啊
返回顶部
顶部