对于订单来说,主要的表就是ORDER_HEADER和ORDER_ITEM。ORDER_HEADER就是所谓的订单头,一条记录代表一条订单。

ORDER_PAYMENT_PREFERENCE是订单的支付,它有三个主要外键,ORDER_ID代表是哪个订单,PAYMENT_METHOD_ID代表是哪种具体付款方法,PAYMENT_METHOD_TYPE_ID代表哪种付款类型。

订单ORDER" title="ofbiz数据库表结构设计(3)- 订单ORDER">

ORDER_HEADER中的字段:

ORDER_TYPE_ID是外键指向ORDER_TYPE表,用来表示该订单是个采购订单还是销售订单。

EXTERNAL_ID是代表了外部订单号,比如说拿ofbiz作为ERP来处理淘宝上的订单,那EXTERNAL_ID就可以用来存储淘宝上的订单号。

STATUS_ID是该订单的状态,是外键指向STATUS_ITEM  
表,STATUS_ITEM表中STATUS_TYPE_ID为"ORDER_STATUS"的数据是ORDER_HEADER中STATUS_ID字段的可选项。这里要注意,ofbiz中订单的状态和货运(SHIPMENT)状态以及支付(PAYMENT)状态是三个分开的对象的状态,象淘宝上“等待支付”以及“等待卖家发货”这种订单状态,在ofbiz中是PAYMENT对象以及SHIPMENT对象的状态。

PRODUCT_STORE_ID是用来表示该销售订单是在哪个店卖出去的

REMAINING_SUB_TOTAL可以看作是除了运费之外的所有费用总和(包括商品的费用,其它各种费用,还要减去各种促销费用)

GRAND_TOTAL可以看作是包括了运费之后的费用,也就是客户需要总共支付的费用

ORDER_ITEM中的字段:

ORDER_ID外键为对应的订单

ORDER_ITEM_SEQ_ID只是一个序列号,在一个订单中,总是以00001开始

PRODUCT_ID代表了这个订单项所对应的产品

QUANTITY是订单中这个商品的数量

CANCEL_QUANTITY是订单中这个商品取消的数量,如果QUANTITY是4,CANCEL_QUANTITY是4,则代表用户买了这个商品4件,但是又取消了4件,当然,最后结果就是1件也没买

UNIT_PRICE在这个订单中这个商品的单价

UNIT_LIST_PRICE这个商品的吊牌价

UNIT_AVERAGE_COST在这个订单中这个商品的平均成本,但是根据我们的检查,似乎ofbiz从来都没有用到这个字段,在系统中,这个字段的值永远是NULL。所以我们认为,开发者可以在自己开发的程序中,把这个值填充上去,为报表做准备.

原文地址:http://blog.sina.com.cn/s/blog_a2ca5d8c0101fbt6.html

ofbiz数据库表结构设计(3)- 订单ORDER的更多相关文章

  1. ofbiz数据库表结构设计(2)- CONTACT_MECH

    ofbiz中,party的电话.地址等联系方式设计得非常巧妙,让我们来仔细分析一下. 有一个叫做CONTACT_MECH的表,这张表我们把它称作联系方式表,一个电话号码.一个通讯地址.一个电子邮件,都 ...

  2. ofbiz数据库表结构设计(1)- PARTY

    ofbiz的精华就在于其数据结构(表结构)的设计.数据结构的通用性也决定了ofbiz几乎可以适用任何企业应用.我们首先来看看PARTY相关的表结构设计. 在ofbiz中,PARTY是个抽象概念,它可以 ...

  3. 【转】ofbiz数据库表结构设计

    真心不错的文章,可以加深对企业信息化的设计理解:) http://blog.sina.com.cn/s/blog_a2ca5d8c01017fa0.html http://blog.sina.com. ...

  4. MySQL基于左右值编码的树形数据库表结构设计

    MySQL基于左右值编码的树形数据库表结构设计   在关系型数据库中设计树形的数据结构一直是一个十分考验开发者能力的,最常用的方案有主从表方案和继承关系(parent_id)方案.主从表方案的最大缺点 ...

  5. 数据库表结构设计方法及原则(li)

    数据库设计的三大范式:为了建立冗余较小.结构合理的数据库,设计数据库时必须遵循一定的规则.在关系型数据库中这种规则就称为范式.范式是符合某一种设计要求的总结.要想设计一个结构合理的关系型数据库,必须满 ...

  6. Activiti5.13数据库表结构设计

    1.结构设计 1.1.    逻辑结构设计 Activiti使用到的表都是ACT_开头的. ACT_RE_*: ’RE’表示repository(存储),RepositoryService接口所操作的 ...

  7. 【VIP视频网站项目三】项目框架搭建、项目路由配置、数据库表结构设计

    一.项目路由的设计 目前项目代码已经全部开源:项目地址:https://github.com/xiugangzhang/vip.github.io 视频网站前台页面路由设计 路由 请求方法 模板 作用 ...

  8. Mysql数据库表结构设计准则

    一:动静分离 解释:最好做好静态表和动态表的分离.这里解释一下静态表和动态表的含义,静态表:存储着一些固定不变的资源,比如城市/地区名/国家(静态表一定要使用缓存).动态表:一些频繁修改的表 二:关于 ...

  9. 【Normal Form】数据库表结构设计所遵从的范式

    参考的优秀文章 数据库(第一范式,第二范式,第三范式) 数据库设计是件严肃.关键的事儿,一毕业,加入一个大型的行业项目,那儿的前辈资深工程师,就给我灌输数据库如何关键.神圣.深不可测的观念,所以,我一 ...

随机推荐

  1. python从入门到精通之30天快速学python视频教程

    点击了解更多Python课程>>> python从入门到精通之30天快速学python视频教程 课程目录: python入门教程-1-Python编程语言历史及特性.mkv pyth ...

  2. jsp中的文件上传

    首先需要有以下的jar包 jsp代码如下: <!-- ${pageContext.request.contextPath}为: "/" + 当前项目名 --> < ...

  3. 使用Navicat连接阿里云ECS服务器上的MySQL数据库

    一.首先要mysql授权 mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你的mysql数据库密码' WITH GR ...

  4. lnmp启用pathinfo并隐藏index.php

    编辑如下区段: location ~ [^/]\.php(/|$) { # comment try_files $uri =404; to enable pathinfo try_files $uri ...

  5. 第7章 数据库访问与ORM 慕课网微信小程序开发学习笔记

    第7章 数据库访问与ORM https://coding.imooc.com/learn/list/97.html 目录: 7-1 数据库操作三种方式之原生SQL 19:09 7-2 从一个错误了解E ...

  6. Python知识点入门笔记——特色数据类型(集合)

    集合是一种不重复的无序集 集合用花括号来定义{} 集合和字典一样,里面的顺序是无序的,{1,2,3}和{3,2,1}是相等的 集合的元素不可重复,也就是说{1,2,2,3}是不存在的,应该写为{1,2 ...

  7. OAuth2.0 social_django微博第三方登录

    python网站第三方登录,social-auth-app-django模块, social-auth-app-django模块是专门用于Django的第三方登录OAuth2协议模块 目前流行的第三方 ...

  8. Python3爬取起猫眼电影实时票房信息,解决文字反爬~~~附源代码

    上文解决了起点中文网部分数字反爬的信息,详细链接https://www.cnblogs.com/aby321/p/10214123.html 本文研究另一种文字反爬的机制——猫眼电影实时票房反爬 虽然 ...

  9. [Bzoj2588]Count on a tree(主席树+LCA)

    Description 给定一棵N个节点的树,每个点有一个权值,对于M个询问(u,v,k),你需要回答u xor lastans和v这两个节点间第K小的点权.其中lastans是上一个询问的答案,初始 ...

  10. GSMM数据库设计小结

    边写边结 1.新增,删除,修改在各自的DAL中进行,查,可以新建一个DAL,里面是需要的各个属性,跨表,不同表属性整合成一个对象(集合)返回,输出到用户界面.