ldc-gen-game-web/app/Http/Controllers/Bo/Re7Controller.php
2023-12-01 11:45:12 +01:00

104 lines
2.1 KiB
PHP

<?php
namespace App\Http\Controllers\Bo;
use App\Http\Controllers\Controller;
use App\Models\Settings;
use App\Models\Reduction;
use Illuminate\Contracts\View\View;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Gate;
class Re7Controller extends Controller
{
/**
* Re7Controller
*
* @return void
*/
public function __construct()
{
$this->middleware(function (Request $request, \Closure $next) {
$this->authorize('fo.showRe7');
return $next($request);
});
}
/**
* prizeMail
*
* @return \Illuminate\View\View
*/
public function prizeMail()
{
return view('theme::prize-mail');
}
/**
* reductionMail
*
* @return \Illuminate\View\View
*/
public function reductionMail()
{
return view('theme::reduction-mail');
}
/**
* br
*
* @return \Illuminate\View\View
*/
public function br()
{
$settings = app(Settings::class);
$coupon = $this->getRandomCoupon($settings);
$crmCoupon = new Reduction();
return view('theme::reduction', compact('coupon', 'crmCoupon'));
}
/**
* gain 1
*
* @return \Illuminate\View\View
*/
public function gain1()
{
return view('theme::gain1');
}
/**
* gain 2
*
* @return \Illuminate\View\View
*/
public function gain2()
{
return view('theme::gain2');
}
/**
* getRandomCoupon
*
* @param App\Models\Settings $settings
* @return string
*/
private function getRandomCoupon(Settings $settings)
{
$webCoupons = json_decode($settings->web_coupons);
if (count($webCoupons) > 1) {
$lots = [];
foreach ($webCoupons as $webCoupon) {
$lots[] = $webCoupon;
}
foreach ($lots as $lot) {
for ($i = 0; $i < $lot->percentage; $i++) {
$tmp[] = $lot;
}
}
shuffle($tmp);
return $tmp[0];
} else {
return $webCoupons[0];
}
}
}