| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- <?php
- namespace App\Models\Agent;
- use App\Models\BaseModel;
- class AgentProfitCommissionAssignment extends BaseModel
- {
- protected $table = 'agent_profit_commission_assignments';
- protected $hidden = [];
- protected $guarded = [];
- protected $casts = [
- 'agent_id' => 'integer',
- 'profit_commission_profile_id' => 'integer',
- 'live_rate' => 'decimal:4',
- 'slot_rate' => 'decimal:4',
- 'lottery_rate' => 'decimal:4',
- 'sport_rate' => 'decimal:4',
- 'esports_rate' => 'decimal:4',
- 'fishing_rate' => 'decimal:4',
- 'chess_rate' => 'decimal:4',
- 'effective_from' => 'date',
- 'created_by' => 'integer',
- ];
- public function agent()
- {
- return $this->belongsTo(Agent::class);
- }
- public function profile()
- {
- return $this->belongsTo(AgentProfitCommissionProfile::class, 'profit_commission_profile_id');
- }
- public function rateForGameType(int $gameType): string
- {
- $field = AgentProfitCommissionProfile::GAME_TYPE_RATE_FIELDS[$gameType] ?? null;
- return $field ? (string) $this->{$field} : '0.0000';
- }
- }
|