12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- <?php
- /**
- * Created by PhpStorm.
- * User: Mead
- * Date: 2019/9/19
- * Time: 10:09 AM
- */
- namespace App\Observers;
- use App\Models\Parking;
- use Illuminate\Support\Facades\Redis;
- class ParkingObserver
- {
- public function created(Parking $parking)
- {
- if (empty($parking->parking_centre)) return true;
- $centre = json_decode($parking->parking_centre, true);
- $redis = Redis::connection();
- $area_id = $parking->area_id;
- $redis->geoadd(Parking::REDIS_STOP_BIKE_SITES_TAG . "_{$area_id}", $centre[0], $centre[1], $parking->id);
- }
- public function updated(Parking $parking)
- {
- if ($parking->isDirty('area_centre')) {
- $centre = json_decode($parking->parking_centre, true);
- $redis = Redis::connection();
- $area_id = $parking->area_id;
- $redis->geoadd(Parking::REDIS_STOP_BIKE_SITES_TAG . "_{$area_id}", $centre[0], $centre[1], $parking->id);
- }
- }
- public function deleted(Parking $parking)
- {
- $area_id = $parking->area_id;
- $redis = Redis::connection();
- $redis->zrem(Parking::REDIS_STOP_BIKE_SITES_TAG . "_{$area_id}", $parking->id);
- }
- }
|