电商网站订单号怎么生成呢?我目前用订单ID来做感觉不行,从1开始这样太不好看了,像淘宝那样的订单ID怎么生成的呢?

发布于 2022-09-01 22:51:15 字数 64 浏览 17 评论 0

电商网站订单号怎么生成呢?我目前用订单ID来做感觉不行,从1开始这样太不好看了,像淘宝那样的订单ID怎么生成的呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(13

陌伤浅笑 2022-09-08 22:51:15

我注意到题主提到:

从1开始这样太不好看了

这是万万不可的!电商平台的订单绝对不能给别人看出规律,更不能按顺序增加。因为对手可能通过订单号的规律就能知道你的日销量这些商业信息,这是非常危险的。


我的方案是:

时间+随机数

建议结合实际情况,充分利用时间,随机数,商家ID,会员ID,自增ID这些来组合,根据自身运营特点来制定。

小霸王臭丫头 2022-09-08 22:51:15

我一般用时间加随机数

尬尬 2022-09-08 22:51:15

当前时间,可以加一串后缀

她如夕阳 2022-09-08 22:51:15

不仅不好看,别人看你订单号就知道你们网站有多少订单

在梵高的星空下 2022-09-08 22:51:15

时间戳加上随机几位数字就可以了

墨洒年华 2022-09-08 22:51:15

可以网上找一个,时间戳加随机数生成的订单号还是有可能相同的,要杜绝这个

囚我心虐我身 2022-09-08 22:51:15

你在建订单表的时候可以指定AUTO_INCREMENT为你想取得一个数,比如10000000,不知道符不符合楼主的意思。

江城子 2022-09-08 22:51:15

有的是用年月日+订单序号补零,比如2015120600001

柠檬心 2022-09-08 22:51:15

订单号基本的原则就是不能重复。
我们公司的后台也有订单号,和前面说的差不多,时间精确到毫秒,然后加一个随机数,基本不会重复的。这是一个订单号,2015120320550551513给你参考下。^_^

甜警司 2022-09-08 22:51:15

关于生成电商订单号,我觉得需要考虑:

  1. 订单时间

  2. 订单类型

  3. 唯一性

  4. 不暴露信息

  5. 长度适中

可参考开源电商框架生成订单号的源码。

旧城烟雨 2022-09-08 22:51:15

简单讲一楼所说,时间戳+随机。

其实,用uuid是一劳永逸的。
http://pecl.php.net/ --->search --->uuid
连时间戳都没有,猜去吧。

国产ˉ祖宗 2022-09-08 22:51:15

应用场景

在开发购物功能,涉及到支付比如 微信、支付宝,当下单时需要生成一条唯一的订单,需要用到唯一的订单号管理。

函数代码

 /**
 * 得到新订单号
 * @return  string
 */
function get_order_sn()
{
    /* 选择一个随机的方案 */
    mt_srand((double) microtime() * 1000000);

    return date('Ymd') . str_pad(mt_rand(1, 99999), 5, '0', STR_PAD_LEFT);
}

实例代码

 /* 插入订单表 */
    $error_no = 0;
    do
    {
        $order['order_sn'] = get_order_sn(); //获取新订单号
        $GLOBALS['db']->autoExecute($GLOBALS['ecs']->table('order_info'), $order, 'INSERT');

        $error_no = $GLOBALS['db']->errno();

        if ($error_no > 0 && $error_no != 1062)
        {
            die($GLOBALS['db']->errorMsg());
        }
    }
    while ($error_no == 1062); //如果是订单号重复则重新提交数据

    $new_order_id = $db->insert_id();
    $order['order_id'] = $new_order_id;

来源:share.notestore.cn/e...

江城子 2022-09-08 22:51:15

用时间或者商品类型做出有规则的订单号,这样方便后台管理,前台显示时hash一下,生成散列等长的字串就可以了

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文