电子商务网站中订单号设计有什么规则和依据吗？
1.三个真实的案例 案例1：最近面试的将近20位产品经理里面，我都会问一道问题：请您为我公司的订单系统设计一套订单号的生成规则。应聘者里面有一两年的职场新人，也有工作将近十年的老鸟，当然也不乏运营或者开发转岗到产品的，有些甚至还做过订单与支付系统，但几乎所有的面试者都没能说的很全面。 案例2：去年的某个时间，朋友A所在的公司订单系统改造升级，开发在没有知会运营和市场的前提下将订单号长度由14位改到了19位（事后得知产品人员当时也不知情），而公司现有的用户至少70%都在使用货到付款的刷卡支付，即每次刷卡前都需要输入订单号，然后你懂的，整个市场炸锅了，开发于是紧急发版，又把订单号的长度改回了14位。 案例3：再说说6年前的一个经历。当时朋友（简称为C吧）在一家游戏公司做PHP网站开发，C和其他几位开发完成了整个游戏的在线支付系统，并且联调成功了。系统运行后发现了一个情况，某游戏玩家充值了5万块钱，当时运营人员想查下是什么时间充值的，但后台系统里面没有记录充值时间，无奈之下只能去数据库查到了时间戳，然后根据时间戳反查出来了充值时间。 2.订单号的生成规则 再回到上述案例1里面的问题，其实题干里面还隐含了一个关节信息，即该系统是为我公司设计的，而不是其它公司设计的（我公司现在做酒饮类B2B，未来可能会做B2C或其它）。但回答者几乎都忽略了这一点。 这些应聘者的原话记不清了，但主要就以下这些思路及其组合，括号里面是我的点评（吐槽）： 那么问题来了，一个好用又好看的订单号，应该具备哪些规则和依据呢？ 关于这个问题，知乎和简书上都有很多相关的讨论，比如这篇《电子商务网站中订单号设计有什么规则和依据吗？》和这篇《电商订单号设计思考》，里面一些关于订单号的生成规则和依据很值得参考，在此，我说点自己的经验和见解。 3.订单号怎样生成才好用 回到问题的本质，订单号是拿来干嘛用的？谁会关注订单号？简而言之，订单号是用来标记/查询订单（查询的时候可能更关注于物流单号）用的，一般会在订单有支付/售后/异常问题的时候会用到，也就是说订单号主要是拿给客服/运营/开发部门用的。 那么客服在处理一笔订单的时候，什么格式的订单号才会好用呢？首先订单号中最好避免数字以外的其它字符类型，订单号尽量短，订单号尽量能结合当前的业务情况有特定的标识，如渠道编号（包括平台、下单渠道、支付方式）、业务类型和时间信息等。为了便于理解，下面还是举例说明： 综上，我建议的订单规则是这样的： 下单渠道1位+支付渠道1位+业务类型1位+时间信息4位+下单时间的Unix时间戳后8位（加上随机码随机后的数字）+用户user id后4位。然后你会说，这样算下来就订单号就19位了啊，一点都不精简啊，不好记不好念不好输的。但我说的上面的这些业务标记，你不一定要全部加上啊。 你看淘宝/天猫那么大的订单量，16位订单号就搞定了。细心的网友已经发现了，订单号的后4位是取自用户user id的后四位，前12位中有10位可能是由Unix时间戳加随机规则生成的。 然后我们再来看看《电商订单号设计思考》中提到的那2个问题： 问题1：为什么淘宝单号这么长？前几年还12、13位，现在都16位了？订单号之所以那么长，我的理解是短了不够用，毕竟那么大的用户基础和订单量。至于现在都是16位？我查询了2011年的淘宝订单，发现是14位的，并不是该简友说的12/13位，但由14位扩充到16位，应该很大一部分原因是业务增长的原因。 问题2：为什么自己的淘宝单号最后4位都一样呢？这4位数字代表什么？2011年3月之前的订单，后4位是不一样的；3-7月之后（4/5/6三个月我没有下过单）的淘宝订单，后4位是一样的。我猜想可能是user id，后来我验证了下，一定程度上是的，比如我的ID后4位是1190，订单的后4位是9910，由此看来，淘宝订单后4位是将user id后4位简单处理过的。至于前12位，我 猜想其中有10位可能是由Unix时间戳加随机规则生成的。 4.订单号怎么生成才好看呢？ 相信很多人都受够了银行卡上面不分段的银行卡号了吧，还有就是快递单上面不分段的快递单号码（顺丰的就很好），这些简直就是反人类设计。其实订单系统里面也可以借鉴顺丰的这个思路分段显示，方便查看和诵读。 如果做的再智能点，支持WEB上双击复制或者APP上长按复制（点击后可复制），是不是更好看更人性化更便捷了呢？ 5.几句题外话 前几天我看到了宅妈妈APP的订单号，4位纯自增的数字，极其精简。当时我就在想他们为什么会把订单号设计这么短，后来仔细想了下她们的具体业务情况，或许是这样的：处于业务开拓起步阶段的宅妈妈不希望用户在反馈问题时报上冗长的订单号，同时她们希望用户通过订单号能感受到该APP有很多人在使用并下单，进而打消她们的部分顾虑。 滴滴出行因为每次行程都有司机车牌号，所以在遇到问题时直接反馈“时间+起点+车型车牌号”可能更方便。饿了么同理，我在反馈问题的时候也不会去报订单号，直接报时间和商家名更方便，订单号可能在客服处理问题的时候会用的更多一点吧。 各位开发小哥提的各类问题我都逐一看过了，以上这些只是个人的不成熟的建议和想法。我所说的，都是错的。 原文链接：订单号怎样生成才能好用又好看，难倒了20多位产品经理