我试图将遗留的订单处理和库存系统重构为一个更干净的面向服务的事件驱动体系结构。然而,我很难决定哪些服务应该负责预订/分配库存。
对现行制度的概述
销售订单是通过第三方系统向我们下的,但我们不一定有所有的订单线在库存。
- If an order item is in stock then we allocate/reserve the stock for that order straight away.
- However, if we do not have enough stock then we procure the stock from our suppliers vi
我已经构建了一个库存更新脚本--在这里,我在Magento中获取一个产品集合,并在执行过程中遍历结果集,更新产品库存(基于单独的库存提要)。
我可以把收集的产品拿来,没问题。
然而,我只想得到产品,其中“管理库存”字段(在“库存”选项卡下的管理下拉)设置为“是”。
所以我试着:
// get all magento catalog products with "manage stock" field set to yes
$items = Mage::getModel('catalog/product')->getCollection();
$items
我读过Mkyong的这个伟大的关于Hibernate中一对多关系的文章,我对此有很大的怀疑。Mkyong在他的示例中使用了两个clase:Stock.java and StockDailyRecord.java
我认为类图必须是:“股票有许多库存透析记录”,因此,作为数据库实体关系图,必须是:“库存一对多的库存透析记录”。
但是Mkyong已经走得更远了,这里是我怀疑的地方。他设置了一个名为Stock stock on the StockDialyRecords class的属性。也就是说,他创造了一个的双向关系。这是对的?我知道这条路对ORM来说,我们可以朝两个方向走。但从图类来看,的观点是