ReferralLog.php 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. <?php
  2. namespace App\Models;
  3. use Auth;
  4. use Illuminate\Database\Eloquent\Model;
  5. use Illuminate\Database\Eloquent\Relations\BelongsTo;
  6. /**
  7. * 返利日志.
  8. */
  9. class ReferralLog extends Model
  10. {
  11. protected $table = 'referral_log';
  12. public function scopeUid($query)
  13. {
  14. return $query->whereInviterId(Auth::id());
  15. }
  16. public function invitee(): BelongsTo
  17. {
  18. return $this->belongsTo(User::class);
  19. }
  20. public function inviter(): BelongsTo
  21. {
  22. return $this->belongsTo(User::class);
  23. }
  24. public function order(): BelongsTo
  25. {
  26. return $this->belongsTo(Order::class);
  27. }
  28. public function getAmountAttribute($value)
  29. {
  30. return $value / 100;
  31. }
  32. public function getCommissionAttribute($value)
  33. {
  34. return $value / 100;
  35. }
  36. public function setAmountAttribute($value): void
  37. {
  38. $this->attributes['amount'] = $value * 100;
  39. }
  40. public function setCommissionAttribute($value): void
  41. {
  42. $this->attributes['commission'] = $value * 100;
  43. }
  44. public function getStatusLabelAttribute(): string
  45. {
  46. switch ($this->attributes['status']) {
  47. case 1:
  48. $status_label = '<span class="badge badge-sm badge-info">'.trans('user.status.applying').'</span>';
  49. break;
  50. case 2:
  51. $status_label = '<span class="badge badge-sm badge-default">'.trans('user.status.withdrawn').'</span>';
  52. break;
  53. default:
  54. $status_label = '<span class="badge badge-sm badge-success">'.trans('user.status.not_withdrawn').'</span>';
  55. }
  56. return $status_label;
  57. }
  58. }