顺丰快递单号一般是几位数(邮政快递单号一般是几位数)

编辑导语:订单号、付款序列号、售后订单号、快递单号、电子凭证核销码等。这是我们日常生活中遇到和使用的一些单数,那么为什么有的单数那么长,有的只有几位数呢?有些奇

编辑导语:订单号、付款序列号、售后订单号、快递单号、电子凭证核销码等。这是我们日常生活中遇到和使用的一些单数,那么为什么有的单数那么长,有的只有几位数呢?有些奇数能一眼看出月份日期,有些则没有任何意义?为什么我的淘宝订单最后几位都是一样的?我们来看看今天的订单号是怎么产生的。

快递单号一般是几位数(单号指的是订单编号吗)插图一、订单号作为业务中唯一识别码的应用场景。该单号在实际业务流程中作为订单的唯一标识码存在。提供订单号便于业务人员快速定位订单信息,帮助用户。

1. 用户订单遇到问题,需要找客服进行协助

我们日常在电商平台购买商品时,经常需要去平台客服反馈订单过程中遇到的问题。一般这时候平台客户会让用户填写订单号,让客服快速锁定订单信息,给用户信息问题的解答和处理。

2. 对订单进行操作,如线下收款,订单核销

当我们在第三方平台购买某店的线下优惠券时,工作人员需要对我们提供的优惠券进行核销。一般来说,核销的依据是订单号。

在某些场景下,线下支付也会根据订单号进行确认和收款。但在日常业务流程中,一般会将订单号生成一个二维码,然后由工作人员扫码操作。所以用户对线下订单号的感知不是很强。

3. 内部进行订单的处理或者跟进

从技术角度来说,很多时候,在搜索订单相关信息时,订单ID是作为唯一标识符使用的,这是由订单号生成规则的唯一性决定的(后面会讨论)。

所以在公司内部进行业务操作的时候,比如通知仓库根据订单发货,内部沟通一个订单信息的时候,也会根据订单号直接沟通信息。

二、编号规则的设计原则

业务中订单号的使用一般是基于唯一性的要求,所以订单号的设计需要遵循几个原则:

1. 不得重复

因为我们在业务中对订单号有独特的要求,所以订单号的生成必须遵循不重复的特性。实际上,在底层生成订单号时,业务流程非常繁重,订单号的生成规则一般是固定的,可能会导致多个线程同时读取相同的生成参数,导致生成的订单号相同(当然这是开发者要注意的问题)。

其次,业务的长期积累可能导致新生成的订单号与过去的订单号重复。因此,在设计订单号时必须充分考虑不可重复性原则(订单号设计中的变量将在后面详细讨论)。

2. 安全性

号码不能泄露公司运营情况,如日常销售额、公司序列号等信息,以及业务信息、用户手机号、身份证等隐私信息。而且不能有明显的整体规则(可以有局部规则)。你可以通过任意修改一个字符来查询另一个订单信息,这也是不允许的。

类比我们高考的考生号生成规则,一定不能是连续的,否则只能按照顺序向下搜索才能搜索到其他考生的成绩,这是绝对不允许的。

3. 具备一定的可读性

为方便操作,要求订单号位数适中,局部有规律。这样可以方便订单异常或退货时的客服查询。

订单号过长或可读性差,会导致客服输入困难,易错率高,影响用户的售后体验。所以在实际的业务场景中,订单号的设计通常会携带一些允许公开的、对使用场景有帮助的信息,比如时间、星期、类型等。,主要是根据所涉及的号码对应的使用场景。

而且时间、周等自增元素是订单号设计的一部分,有助于解决业务堆积导致的重复订单号问题。

三、编号设计中的常用变量

在遵循涉入原则的基础上,我们经常使用一些变量来设计数字,这也是为了满足订单号部分可读性带来的业务优势。通常,有以下几类:

1. 时间

比如20220525105959,这种类型的年、月、日、分、秒,在编号中使用这个变量,会将重复的可能性降低到一秒内不重复。

常用的时间变量有很多变体,比如取年份的后两位数,比如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. 验证位

一般放在末尾,根据前面的字符按照一定的规则计算出最后的数字,通常是一位数字,主要目的是提高编号的安全性;身份证的最后一位是校验位,它的计算原理也是通过之前的数字加密算法计算出来的。感兴趣的读者可以了解一下身份证的生成规则。

12. 地区信息

对于带有区域性质的编号规则,可以将区域作为一个变量来考虑,如区域分公司、线下自动售货机等。

13. 数据库数据的自增ID

每一条数据输入系统时,通常都有一个唯一的ID,也可以作为数字的变量。

四、编号实践方案分享1. UUID

唯一标识码是软件构造的一个标准,也是分布式计算环境领域开放软件基础的一部分。其目的是使分布式系统中的所有元素都具有唯一的标识信息,而不必通过中央控制终端指定标识信息。

1~8位采⽤系统时间,在系统时间上精确到毫秒级保证时间上的惟⼀性。9~16位采⽤底层的IP地址,在服务器集群中的惟⼀性。17~24位采⽤当前对象的HashCode值,在⼀个内部对象上的惟⼀性。25~32位采⽤调⽤⽅法的⼀个随机数,在⼀个对象内的毫秒级的惟⼀性。

以上四种策略可以保证唯一性。系统中所有需要随机数的地方都可以考虑⽤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位,不一定需要全部加起来。

7. 预先生成

系统预先生成不重复的号码,业务系统使用时可以按顺序取数。一般这种编号系统都有一套成熟的加密规则,不属于常规的订单生成规则,一般用于加密程度高的业务。

本文由@卖干货产品小谢原创发布。每个人都是产品经理。未经许可,禁止复制。

题目来自Unsplash,基于CC0协议。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。

作者:美站资讯,如若转载,请注明出处:https://www.meizw.com/n/259389.html

发表回复

登录后才能评论