File Manager Lite
Dir:
/home/u540325668/domains/sostabazar.in/public_html/websites/sonarSonsar/app/Services
Upload
[..]
SubscriptionPricingService.php (1.15 KB)
Edit
Rename
Del
Edit: SubscriptionPricingService.php
<?php namespace App\Services; use App\Models\Subscription; use Carbon\Carbon; class SubscriptionPricingService { public function calculatePrice(Subscription $subscription): float { $base = $subscription->base_price; $years = $subscription->completed_years; $increment = $subscription->plan->yearly_increment_percent; if ($years > 0) { $base = $base * pow((1 + ($increment / 100)), $years); } return round($base, 2); } public function applyYearlyIncreaseIfNeeded(Subscription $subscription): void { $subscription->last_price_increment_at = Carbon::parse($subscription->last_price_increment_at); if (!$subscription->last_price_increment_at) { return; } $today = Carbon::today(); if ($subscription->last_price_increment_at->diffInYears($today) >= 1) { $subscription->completed_years += 1; $subscription->current_price = $this->calculatePrice($subscription); $subscription->last_price_increment_at = $today; $subscription->save(); } } }
Simpan