line('开始加载'); // 处理停车区 $area_ids = DB::table('parkings')->where('type', Parking::TYPE_STOP_BIKE)->distinct()->pluck('area_id'); foreach ($area_ids as $area_id) { $redis->del([Parking::REDIS_STOP_BIKE_SITES_TAG . "_{$area_id}"]); } $redis->del([Parking::REDIS_STOP_BIKE_SITES_TAG . "_0"]); $areas = DB::table('areas')->where('status', Area::STATUS_OK)->pluck('id')->toArray(); DB::table('parkings')->where('status', 1)->where('type', Parking::TYPE_STOP_BIKE)->select(['parking_centre', 'id', 'area_id'])->get()->each(function ($park) use ($redis, $areas) { $location = json_decode($park->parking_centre, true); $area_id = $park->area_id; if (in_array($area_id, $areas)) { $redis->geoadd(Parking::REDIS_STOP_BIKE_SITES_TAG . "_{$area_id}", $location['longitude'], $location['latitude'], $park->id); $redis->geoadd(Parking::REDIS_STOP_BIKE_SITES_TAG . "_0", $location['longitude'], $location['latitude'], $park->id); } }); // 处理禁停区 $ban_stop_parking_ids = DB::table('parkings')->where('type', Parking::TYPE_NO_STOP_BIKE)->distinct()->pluck('area_id'); foreach ($ban_stop_parking_ids as $area_id) { $redis->del([Parking::REDIS_BAN_STOP_BIKE_SITE_TAG . "_{$area_id}"]); } $redis->del([Parking::REDIS_BAN_STOP_BIKE_SITE_TAG . "_0"]); DB::table('parkings')->where('status', 1)->where('type', Parking::TYPE_NO_STOP_BIKE)->select(['parking_centre', 'id', 'area_id'])->get()->each(function ($park) use ($redis, $areas) { $location = json_decode($park->parking_centre, true); $area_id = $park->area_id; if (in_array($area_id, $areas)) { $redis->geoadd(Parking::REDIS_BAN_STOP_BIKE_SITE_TAG . "_{$area_id}", $location['longitude'], $location['latitude'], $park->id); $redis->geoadd(Parking::REDIS_BAN_STOP_BIKE_SITE_TAG . "_0", $location['longitude'], $location['latitude'], $park->id); } }); $this->line('完成'); } }