

对于一般的数据而言,电商系统订单表的设计,就一个主键。但是,对于订单系统数据来说,除了流水号这个主键之外,还有一个电商订单号。电商订货系统流水号,供系统内部使用,即供技术层面使用。订单管理系统开发的电商订单号,供系统外部使用,是给人看的。
1.电商行业
2.支付行业
3.物流行业
电商流水号,作为主键,和其他主键一样,只要保证唯一性即可,具体实现方法,一般是采用数据库序列号递增的设计。
电商订单号,由于是给人(用户、售后、运营等)看的,所以,与电商流水号相比,就多了两点要求:
1.可读性
2.安全性
可读性
电商系统订单包含一些基本信息,方便人阅读,这个不多说。
安全性
在可读性的基础之上,还要确保数据的安全性,即不能让人看出来订单的交易量。
总结
流水号,只要确保唯一性即可。
订单号,需要考虑以下3点要求:
1.唯一性
2.可读性
3.安全性
1.对于可以拿到用户id的情况,订单号生成规则如下:
时间戳;
用户id/商家id;
随机数字;
用户id,泛指能够唯一标识当前用户的id。最好是公开的、非隐私的数据,如商家号。如果需要对用户id进行保密,那么可以对用户id进行hash。
2.对于拿不到用户电商订单id(例如,能拿到商家id但是拿不到用户id)的情况,使用更复杂的生成规则:
时间戳;
商家id;
随机数字或随机数字 + 缓存 //可以确保唯一性;
进程id/线程id;
确保当前请求的唯一性;
流水号,流水号唯一,但要防止泄露交易量,其他……;
生成规则最重要的一点是,保证当前电商订单请求的唯一性。
来源:segementfault
编者:云朵匠 | 数商云(微信ID:shushangyun_com)
<数商云(www.shushangyun.hk)是全球知名的企业级电子商务系统开发商,为企业提供专业的电商系统开发解决方案,其产品服务包含:B2B电子商务系统建设、B2B2C多用户商城系统开发、B2C电商平台搭建、新零售电商、社交电子商务平台、视频直播平台、大数据电商平台、跨境进出口电商平台等等各行业大型电子商务平台搭建服务,其产品优势:系统安全性高、可扩展性强、集群式部署、支持高并发量和高访问量>