<?php

namespace App\Console\Commands;

use Illuminate\Console\Command;
use Yajny\EventsYj\Events\RecalculateBalance;
use Yajny\Member\Models\Member;
use Yajny\Member\Models\UserNewBonus;


class RemoveDuplicatedFirstOrderBonus extends Command
{
    /**
     * The name and signature of the console command.
     *
     * @var string
     */
    protected $signature = 'run:remove_bonus';

    /**
     * The console command description.
     *
     * @var string
     */
    protected $description = 'User Referral bonus';

    /**
     * Execute the console command.
     *
     * @return void
     */
    public function handle()
    {
       $firstOrderBonuses=UserNewBonus::where("bonus_type_id",2)->where("status","confirmed")->get();
       foreach ($firstOrderBonuses as $firstOrderBonus){
           $userBonuses=UserNewBonus::where("bonus_type_id",2)->where("status","confirmed")->where("user_id",$firstOrderBonus->user_id)->get();
           if (count($userBonuses)>1){
               $bonus = $userBonuses->take(count($userBonuses)-1);
               if (count($bonus)>2){
                   foreach ($bonus as $bonuse){
                       UserNewBonus::find($bonuse->id)->delete();
                   }
               }else{
                   UserNewBonus::find($bonus[0]->id)->delete();
               }
               event(new RecalculateBalance(Member::find($firstOrderBonus->user_id)));

           }
       }
    }
}
