【发布时间】:2020-07-21 22:44:06
【问题描述】:
我有两个聚合
项目和价格调整。
价格调整将包含项目调整,即对于特定项目,将其提高 x%(例如 10%)
我的商品有一个需要更新/调整的标价。
因此,在处理价格调整时,它将找到该项目并需要按特定百分比调整该项目的标价。调整完成后,需要将调价中的项目调整标记为完成
我的问题是,这种对标价的更新和对商品调整的标记是如何组成事件的?
我更新标价并将项目调整标记为已完成以下事件的正确方法是什么?
这是一个正确的解决方案吗?:
- 调用AdjustListPrice等item函数,传入要调整的id、百分比等价格调整信息。
- 然后引发诸如 ItemListPriceAdjusted 之类的事件,让价格调整监听,以便它可以将调整标记为完成并引发另一个事件,例如 itemPriceadjustmentCompleted
如果这是正确的方法,是否应将新计算的标价添加到 ItemListPriceAdjusted 价格中,还是应仅添加调整百分比,然后在应用/从聚合中读取时计算?
谢谢
编辑:
我目前使用的选项是在处理价格调整时,它将通过每个项目调整。
它将找到它所针对的项目并调用该函数 AdjustPrice(Guid priceAdjustmentId,小数adjustmentPercentage)
这将计算该商品的新标价,并且该商品将发出一个 ItemPriceAdjusted 事件,其中包含价格调整 ID、新标价和新标价
然后价格调整将监听这些事件并将相关的项目调整标记为完成,进而发出自己的 ItemAdjustmentCompleted 事件
【问题讨论】:
标签: events aggregate domain-driven-design domain-events