Ver código fonte

Add snowflake id service

Daniel Supernault 4 anos atrás
pai
commit
c0076ab035
1 arquivos alterados com 18 adições e 0 exclusões
  1. 18 0
      app/Services/SnowflakeService.php

+ 18 - 0
app/Services/SnowflakeService.php

@@ -0,0 +1,18 @@
+<?php
+
+namespace App\Services;
+
+use Illuminate\Support\Carbon;
+
+class SnowflakeService {
+
+	public static function byDate(Carbon $ts = null)
+	{
+		$ts = $ts ? now()->parse($ts)->timestamp : microtime(true);
+		return ((round($ts * 1000) - 1549756800000) << 22)
+		| (1 << 17)
+		| (1 << 12)
+		| 0;
+	}
+
+}