PartnerDiscount.php 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. <?php
  2. namespace App\Models;
  3. use Illuminate\Database\Eloquent\Factories\HasFactory;
  4. use Illuminate\Database\Eloquent\Model;
  5. use Illuminate\Support\Facades\Auth;
  6. use Illuminate\Support\Facades\DB;
  7. class PartnerDiscount extends Model
  8. {
  9. use HasFactory;
  10. protected $fillable = [
  11. 'user_id',
  12. 'partner_discount',
  13. 'registered_user_discount',
  14. 'referral_system_commission',
  15. ];
  16. public static function getDiscount(int $user_id = null)
  17. {
  18. if ($partnerDiscount = PartnerDiscount::where('user_id', $user_id ?? Auth::user()->id)->first()) {
  19. return $partnerDiscount->partner_discount;
  20. } elseif ($ref_user = DB::table('user_referrals')->where('registered_user_id', '=', $user_id ?? Auth::user()->id)->first()) {
  21. if ($partnerDiscount = PartnerDiscount::where('user_id', $ref_user->referral_id)->first()) {
  22. return $partnerDiscount->registered_user_discount;
  23. }
  24. return 0;
  25. }
  26. return 0;
  27. }
  28. public static function getCommission($user_id, $percentage)
  29. {
  30. if ($partnerDiscount = PartnerDiscount::where('user_id', $user_id)->first()) {
  31. if ($partnerDiscount->referral_system_commission >= 0) {
  32. return $partnerDiscount->referral_system_commission >= 0;
  33. }
  34. }
  35. return $percentage;
  36. }
  37. }