SetStartStatus(); //Declare the moon calc class variable to utilize the library to update the price $moonCalc = new MoonCalc(); //Get all of the moons from the rental list $rentals = MoonRent::all(); //Update the price for all moon rentals before sending out the mail foreach($rentals as $rental) { $price = $moonCalc->SpatialMoonsOnlyGoo($rental->FirstOre, $rental->FirstQuantity, $rental->SecondOre, $rental->SecondQuantity, $rental->ThirdOre, $rental->ThirdQuantity, $rental->FourthOre, $rental->FourthQuantity); //Update the moon rental price MoonRent::where([ 'System' => $rental->System, 'Planet' => $rental->Planet, 'Moon' => $rental->Moon, ])->update([ 'Price' => $price[$rental->Type], ]); } //Re-pull all of the rentals from the database $rentals = MoonRent::all(); //Cycle through each rental and send a mail out foreach($rentals as $rental) { //Create the body for the mail to be sentout $body = "Moon Rent is due for " . $rental->System . " Planet: " . $rental->Planet . " Moon: " . $rental->Moon . "
"; $body .= "The price for next month's rent is " . $rental->Price . "
"; $body .= "Please remite payment to Spatial Forces by the 1st should you continue to wish to rent the moon.
"; $body .= "Sincerely,
"; $body .= "Spatial Forces
"; //Send a mail to the contact listing for the moon $mail = new EveMail; $mail->sender = 93738489; $mail->subject = "Moon Rental"; $mail->body = $body; $mail->recipient = (int)$rental->contact; $mail->recipient_type = 'character'; $mail->save(); //Dispatch the job and cycle to the next moon rental SendEveMail::dispatch($mail)->delay(Carbon::now()->addseconds(15)); } //Remove all moon rentals from the database DB::table('moon_rents')->delete(); //Mark the job as finished $task->SetStopStatus(); } }