如何从地址拦截器更改一个订单的orderstatus?海布里斯商业

e3bfsja2  于 2021-07-26  发布在  Java
关注(0)|答案(2)|浏览(284)

我在一个hybris commerce定制项目中工作,这是我的案例:
我有一个 Interceptor 为了 AddressModel ,它在我插入或更新时运行。
2-我得换衣服 Order.Status 更新地址中的值时的值。
如果有人知道如何从地址获取deordermodel来设置一个值,那就太好了!

hk8txs48

hk8txs481#

在你的地址截取器里,抓住 OrderModel 并使用模型服务保存订单模型对象。
像这样的 modelService.save(order); 您可以通过以下方式从地址模型获取所有者订单的句柄 addressModel.getOwner() 如果订单是地址的所有者。否则,您可以选择使用 flexibleSearch.getModelByExample 或者启动一个定制的灵活查询。
希望有帮助!
注意:在订单创建过程中,hybris将订单作为所有者保存到addeess中。因此,可以在订单的交货地址或付款地址调用ordermodel.getowner()获取订单。

pu3pd22g

pu3pd22g2#

我的解决办法是。。

OrderModel orderModel = (OrderModel) addressModel.getOwner();

您可以获得反满对象并更改状态。我在设置值后使用模型服务保存它:

orderModel.setValue(true);
modelService.save(orderModel);

谢谢你们!

相关问题