概述

在做电商项目的时候,会涉及到库存扣减的问题,稍微复杂的情况是,多仓库库存扣减,比如说:
仓库warehouse1有4件商品,warehouse2有3件商品,这个时候用户需要买7件商品,这样无论哪个仓库都不够扣减,
这种情况下,会使用多仓库库存扣减的逻辑,warehouse1和warehouse2两个仓库的库存之和是3+4=7,是足够扣减6件的。

简单代码

public class Stock {/*** 库存id*/private Long stockId;/*** 剩余库存数量*/private Integer leavingNum;/*** 仓库*/private String warehouse;public Integer getLeavingNum() {return leavingNum;}public void setLeavingNum(Integer leavingNum) {this.leavingNum = leavingNum;}public Long getStockId() {return stockId;}public void setStockId(Long stockId) {this.stockId = stockId;}public String getWarehouse() {return warehouse;}public void setWarehouse(String warehouse) {this.warehouse = warehouse;}}
public class InvReduceTest {public static void main(String[] args) {List<Stock> stockList = new ArrayList<>();Stock stock1 = new Stock();stock1.setStockId(1L);stock1.setLeavingNum(4);Stock stock2 = new Stock();stock2.setStockId(2L);stock2.setLeavingNum(3);stockList.add(stock1);stockList.add(stock2);LinkedHashMap<Long, Integer> stockIdNumMap = new LinkedHashMap<>();int needReduceSumNum = 6;for (Stock stock : stockList) {if (needReduceSumNum <= 0) {break;}int ocpNum = Math.min(stock.getLeavingNum(), needReduceSumNum);needReduceSumNum = needReduceSumNum - ocpNum;stockIdNumMap.put(stock.getStockId(), ocpNum);}System.out.println(JSON.toJSONString(stockIdNumMap));}
}

由于是多个仓库进行库存扣减,所以需要算出每个仓库具体要扣减多少件,如上面的代码.

库存管理-多个仓库库存扣减-简单算法相关推荐

  1. 电商扣减库存_库存管理:看懂库存扣减方式,至少不会卖错货

    在电商后台库存管理系统中,看懂库存扣减方式,是很重要的,最起码可以避免不要卖错货. 在电商后台库存管理系统中,影响库存的行为,主要是入库和出库,出入库的主要内容可分为货位.调拨业务.盘点业务. 1)货 ...

  2. java 电商锁库存实现_电商项目扣减库存方案

    阿里巴巴b2b电商算法实战电子商务 85.3元 包邮 (需用券) 去购买 > 各位小宝贝们,大家是不是在面试过程中经常被问到,你电商项目扣减库存时,到底是下单减库存呢?还是付款减库存? 那今天给 ...

  3. java仓库库存清单_说仓库库存管理

    库存管理最重要的是要有一套明确的跟踪管理流程,如用批次库存,那么我就必须找出他对应的入库\出库\调拨单等,并在批次库存表中加入验证数量,然后用库存实际数量跟验证数量比,如有库存差异,则及时给用户提醒, ...

  4. 电商扣减库存_做采购的您怎么能不懂电商仓储管理呢?

    在我国,目前有很多小型电商企业,其仓库面积都在1000平以内,由于前期对营销的专注,对仓库的忽视,包括对设施设备的投入,导致了今天仓库工作效率低下,库存混乱,运作成本高等诸多问题,以下我们来细细诉说. ...

  5. 电商扣减库存_电商仓库管理的难点与解决方案

    在我国,目前有很多小型电商企业,其仓库面积都在1000平以内,由于前期对营销的专注,对仓库的忽视,包括对设施设备的投入,导致了今天仓库工作效率低下,库存混乱,运作成本高等诸多问题,以下我们来细细诉说. ...

  6. 【Redis 如何实现库存扣减操作】

    在日常开发中有很多地方都有类似扣减库存的操作,比如电商系统中的商品库存,抽奖系统中的奖品库存等. 解决方案 使用mysql数据库,使用一个字段来存储库存,每次扣减库存去更新这个字段. 还是使用数据库, ...

  7. Redis实现库存扣减操作

    具体关于lua脚本的内容使用请移步至 redis命令参考–Script脚本 : http://doc.redisfans.com/script/index.html 在日常开发中有很多地方都有类似扣减 ...

  8. 关于redis做秒杀库存扣减的生产实践及思考

    前言 近期组员接手了一个领券的业务,涉及到了对券批次库存的扣减操作,在多次尝试优化后压测起来仍有一些性能问题,由于接近deadline,于是自己也尝试上手优化了一下.让我对日常在论坛看到的redis秒 ...

  9. 【万级并发】电商库存扣减如何设计?不超卖!

    随着中国消费认知的不断升级,网购走近千家万户,越来越被人们所接受.淘宝.唯品会.考拉.京东.拼多多等逐渐成为我们生活的重要组成部分. 除了常规的购物下单外,这些电商平台还经常搞一些双十一活动,秒杀.大 ...

最新文章

  1. 易能变频器说明书故障代码_易能变频器故障代码大全是什么?E013故障是什么?...
  2. 黑入苹果特斯拉竟如此容易!这位鬼才的攻击方法火了,微软等35家公司一起悬赏...
  3. C#里的登陆关闭问题。
  4. linux下python安装opencv库_Linux下怎么配置python和opencv
  5. Centos7找不到ifconfig和netstat命令
  6. springmvc_3(将数据放入map中)
  7. 查看MySQL的当前日期
  8. 时隔一年俺又回来了..
  9. Tomcat启动项目没问题,网页一片空白
  10. mybatis-plus对datetime返回去掉.0_0欧姆电阻到底有没有用?这12个作用说明其不可或缺...
  11. 你不专业并且自以为是,所以被坑
  12. android 蓝牙ble调试助手,BLE蓝牙调试助手app下载
  13. MACD顶背离和底背离是什么(图解)
  14. 使用代理服务器哪些风险?
  15. java生成二维码图片
  16. 计算机找不到WPS云盘,wps网盘在哪里打开及如何应用?
  17. Android中WebView,打开第三方应用的问题
  18. 网络推广宝 v2007 官方
  19. 请在mysql配置文件修sql-mode或sql_mode为NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTIT windows下设置mysql的sql_mode
  20. print spooler 启动错误 1068依赖服务或组无法启动 解决方法

热门文章

  1. 第四代微软小冰:情感框架升级+全时感官+融入社会
  2. call与apply
  3. C++中list的front()和begin()
  4. 2018中山大学计算机复试文件,2018中山大学考研复试:人数及录取人数决定复试专业课的难度...
  5. 手机怎么改伪原创视频 视频md5是什么文件
  6. EpsonL365无线连接问题
  7. NDK34_RTMP:摄像头调用预览
  8. 魅族android 10内测答案,魅族Flyme内测招募:10款机型升级Android 10!
  9. 每天一点正能量 - 幸福需要一点点的积累
  10. c语言程序全排列算法思路,深入全排列算法及其实现方法