'正常', self::STATUS_PAUSE => '暂停' ]; const LINK_ONLINE = 1; const LINK_OFFLINE = 0; public static $linkMaps = [ self::LINK_ONLINE => '在线', self::LINK_OFFLINE => '离线' ]; const TROUBLE_YES = 1; const TROUBLE_NO = 0; public static $troubleMaps = [ self::TROUBLE_NO => '无故障', self::TROUBLE_YES => '有故障' ]; const PUT_STATUS_YES = 1; const PUT_STATUS_NO = 0; public static $putStatusMaps = [ self::PUT_STATUS_YES => '已投放', self::PUT_STATUS_NO => '未投放' ]; const IN_PARKING_YES = 1; const IN_PARKING_NO = 0; public static $inParkingMaps = [ self::IN_PARKING_NO => '不在停车区', self::IN_PARKING_YES => '在停车区' ]; const RIDING_YES = 1; const RIDING_NO = 0; public static $ridingMaps = [ self::RIDING_YES => '骑行中', self::RIDING_NO => '未骑行' ]; const RENT_YES = 1; const RENT_NO = 0; public static $rentMaps = [ self::RENT_YES => '租用中', self::RENT_NO => '未租用' ]; const BATTERY_POWER_OK = 1; const BATTERY_POWER_LOW = 0; public static $batteryPowerMaps = [ self::BATTERY_POWER_OK => '电量正常', self::BATTERY_POWER_LOW => '低电量' ]; public function scopeBikeCanRide($query) { return $query->where('is_link', self::LINK_ONLINE) ->where('put_status', self::PUT_STATUS_YES) ->where('is_low_battery_power', self::BATTERY_POWER_OK) ->where('is_riding', self::RIDING_NO) ->where('is_trouble', self::TROUBLE_NO) ->where('status', self::STATUS_OK); } public function getLocationAttribute() { return js2php($this->attributes['last_location']); } public static function byBikeNoGetAreaId($bike_no) { return Cache::remember('admin:byBikeNoGetAreaId:' . $bike_no, Carbon::now()->addSeconds(CacheMap::CACHE_TIME), function () use ($bike_no) { return self::query()->where('bike_no', $bike_no)->value('put_area_id'); }); } }