数据库设计:销售订单和退货订单存一起,退货订单有一字段指向原订单。
如果顾客要退货,原订单的行项目要跟它已经产生的退货单的行项目进行"减"操作。才能知道此时还有哪些商品可退。
“订单”是个实体,不是“值对象”。但好像有这种要求:
可退货行项目 = 原单行项目 - 所以已退货行项目
[该贴被admin于2009-07-21 16:21修改过]
数据库设计:销售订单和退货订单存一起,退货订单有一字段指向原订单。
如果顾客要退货,原订单的行项目要跟它已经产生的退货单的行项目进行"减"操作。才能知道此时还有哪些商品可退。
“订单”是个实体,不是“值对象”。但好像有这种要求:
可退货行项目 = 原单行项目 - 所以已退货行项目
[该贴被admin于2009-07-21 16:21修改过]
可退货订单 = 原单 - 退货单
这三个都是同一个实体
不能解决问题,如果该行项目的数量是10,我只要退2两个,
back就成了尴尬的属性。
|
你可以做一个Specification,用来进行可退加减规则计算就可以。
但我觉得这样做不是很好。而且如果明细里有特殊的东西,处理就复杂了。比如说运费也是一个订单里的明细,该明细的数量永远都是1.
运费也是可以部分退的,虽然代码已经实现,感觉不是很优雅,也不好扩展。