ifnex/04_Laravel/app/Models/CreditSettlement.php
Kazem Alghasi 3848f0b399 feat(finance): rate approval + multi-currency credit system (درخواست ۹)
- rate approval: API creates pending proposals, manager approves
- customer_credits + credit_settlements tables
- CustomerCreditService (grant/settle via wallet)
- rebuilt CustomerCreditResource
- CustomerFinancialController: real foreign-currency debt
- WP login redirect + custom login page wiring
2026-09-30 05:14:31 +03:30

52 lines
1.3 KiB
PHP

<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use App\Traits\Auditable;
class CreditSettlement extends Model
{
use Auditable;
protected $fillable = [
'customer_credit_id',
'settled_amount_foreign',
'currency_code',
'settlement_currency',
'exchange_rate',
'rate_date',
'settlement_amount_irr',
'wallet_transaction_id',
'reason',
'reference',
'settled_by',
'settled_at',
];
protected $casts = [
'settled_amount_foreign' => 'decimal:2',
'exchange_rate' => 'decimal:4',
'settlement_amount_irr' => 'decimal:2',
'rate_date' => 'date',
'settled_at' => 'datetime',
];
// ─── Relationships ───────────────────────────────
public function credit(): BelongsTo
{
return $this->belongsTo(CustomerCredit::class, 'customer_credit_id');
}
public function walletTransaction(): BelongsTo
{
return $this->belongsTo(WalletTransaction::class);
}
public function settledBy(): BelongsTo
{
return $this->belongsTo(User::class, 'settled_by');
}
}