购物后台处理,如何批量验证库存是否足够,效率高点呢?

我现在从前台获得一个集合的订单信息,里面有产品的信息吧,包括购买数量buyNum。比如现在一共买了20种东西,有20个购买量,现在,我该怎么验证数据库中的storeNum是否满足呢?

如果某一种或多种库存不够,又如何处理返回信息?

如果直接用事务,又怎么回复那些不够的信息给前端呢?

我是一个个循环它呢,还是有什么更好的方法。第一次干,请指教一下,实际怎么做才好。

我用的是springMVC,hibernate,jpa

===========================================
现在问题来,我已经用事务去完成。但是当回滚的时候,如果提示信息给前端,是哪种货物库存不足呢?

阅读 3.3k
3 个回答

怎么提问实际应用的问题,没什么人回答呢!!!

一次查询出所有要检查的商品的库存,再统一遍历验证

---比如我做的(给人擦屁股),约束不为负数.减库存失败就是库存不够了.....

上面用pad回复的太简略了,被踩了,不过确实是在给某个不靠谱的“架构师”擦屁股时写的。当时架构已经没法更改。

oracle数据库,库存列设置 >0约束。
事务开始
select 行锁获取库存。
//可以判断是否为0
update count=count-1 解锁
commit
多商品时,如果提交一个事务,会在某个商品库存不足时全部rollback,所以单商品操作。
这是擦屁股时写的逻辑。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进