当前位置: 首页 > 知识库问答 >
问题:

Hybris将OrderModel转换为CartModel

包丁雨
2023-03-14

我有以下要求:

任何用户都应该能够从我的帐户/订单历史页面将任何订单的条目还原到活动购物车,因此我想知道是否有任何OOTB机制或方法将订单模型转换为CartModel,或将订单中的条目合并到当前购物车。

共有1个答案

公良光熙
2023-03-14

是的,我们可以将订单模型转换为购物车模型

有一个名为DefaultCartS的OOB类ervice.java

在自定义类或策略中调用以下方法

CartModel cartModel = cartService.clone(getTypeService().getComposedTypeForClass(CartModel.class),
            getTypeService().getComposedTypeForClass(CartEntryModel.class), order, keyGenerator.generate().toString());

下面是详细中的方法:

参数:

orderType-新创建购物车的类型

entryType-新创建购物车的购物车条目类型

原始-原始订单

代码-已创建购物车的代码

@Override
public CartModel clone(final ComposedTypeModel orderType, final ComposedTypeModel entryType,
                       final AbstractOrderModel original,
                       final String code)
{

    return (CartModel) getCloneAbstractOrderStrategy().clone(orderType, entryType, original, code, CartModel.class,
            CartEntryModel.class);
}

可以使用CloneAbstractOrderStrategy从订单中获取购物车条目(转换)。JAVA

List<CartEntryModel> cartEntries = cloneOrderStrategy.cloneEntries(getTypeService().getComposedTypeForClass(CartEntryModel.class), orderModel)

因此,克隆订单到购物车,反之亦然,可以通过CloneAbstractOrderS实现trategy.java.

为了更好地理解,请看一看这门课!

 类似资料:
  • 我从Web服务中提取了几个产品,并将其转换为ProductModel,然而,其中一些产品是“变体”。我需要手动将ProductModel转换为VariantProductModel,有什么OOTB方法可以实现这一点吗?

  • 也许可以在某个配置文件中完成。有人已经做过了吗?

  • 问题内容: 我正在开发一些应用程序,它允许从SD卡中选择图像,将其保存到数据库中并为ImageView设置此值。我需要知道将uri转换为字符串并将字符串转换为uri的方法。现在,我使用了Uri的getEncodedPath()方法,但是例如,此代码不起作用: 因此,我不知道如何将Uri保存到数据库中并根据保存的值创建新的Uri。请帮我修复它。 问题答案: 我需要知道将uri转换为字符串并将字符串转

  • 我正在努力将图像标记转换为链接并复制标记内的参数,即。 进入 我的问题不仅仅是复制src和alt数据,还包括丢失和额外的标记。 进入 和 进入 这需要对整个字符串中img标记的所有实例执行。 不是说听起来像是一个挑战,但是有人能提出一个可能的解决方案吗,我相信这可以用preg_replace但是我就是做不到? 非常感谢。

  • 最近,我浏览了一些网站,将中缀转换成前缀符号,最后我被卷了起来。 我已经给出了我所做的步骤。。 例:-(1(2*3))(5*6)(7/8) 方法1:-(无需任何算法的手动转换):- 方法2:- 根据现场情况http://scanftree.com/Data_Structure/infix-to-prefix 所以,在这里我完全被绞死了。 请任何人提供以下方面的信息:- 关于我在以上2种方法中哪里出

  • 问题内容: 如何从float转换为string或从string转换为float? 在我的情况下,我需要在2个值字符串(我从表中获得的值)和我计算出的浮点值之间进行断言。 我尝试从浮动到字符串: 但是断言失败 问题答案: 使用Java的类。 为了进行比较,将字符串转换为float并比较两个float总是更好。这是因为对于一个浮点数,存在多个字符串表示形式,与字符串相比,它们是不同的(例如“ 25”!