Added achievement data
This commit is contained in:
@@ -5,9 +5,14 @@ namespace App\Services\Achievements\Checkers;
|
||||
use App\Models\Alliance;
|
||||
use App\Models\User;
|
||||
use App\Models\UserFlight;
|
||||
use Illuminate\Support\Collection;
|
||||
|
||||
class AirlinesAndAlliancesChecker extends BaseChecker
|
||||
{
|
||||
const array US_3 = ['american-airlines', 'delta', 'united-airlines'];
|
||||
const array ME_3 = ['emirates', 'etihad-airways', 'qatar-airways'];
|
||||
const array CN_3 = ['china-southern-airlines', 'china-eastern', 'air-china'];
|
||||
|
||||
public function check(): void
|
||||
{
|
||||
$flights = $this->flights();
|
||||
@@ -25,5 +30,16 @@ class AirlinesAndAlliancesChecker extends BaseChecker
|
||||
$this->awardProgress($check('oneworld'), 'airlines_alliances.all_oneworld');
|
||||
$this->awardProgress($check('star_alliance'), 'airlines_alliances.all_star_alliance');
|
||||
$this->awardProgress($check('vanilla_alliance'), 'airlines_alliances.all_vanilla_alliance');
|
||||
|
||||
$flownAirlines = $flights
|
||||
->pluck('airline.internal_name')
|
||||
->filter()
|
||||
->unique();
|
||||
|
||||
$checkGroup = fn(array $group): int => $flownAirlines->intersect($group)->count();
|
||||
|
||||
$this->awardProgress($checkGroup(self::ME_3), 'airlines_alliances.me3');
|
||||
$this->awardProgress($checkGroup(self::US_3), 'airlines_alliances.us3');
|
||||
$this->awardProgress($checkGroup(self::CN_3), 'airlines_alliances.cn3');
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user