问候所有人,
我目前遇到了一个逻辑问题,由于我一直在猜测自己,两天后我还没有解决这个问题。这是我正在做的事情的要点。
我有一个订单,进入一个网站。从逻辑上讲,它已经根据库存确定了订单上要发送的特定项目的数量。如果库存足够高,它就会发出请求的数量。
然而,有一个转折。管理员可以调整这些订单号。他们可以更改申请的金额以及发行的金额。一条规则是,它们不能发出超过请求的内容(换句话说,发出请求的<= )。下面是一个订单的示例。
收到一个数量为5个项目的请求。订单时的库存数量是4。系统获取库存,并为订单发出库存,然后为剩余项目下延交订单。
数量=5库存=4
5-4=1
出库数量=4
延交订单=1
我想出了4个场景来说明所有可能的变化。
1.)管理员将数量从5更改为4。管理员离开单独发行的金额,因为股票仍然是4,不能再高。这会导致需要删除缺货。
2.)Admin将数量从5更改为6,保持已发行金额不变(反过来,由于库存为空)。这会导致缺货订单需要更新为2。
3.)管理员不会更改数量(5)。管理员将发放金额从4更改为3。这会将一个项目添加回库存(1)。这会导致缺货保持为2。
4.)管理员将数量和发行金额都更改为4。这会使库存保持为0。由于缺货降至0,因此也删除了缺货订单。
我的问题是在代码中创建逻辑来处理这个问题。我从检查数量开始,看看它是否超过了原始数量,如果是,我检查发放的数量,看看它是否大于原始的发放数量。然后我就一直迷路。
我希望也许有人有什么想法。我真的很感谢在弄清楚这个逻辑方面的任何帮助。谢谢。
发布于 2013-03-20 22:40:27
如果已经有了实现订单的系统(计算已发布和未完成的订单编号),那么处理此问题的一种方法是逆转操作,应用管理员的更改,然后使用更改重新履行订单。
您必须在订单中添加一个或两个字段,以说明管理员的更改,并更新订单履行系统以说明指定的发放金额。
这样一来,你就不需要复杂的逻辑来修改发布的内容、延交的内容等。
https://stackoverflow.com/questions/15508856
复制相似问题