HEX
Server: nginx/1.24.0
System: Linux prod-btpayments-io 6.14.0-1018-aws #18~24.04.1-Ubuntu SMP Mon Nov 24 19:46:27 UTC 2025 x86_64
User: ubuntu (1000)
PHP: 8.3.19
Disabled: NONE
Upload Files
File: /var/www/BtPayments/BtPayments-platform/app/Models/Withdraw/Withdraw.php
<?php

namespace App\Models\Withdraw;

use App\Models\Model;
use App\Models\User;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\HasMany;

class Withdraw extends Model
{
    const STATUS_PENDING = 0;
    const STATUS_PROCESSING = 100;
    const STATUS_COMPLETED = 200;
    const STATUS_REJECTED = 400;

    const STATUS = [
        self::STATUS_PENDING => 'pending',
        self::STATUS_PROCESSING => 'processing',
        self::STATUS_COMPLETED => 'completed',
        self::STATUS_REJECTED => 'rejected',
    ];

    /**
     * Relation: 提现的用户
     */
    public function user(): BelongsTo
    {
        return $this->belongsTo(User::class);
    }

    /**
     * Relation: 提现审核日志
     */
    public function actionLogs(): HasMany
    {
        return $this->hasMany(WithdrawActionLog::class);
    }

    /**
     * Attr: 状态
     */
    public function getStatusTextAttribute()
    {
        return self::STATUS[$this->status];
    }

    /**
     * Attr: 状态颜色
     */
    public function getStatusColorAttribute()
    {
        switch ($this->status) {
            case self::STATUS_PENDING:
                return 'light';
            case self::STATUS_PROCESSING:
                return 'secondary';
            case self::STATUS_COMPLETED:
                return 'success';
            case self::STATUS_REJECTED:
                return 'danger';
            default:
                return 'light';
        }
    }
}