主要实体
原文标题:main entities

原文出处:http://www.broadleafcommerce.com/docs/core/current/broadleaf-concepts/data-and-service-models/main-entities

译者:IT十年

译文链接:http://www.ittenyear.com/170/broadleaf-main-entities/

本译文仅用于学习和交流目的,转载请保留原文链接和译文链接!



产品/商品Product
商品文件夹包括的就是这个实体。客户浏览和搜索的也是这个实体。

商品没有和不论什么价格信息直接关联。可是一个商品的价格信息能够通过与其一对一关联的一个Sku(他的默认Sku)得到。这个一对一关系是必需的,系统中不存在不和Sku关联的商品。


Sku
这个实体具有与其关联的价格信息,它能够出售,能够加入到购物车。能够把Sku看作是产品Product的一种特定的、详细的表现。

由于是详细的表现,Sku具有名称。描写叙述,大小等。每种产品都须要至少一种详细的表现,这就是为什么产品和他的默认Sku之间的关系是必需的。

一个产品也能够有多个详细的表现。

比方T恤的销售。你能够卖一个带图案的T恤,如果叫“狗衫”。当你最初设计“狗衫”时,你会给默认Sku设置名称。价格等等。

你也会提供各种颜色(比方蓝色,黄色。绿色)和各种尺码(比方小号,中号,大号)的“狗衫”。这须要另外的9个Sku表示:一种蓝色小号狗衫,一种黄色小号狗衫。一种绿色小号狗衫等等。每一个Sku会和ProductOptions、ProductOptionValues关联。在这个样例里,ProductOptions指的是颜色和尺码,而ProductOptionValues指的是蓝色、黄色、绿色。

一个产品Product将和10个Sku关联:1个Sku代表默认Sku(它是必需的),另外9个Sku代表ProductOptionValues的各种组合,而每种组合都能够有特定的价格(一件蓝色XL狗衫能够定价2美元)、库存。

ProductBundles是Product的子类,而Sku能够是很多ProductBundles中的一项(译者注:ProductBundles能够理解为打包销售的产品集合类,而Sku是当中的一种商品)。

这样的关系是通过SkuBundleItem间接实现的,在SkuBundleItem 中,你能够为Sku设置折扣价格,也能够设置一种Sku一次打包出售的数量。


订单Order(购物车cart)
非常明显,订单Order在电商系统中是至关重要的。而一个BLC订单代表已完毕的订单。它包括付款信息、发货信息、订单项,这些仅仅是订单所有功能的一部分。实际上,一个“进行中/未完毕”的订单是一个购物车。当中的订单项都能够被加入、更改、删除。

另外,“命名named”状态的订单相应一个意愿清单wishlist的概念。

电商系统Broadleaf文档翻译(六) - 主要实体main entities的更多相关文章

  1. 通过Dapr实现一个简单的基于.net的微服务电商系统(六)——一步一步教你如何撸Dapr之Actor服务

    我个人认为Actor应该是Dapr里比较重头的部分也是Dapr一直在讲的所谓"stateful applications"真正具体的一个实现(个人认为),上一章讲到有状态服务可能很 ...

  2. 通过Dapr实现一个简单的基于.net的微服务电商系统(十六)——dapr+sentinel中间件实现服务保护

    dapr目前更新到了1.2版本,在之前4月份的时候来自阿里的开发工程师发起了一个dapr集成Alibaba Sentinel的提案,很快被社区加入到了1.2的里程碑中并且在1.2 release 相关 ...

  3. 通过Dapr实现一个简单的基于.net的微服务电商系统

    本来想在Dpar 1.0GA时发布这篇文章,由于其他事情耽搁了放到现在.时下微服务和云原生技术如何如荼,微软也不甘示弱的和阿里一起适时推出了Dapr(https://dapr.io/),园子里关于da ...

  4. 电商系统架构总结1(EF)

    最近主导了一个电商系统的设计开发过程,包括前期分析设计,框架搭建,功能模块的具体开发(主要负责在线支付部分),成功上线后的部署维护,运维策略等等全过程. 虽然这个系统不是什么超大型的电商系统 数亿计的 ...

  5. 通过Dapr实现一个简单的基于.net的微服务电商系统(七)——一步一步教你如何撸Dapr之服务限流

    在一般的互联网应用中限流是一个比较常见的场景,也有很多常见的方式可以实现对应用的限流比如通过令牌桶通过滑动窗口等等方式都可以实现,也可以在整个请求流程中进行限流比如客户端限流就是在客户端通过随机数直接 ...

  6. 通过Dapr实现一个简单的基于.net的微服务电商系统(八)——一步一步教你如何撸Dapr之链路追踪

    Dapr提供了一些开箱即用的分布式链路追踪解决方案,今天我们来讲一讲如何通过dapr的configuration来实现非侵入式链路追踪的 目录:一.通过Dapr实现一个简单的基于.net的微服务电商系 ...

  7. 通过Dapr实现一个简单的基于.net的微服务电商系统(九)——一步一步教你如何撸Dapr之OAuth2授权

    Oauth2授权,熟悉微信开发的同学对这个东西应该不陌生吧.当我们的应用系统需要集成第三方授权时一般都会做oauth集成,今天就来看看在Dapr的语境下我们如何仅通过配置无需修改应用程序的方式让第三方 ...

  8. 通过Dapr实现一个简单的基于.net的微服务电商系统(十)——一步一步教你如何撸Dapr之绑定

    如果说Actor是dapr有状态服务的内部体现的话,那绑定应该是dapr对serverless这部分的体现了.我们可以通过绑定极大的扩展应用的能力,甚至未来会成为serverless的基础.最开始接触 ...

  9. 通过Dapr实现一个简单的基于.net的微服务电商系统(十一)——一步一步教你如何撸Dapr之自动扩/缩容

    上一篇我们讲到了dapr提供的bindings,通过绑定可以让我们的程序轻装上阵,在极端情况下几乎不需要集成任何sdk,仅需要通过httpclient+text.json即可完成对外部组件的调用,这样 ...

随机推荐

  1. 同一个事务里 查询 已删除可是未提交的数据[bug记录]

    前几天犯了个低级错误.在一个事务方法里老是查询不到某条记录,可是debug卡住时,用db工具查.又能查出值. 经过一番折腾,原来是我在同一个事务里 查询 了已删除可是未提交的数据.当然查询不到了! . ...

  2. TFRecord —— tensorflow 下的统一数据存储格式

    tensorflow 提供了统一的数据存储格式,即 TFRecord(record 表示记录),以提高程序的可扩展性,当数据来源十分复杂时,仍能有效记录输入数据中的信息. 1. tfrecord 使用 ...

  3. orm 通用方法——QueryModelCount条件查询记录数

    定义代码: /** * 描述:根据条件查询对象数 * 作者:Tianqi * 日期:2014-09-17 * param:model 对象实例 * param:cond 查询条件 * return:i ...

  4. ipad 基础

    一.必备技巧 1.死机重启苹果的东西都比较稳定,但这并不等于iPad不会死机.死机了怎么办?iPad电池可是内置的,后盖一般用户也打不开.方法是:按住机身顶端的电源键和圆形的HOME键几秒钟,这时iP ...

  5. codefroces 873 B. Balanced Substring && X73(前缀和思想)

    B. Balanced Substring You are given a string s consisting only of characters 0 and 1. A substring [l ...

  6. SQL语句查询数据库所有表和所有字段的详细信息(包括表描述和字段描述)

    select (case then ddd.value else '' end ) as "表名(中文)" --如果表名相同就返回空 , (case then d.name els ...

  7. python note #3

    Hello, guys! I found it pretty difficult to get my content according to my key words. So in this not ...

  8. JS jQuery查看系统中安装的字体

    1.下载插件:FontDetect插件  地址:http://www.lalit.org/lab/javascript-css-font-detect/ 或者复制以下代码到fontdetect.js: ...

  9. WP8 学习笔记(002_应用程序结构)

    下图是微软官方给出的WP8应用程序执行顺序: 在App.XAML.CS中,有程序主要步骤的函数 // 应用程序启动(例如,从“开始”菜单启动)时执行的代码 // 此代码在重新激活应用程序时不执行 pr ...

  10. JAVA工程命名规范

    Java推荐的包声明命名约定是反向域名. 例如 - com.abysm.myproject