如何从地址拦截器更改一个订单的 OrderStatus? Hybris 商业
How to change the OrderStatus of one Order from an Address Interceptor? Hybris Commerce
我在 Hybris Commerce 自定义项目中工作,这是我的案例:
1 - 我有一个 Interceptor
用于 AddressModel
,当我插入或更新时它是 运行。
2 - 当我更新地址中的值时,我必须更改 Order.Status
值。
如果有人知道如何从 Address 获取 de OrderModel 来设置一个值,那就太好了!
在您的地址拦截器中,抓住 OrderModel
并使用模型服务来保存您的订单模型对象。
类似于modelService.save(order);
如果订单是地址的所有者,您可以通过addressModel.getOwner()
从地址模型中获取所有者订单的句柄。否则,您可以选择使用 flexibleSearch.getModelByExample
或启动自定义灵活查询从数据库加载它。
希望对您有所帮助!
注意:Hybris 在订单创建期间将订单作为所有者保存到 Addeess 中。因此,可以通过调用 orderModel.getOwner() 来获取订单的交货或付款地址。
我的解决方案是..
OrderModel orderModel = (OrderModel) addressModel.getOwner();
铸造你可以获得完整的对象并改变状态。我在设置我的值后保存它,使用模型服务:
orderModel.setValue(true);
modelService.save(orderModel);
谢谢大家!
我在 Hybris Commerce 自定义项目中工作,这是我的案例:
1 - 我有一个 Interceptor
用于 AddressModel
,当我插入或更新时它是 运行。
2 - 当我更新地址中的值时,我必须更改 Order.Status
值。
如果有人知道如何从 Address 获取 de OrderModel 来设置一个值,那就太好了!
在您的地址拦截器中,抓住 OrderModel
并使用模型服务来保存您的订单模型对象。
类似于modelService.save(order);
如果订单是地址的所有者,您可以通过addressModel.getOwner()
从地址模型中获取所有者订单的句柄。否则,您可以选择使用 flexibleSearch.getModelByExample
或启动自定义灵活查询从数据库加载它。
希望对您有所帮助!
注意:Hybris 在订单创建期间将订单作为所有者保存到 Addeess 中。因此,可以通过调用 orderModel.getOwner() 来获取订单的交货或付款地址。
我的解决方案是..
OrderModel orderModel = (OrderModel) addressModel.getOwner();
铸造你可以获得完整的对象并改变状态。我在设置我的值后保存它,使用模型服务:
orderModel.setValue(true);
modelService.save(orderModel);
谢谢大家!