点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我正在使用Hybris 6.3,...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我正在使用Hybris 6.3,...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我正在使用Hybris 6.3,我们为B2B实施生成了一个模块,我需要根据购物车中的产品,账单地址,付款,交货等将购物车内容分为不同的订单 共享相同的参数。
根据我们从客户那里收集到的要求,我们得出结论,在这里我们不需要采用寄售策略,因为该策略可以处理一个订单并将其拆分为运输和交付目的,相反,我们客户的需求是不同的产品 在购物车中按一组共享属性进行分组,并为每组产品生成订单。
到目前为止,我已经确定了负责下订单的类 DefaultCheckoutFacade ,该类包含以下方法:
@Override
公共OrderData placeOrder()引发InvalidCartException
{
final CartModel cartModel = getCart();
如果(cartModel!= null)
{
如果(cartModel.getUser()。equals(getCurrentUserForCheckout())|| getCheckoutCustomerStrategy()。isAnonymousCheckout())
{
beforePlaceOrder(cartModel);
最后的OrderModel orderModel = placeOrder(cartModel);
afterPlaceOrder(cartModel,orderModel);
如果(orderModel!= null)
{
返回getOrderConverter()。convert(orderModel);
}
}
}
返回null;
}
据我了解,我应该重写此方法,以根据需求中设置的标准生成不同的 CartModel ,并为每个 CartModel 下订单。 我修改了 CartModel 类,它是超类 AbstractOrderModel ,我猜想在上述方法中的 getCart()调用之后,我只需要 修改 CartModel 中的条目,并为我需要下达的每个订单调用方法 placeOrder(),但允许处理 CartModel 这样的对象?
或者,如果我需要将购物车分成不同的订单,是否应该以其他方式处理? 是否需要多个推车,但将其显示为一个应该做的事情? 是否应在OOTB Commercefacades扩展上进行这种修改? 有没有办法将其扩展到我们模块中的某个地方?
编辑
我开始阅读有关多个购物车的信息, 我需要什么,但是我还没有找到如何将条目保存到保存的购物车中的方法。 在此链接中,我可以看到如何保存购物车,方法saveCart 返回CommerceSaveCartResultData对象,方法saveCnd的getCartForCodeAndCurrentUser方法都收到一个CommerceSaveCartParameter,其中必须包含CartModel,如何生成此对象的实例以在CommerceSaveCartParameter中设置?
此外,产品已经在价格上应用了折扣,仅检查了模型,然后寄售的商品与订单的属性不同,因此对我们的要求不利。
一周热门 更多>