Laravel 结合 Redis 生成订单号 (年月日+6 位自增)

话不多说 直接撸代码

<?php
namespace App\Services;
use Predis\Client;

class UtilService
{

  /**
 * UtilService constructor
 * @param Client $redis
 */
     public function __construct(Client $redis)
     {
          $this->redis = $redis;
     }
      /**
     * 生成唯一单据号
      * @param String $key 单号KEY
      * @return string
      */
     public function generateReceiptCode(string $key)
     { 
         return $key . date('Ymd') . sprintf("%06d",$this->redis->incr($key));
     }
 }
本作品采用《CC 协议》,转载必须注明作者和本文链接
有梦想的人睡不着,没有梦想的人睡不醒。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 3

为何不用雪花算法?

1年前 评论

@00x00
我试试雪花算法
2219944901359
2220004015923
2220062766757
2220119764908
这些数据不符合我的业务场景,

我的是 20190509000003
20190509000004
20190509000005

1年前 评论
  1. $this->redis ??? 不先定义一下吗?
  2. 失效的单号 有做 处理吗,如果有人恶意访问,单号会一直递增
1年前 评论

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!