laravel订单编号方法

     /**
     * 生产订单编号
     * @return mixed
     * @throws Exception
     */
    public function generateOrderSn()
    {
        //该方法是如果抛出异常就再试一次,如果没有就直接返回正确
        return retry(5, function () {
            $orderSn = date('YmdHis').Str::random(6);
            //判断订单编号有没有被使用过
            if (!$this->isOrderSnUsed($orderSn)) {
                return $orderSn;
            }
            \Log::warning('订单号获取失败,orderSn:'.$orderSn);
            $this->throwBusinessException(CodeResponse::FAIL, '订单号获取失败');
        });
    }

    public function isOrderSnUsed($orderSn)
    {
        return Order::query()->where('order_sn', $orderSn)->exists();
    }

此处评论已关闭

[player id="719102"/]