AppServiceProvider.php 891 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. <?php
  2. namespace App\Providers;
  3. use Godruoyi\Snowflake\Snowflake;
  4. use Godruoyi\Snowflake\LaravelSequenceResolver;
  5. use Illuminate\Support\ServiceProvider;
  6. class AppServiceProvider extends ServiceProvider
  7. {
  8. /**
  9. * Register any application services.
  10. *
  11. * @return void
  12. */
  13. public function register()
  14. {
  15. //雪花算法
  16. $this->app->singleton('snowflake', function () {
  17. return (new Snowflake(env('SNOWFLAKE_DATA_CENTER_ID'),env('SNOWFLAKE_WORKER_ID')))
  18. ->setStartTimeStamp(strtotime(config('database.snowflake.start'))*1000)
  19. ->setSequenceResolver(
  20. new LaravelSequenceResolver($this->app->get('cache')->store()
  21. ));
  22. });
  23. }
  24. /**
  25. * Bootstrap any application services.
  26. *
  27. * @return void
  28. */
  29. public function boot()
  30. {
  31. //
  32. }
  33. }