我正在尝试创建我的自定义web服务,我想在购物车中应用一个全局折扣并重新计算它。我已经为OCC调用创建了一个自定义的addOn,但是我很难理解DTO的概念以及如何实现我的方法。基本上,到目前为止,我用于添加全局折扣的代码如下:
我应该在哪里实施DTO?我能用GlobalDiscountRowDTO吗?以及如何修改代码以确保我使用的是最佳实践?
谢谢!
发布于 2015-04-06 16:54:25
请注意,*DTO类被称为*数据(例如,GlobalDiscountRowData)类。数据类的目的是将信息从模型层传递到视图层(例如,web控制器将返回数据对象,而不是模型对象)。
在开始创建自定义逻辑之前,请检查开箱(OOTB)功能,如: DefaultDiscountDao、DefaultDiscountService、FindOrderDiscountValuesStrategy等。
要找出基本实践,海布里软件包和扩展是一个很好的起点。只需查看OOTB类、类关系和上下文xml定义即可。
发布于 2015-04-18 07:02:12
您不能使用GlobalDiscountRowDTO,这是在可选的platformwebservices扩展中,因为它是一个不同的API (有各种REST、v1、v2和platformwebservices),因此它似乎无法与OCC扩展共享。相反,在您的addOn的*-beans.xml中定义您自己的DTO。
还要注意DiscountValue没有持久化(尝试应用DiscountValue,然后转到前面的购物车,修改购物车的内容,折扣就会消失)。相反,请查看可以持久化的DiscountModel类。
https://stackoverflow.com/questions/29469286
复制相似问题