编辑:[db:作者] 时间:2024-08-25 01:47:33
单号在实际的业务过程中是做为一个订单的唯一标识码的存在,供应订单号就很方便业务职员快速定位订单信息,给予用户帮助。
1. 用户订单碰着问题,须要找客服进行帮忙
我们日常在电商平台上面购买商品的时候,很多时候须要去向平台客服反馈在订单过程中碰着的问题,一样平常这个时候平台客户都是哀求用户填写订单编号的,这样客服可以快递锁定订单信息,给用户信息问题的解答和处理。
2. 对订单进行操作,如线下收款,订单核销
我们在第三方平台上购买了某一个店铺的线下优惠券的时候,事情职员须要对我们供应的优惠券进行核销,核销的依据一样平常来说便是订单编号。
而在某些场景涉及到的线下收款,也会根据订单号来进行订单的确认和收款,不过日常在业务过程中将一样平常都将订单号天生二维码,再由事情职员扫码进行操作,因此用户在线下对付订单号的感知并不是很强烈。
3. 内部进行订单的处理或者跟进
从技能的层面去讲,很多时候搜索订单干系信息的时候都因此订单ID作为唯一标识符,这是由于订单号的生成规则的唯一性决定的(后面讲订单号生成规则会讲到)。
由此公司内部在进行业务操作处理时候,比如对关照仓库按单发货,内部互换某个订单信息时候,也会直接根据订单号来进行信息传达。
二、编号规则的设计原则
订单号的在业务中的利用一样平常都是基于唯一性的需求,因此在订单号的设计上须要遵照几个原则:
1. 不得重复
由于我们在业务中对付订单编号的哀求是唯一的,以是订单编号天生的时候一定要遵照不可重复这一特性,而实际在底层天生订单编号的时候由于业务流水很大,处于一个高并发的状态,并且订单号的生成规则一样平常是固定的,以是可能会造成在同一韶光多个线程读取的天生参数相同,从而造成天生的订单号相同(当然这是开拓职员该当把稳的问题)。
其次便是业务的永劫光积累可能导致新天生的订单号会与过去良久的订单号产生重复,以是在设计订单号的时候一定要充分考虑到不可重复性的原则(后面讲到订单号设计中的变量部分会详细讲到)。
2. 安全性
编号不能透露公司的运营情形,比如日销、公司流水号等信息,以及商业信息和用户手机号,身份证等隐私信息。并且不能有明显的整体规律(可以有局部规律),任意修正一个字符就能查询到另一个订单信息,这也是不许可的。
类比于我们高考时候的考生编号的生成规则,一定不能是连号的,否则只须要根据顺序往下查询就能搜索到别的考生的成绩,这是绝对不可许可。
3. 具备一定的可读性
位数要便于操作,因此哀求订单号的位数适中,且局部有规律。这样可以方便在订单非常,或者退货时客服查询。
过长的订单号或易读性差的订单号会导致客服输入困难且易错率较高,影响用户体验的售后体验。因此在实际的业务场景中,订单号的设计常日都会适当携带一些许可公开的对利用场景有帮助的信息,如韶光,星期,类型等等,这个紧张根据所涉及的编号对应的利用场景来。
而且像韶光、星期这些自增长的属于作为订单号的设计的一部分元素,有助于办理业务累积而导致的订单号重复的问题。
三、编号设计中的常用变量
在遵照涉及原则的根本上,我们常会利用一些变量来进行编号的设计,这也是为了知足订单编号的局部可读性带来的业务上风,常日会有以下几类:
1. 韶光
如20220525105959这种类型的年月日时分秒,编号中利用这个变量就把重复的可能性降落到一秒内的不重复。
常用的韶光变量还有很多变种类型,如取年份的后2位数、如20220525只保留到天。常日在快递取件码的设计中会利用月、日、周等+其他元素的设计,这是为了方便取件码可以快速重复利用,由于快递取件码常日有效期不会超过一个月就会原路退货然后被销毁。
2. 韶光戳
韶光戳是一个10位数的数字,代表的是当前韶光间隔1970年1月1日UTC/GMT的午夜)开始所经由的秒数。也是常常用来代表韶光的一种办法,韶光戳也可以精确到毫秒,形成一个13位数的数字。
3. 类型
如订单类型、售后类型、商品类型、支付类型等等,不同类型的可以利用不同参数进行。常日支付类型的运用处景是,线上支付和线下支付共用一套业务后台,所以为了方便区分会加入支付类型这个参数用于区分线上线下。
类比还有店铺代码、支付的机器代码、操作员代码等等。
4. 用户ID
对一些涉及到用户的编号规则时候,可以利用到用户ID作为变量来进行设计,如淘宝的订单号中末了几位数就利用了用户ID,不过要把稳不能利用完全的用户ID,须要进行一些规则的设计再利用。
5. 商家ID
对电商系统中,可以把商家ID脱敏后也作为一个变量设计到编号规则中。
6. 手机号
利用用户的手机号中的某些位数作为编号中的一个变量;利用类似于手机号部分号码这种重复度较高的属性设计订单编号的时候,牢记不能只有一个变量,否则很随意马虎涌现订单编号重复。
7. 平台形态
如果是多终端多平台的系统,那么可以考虑在编号中把平台作为一个变量考虑进去。如小程序平台用01,安卓app利用01,PC版本利用03,第三方平台04类型这样的规则。
8. 其他业务属性
可以根据业务场景,把一些业务属性的信息也作为变量设计进去。
9. 随机数
随机数便是系统根据程序在一定规则内随机天生的字符,可以为数字也可以是字符串,一样平常可以用来降落重复;随机数在订单天生中的利用频率非常高,常常是前面几位都是一些显式的规律性数字,比如订单天生的时分秒,然后末了加上四位随机数从而组成订单号。以是读者在设计订单编号的时候,如果不知道如何加密,就可以大略的插入几位随机数即可。
10. 序列位
代表顺序的数字,如10,11,12这样的。
11. 验证位
一样平常放在末了,根据前面的多位字符按照一定的规则打算末了得到的一个数字,一样平常为1位,紧张目的是提高编号的安全性;身份证的末了一位便是校验位,其打算事理也是通过前面几位数字加密算法算出来的,感兴趣的读者可以去理解一下身份证的生成规则。
12. 地区信息
对有区域性子的编号规则里面可以考虑把区域作为变量考虑进去,如某地区分店、某地区线下的售货机等。
13. 数据库数据的自增ID
每条数据录入系统时候,一样平常情形都有一个唯一的ID,这个ID也可以作为编号的一种变量进行利用。
四、编号实践方案分享1. UUID
通⽤唯⼀识别码,是⼀种软件建构的标准,亦为开放软件基⾦会组织在分布式打算环境领域的⼀部分。其⽬的是让分布式系统中的所有元素,都能有唯⼀的辨识信息,⽽不须要通过中心掌握端来做辨识信息的指定。
1~8位采⽤系统韶光,在系统韶光上精确到毫秒级担保韶光上的惟⼀性。9~16位采⽤底层的IP地址,在做事器集群中的惟⼀性。17~24位采⽤当前工具的HashCode值,在⼀个内部工具上的惟⼀性。25~32位采⽤调⽤⽅法的⼀个随机数,在⼀个工具内的毫秒级的惟⼀性。通过以上4种策略可以担保惟⼀性。在系统中须要⽤到随机数的地⽅都可以考虑采⽤UUID算法。但是呢直策应用这个作为单号。虽然具有唯一性,安全性,但是却没有任何的可读性而言。因此在这种情形下,UUID只是能作为系统中间的标识码,可以在业务中数据流转的时候合营订单号利用,绝不可直接给予客户和业务职员利用。
2. 韶光戳+随机数
对付一些编号需求不是很大的场景,如果可读性也没什么场景的哀求,可以大略的利用韶光戳和随机数进行拼接作为编号规则利用;如韶光戳1635302466+随机数2313,则编号为16353024662313。
3. 淘宝订单号的生成规则
一共19位数,前面13位数为根据韶光戳和内部定义序列,后面6位数为跟购买者ID干系的用户位。
4. 有赞商家真个订单号
日期+时分秒+随机数。
5. 韶光+韶光戳+用户+序列位
韶光:取韶光的年份后2位+月份+日期形成如211027。
韶光戳:取韶光戳的后6位数
用户:取用户ID的后5位数,序列位2位数随机。
6. 综合各种变量
下单渠道1位+支付渠道1位+业务类型1位+韶光信息4位+下单韶光的Unix韶光戳后8位(加上随机码随机后的数字)+用户userid后4位共19位并不一定须要把19位全加上。
7. 预师长西席成
系统预师长西席成不重复的编号,业务系统要利用时候按顺序取数即可。这种编号一样平常系统拥有一套成熟的加密规则,不属于常规的订单生成规则,一样平常用于加密程度较高的业务。
本文由 @卖干货的产品小谢 原创发布于大家都是产品经理,未经容许,禁止转载。
题图来自 Unsplash,基于CC0协议。
本站所发布的文字与图片素材为非商业目的改编或整理,版权归原作者所有,如侵权或涉及违法,请联系我们删除,如需转载请保留原文地址:http://www.baanla.com/lz/zxbj/68186.html
Copyright 2005-20203 www.baidu.com 版权所有 | 琼ICP备2023011765号-4 | 统计代码
声明:本站所有内容均只可用于学习参考,信息与图片素材来源于互联网,如内容侵权与违规,请与本站联系,将在三个工作日内处理,联系邮箱:123456789@qq.com