LoadBoxNoToRaidsCommand.php 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. <?php
  2. namespace App\Console\Commands;
  3. use Carbon\Carbon;
  4. use Illuminate\Console\Command;
  5. use Illuminate\Support\Facades\DB;
  6. use Illuminate\Support\Facades\Redis;
  7. class LoadBoxNoToRaidsCommand extends Command
  8. {
  9. /**
  10. * The name and signature of the console command.
  11. *
  12. * @var string
  13. */
  14. protected $signature = 'load:box_no_and_bike_no_to_redis';
  15. /**
  16. * The console command description.
  17. *
  18. * @var string
  19. */
  20. protected $description = '加载车的位置数据到redis中';
  21. /**
  22. * Create a new command instance.
  23. *
  24. * @return void
  25. */
  26. public function __construct()
  27. {
  28. parent::__construct();
  29. }
  30. /**
  31. * Execute the console command.
  32. *
  33. * @return mixed
  34. */
  35. public function handle()
  36. {
  37. $redis = Redis::connection();
  38. $this->line('开始加载');
  39. $redis->del(['box_no_and_bike_no']);
  40. DB::table('bikes')->select(['box_no', 'bike_no', 'id'])->get()->each(function ($bike) use ($redis) {
  41. if ($bike->box_no && $bike->bike_no) {
  42. $this->line($bike->bike_no);
  43. $redis->hset('box_no_and_bike_no', $bike->box_no, $bike->bike_no);
  44. }
  45. });
  46. $this->line('完成');
  47. }
  48. }