領収証発行サービス
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

61 lines
1.7KB

  1. <?php
  2. namespace App\Providers;
  3. use App\Codes\EnvironmentName;
  4. use App\Codes\QueueName;
  5. use App\Codes\SMSProviderName;
  6. use Illuminate\Queue\Events\JobProcessing;
  7. use Illuminate\Support\Facades\Log;
  8. use Illuminate\Support\Facades\Queue;
  9. use Illuminate\Support\ServiceProvider;
  10. class AppServiceProvider extends ServiceProvider
  11. {
  12. /**
  13. * Register any application services.
  14. */
  15. public function register(): void
  16. {
  17. //
  18. }
  19. /**
  20. * Bootstrap any application services.
  21. */
  22. public function boot(): void
  23. {
  24. if ($this->app->environment(EnvironmentName::LOCAL->value)) {
  25. // IDEヘルパー登録
  26. $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
  27. }
  28. //Queue関連
  29. Queue::before(function (JobProcessing $event) {
  30. // Logのドライバー設定
  31. $queueName = $event->job->getQueue();
  32. if ($queueName === QueueName::EMAIL->value) {
  33. Log::setDefaultDriver('queue-email');
  34. } else if ($queueName === QueueName::SMS->value) {
  35. Log::setDefaultDriver('queue-sms');
  36. }
  37. });
  38. // DB関連
  39. $this->app->singleton(\App\Util\DBUtil::class);
  40. // SMS関連
  41. $smsProvider = config('logic.sms_provider');
  42. if ($smsProvider === SMSProviderName::FOUR_S_MESSAGE) {
  43. $this->app->bind(\App\Logic\SMS\SMSManager::class, \App\Logic\SMS\FourSMessageManager::class);
  44. } else {
  45. $this->app->bind(\App\Logic\SMS\SMSManager::class, \App\Logic\SMS\LogManager::class);
  46. }
  47. // User関連
  48. $this->app->singleton(\App\Models\Ex\LoginUser::class);
  49. }
  50. }