首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >海布里将OrderModel转换为CartModel

问海布里将OrderModel转换为CartModel
EN

Stack Overflow用户
提问于 2021-03-31 15:15:20
回答 1查看 694关注 0票数 0

我有以下要求:

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-01 17:43:29

是的,我们可以把订单模型转换成购物车模型。

有一个名为DefaultCartService.java的OOB类

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

代码语言:javascript
复制
CartModel cartModel = cartService.clone(getTypeService().getComposedTypeForClass(CartModel.class),
            getTypeService().getComposedTypeForClass(CartEntryModel.class), order, keyGenerator.generate().toString());

下面是详细的方法:

参数:

orderType -新创建的购物车类型

entryType -新创建购物车的购物车入口类型

正本-原始订单

代码-创建的购物车代码

代码语言:javascript
复制
@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实现

代码语言:javascript
复制
List<CartEntryModel> cartEntries = cloneOrderStrategy.cloneEntries(getTypeService().getComposedTypeForClass(CartEntryModel.class), orderModel)

因此,CloneAbstractOrderStrategy.java.可以实现cart的克隆顺序,反之亦然。

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66890571

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档