最近在做订单金额处理的时候,摸索了很多,总是想在订单进入系统商品情况发生以后,系统能自动同步修改对应的订单金额.
而考虑的时候,就又要同步考虑到各种情况,比如拆分合并,添加,取消,赠品,优惠,退款等.
在我百思不得其解的时候,突然想到一个单据对冲的概念.
这个概念之前也面试别人的时候,也听到别人提起过,但是没有留心,现在突然再次想到,终于彻底理解了,有种豁然开朗的感觉.
单据进入系统,就已经形成一个既定的事实,如果要添加取消商品,那么就是对改事实的一次变更,如果要进行变更,那么就需要有个相对应的单据,
通过单据来同步修改对应的数值,这样就有据可依,有据可循了.
因此,这些金额的变更就完全不需要程序来自动根据不同情况进行判断了,如果要入款或退款,那么就需要同步添加对应的单据,然后系统根据单据来进行对冲即可.