From 365c36bef211c7e468adf5d1ba236d01ee758bbf Mon Sep 17 00:00:00 2001 From: "iVampireSP.com" Date: Thu, 2 Feb 2023 19:40:05 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B9=E8=BF=9B=20=E6=A8=A1=E5=9D=97?= =?UTF-8?q?=E7=BD=97=E5=88=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Http/Controllers/Admin/HomeController.php | 2 +- app/Models/Module.php | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/app/Http/Controllers/Admin/HomeController.php b/app/Http/Controllers/Admin/HomeController.php index 66ec953..ab17dd6 100644 --- a/app/Http/Controllers/Admin/HomeController.php +++ b/app/Http/Controllers/Admin/HomeController.php @@ -12,7 +12,7 @@ class HomeController extends Controller { public function index(): View { - $modules = (new Module)->paginate(10); + $modules = (new Module)->whereHasBalance("0.01")->paginate(10); return view('admin.index', compact('modules')); } diff --git a/app/Models/Module.php b/app/Models/Module.php index 253e668..0ae35e7 100644 --- a/app/Models/Module.php +++ b/app/Models/Module.php @@ -3,8 +3,10 @@ namespace App\Models; use App\Exceptions\User\BalanceNotEnoughException; +use GeneaLabs\LaravelModelCaching\CachedBuilder; use GeneaLabs\LaravelModelCaching\Traits\Cachable; use GuzzleHttp\Exception\ConnectException; +use Illuminate\Database\Eloquent\Builder; use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Http\Client\PendingRequest; use Illuminate\Http\Client\Response; @@ -271,4 +273,14 @@ public function charge(string|null $amount = '0', string $payment = 'console', s return $this->balance; } + + public function hasBalance(string $amount = '0'): bool + { + return bccomp($this->balance, $amount, 4) >= 0; + } + + public function whereHasBalance(string $amount = "0"): self|Builder|CachedBuilder + { + return $this->where('balance', '>=', $amount); + } }