public static function getOrderSerialNumber() { $timestamp = time(); $datePrefix = date('ymd', $timestamp); $key = self::CACHE_KEY_ORDER_COUNT . $datePrefix; // 如果流水号计数器数据不在缓存中,则尝试从数据库中恢复 if (!Cache::has($key)) { // 从数据库中获取今日的订单数 $counter = Order::getTodayCount(); $expiresAt = Carbon::now()->addMinutes(1440); Cache::put($key, $counter, $expiresAt); } $value = Cache::increment($key); return $datePrefix . str_pad($value, 10, '0', STR_PAD_LEFT); }