62 lines
1.4 KiB
PHP
62 lines
1.4 KiB
PHP
<?php
|
|
|
|
namespace App\Models;
|
|
|
|
use Dcat\Admin\Traits\HasDateTimeFormatter;
|
|
use EloquentFilter\Filterable;
|
|
use Illuminate\Database\Eloquent\Model;
|
|
|
|
class BalanceLog extends Model
|
|
{
|
|
use Filterable;
|
|
use HasDateTimeFormatter;
|
|
|
|
public const ACTION_MIGRATE_OLD = 0; // 老数据迁移
|
|
public const ACTION_ORDER_PAID = 1;
|
|
public const ACTION_ORDER_CANCELLED = 2;
|
|
public const ACTION_ORDER_AFTER_SALE = 3;
|
|
public const ACTION_WALLET_IN = 4;
|
|
public const ACTION_TRANSFER_OUT = 5;
|
|
public const ACTION_TRANSFER_IN = 6;
|
|
public const ACTION_ADMIN_RECHARGE = 7;
|
|
public const ACTION_ADMIN_DEDUCTION = 8;
|
|
|
|
/**
|
|
* @var array
|
|
*/
|
|
protected $fillable = [
|
|
'user_id',
|
|
'loggable_id',
|
|
'loggable_type',
|
|
'action',
|
|
'before_balance',
|
|
'change_balance',
|
|
'remarks',
|
|
];
|
|
|
|
public function user()
|
|
{
|
|
return $this->belongsTo(User::class);
|
|
}
|
|
|
|
/**
|
|
* 转账记录
|
|
*
|
|
* @return void
|
|
*/
|
|
public function scopeOnlyTransfer($query)
|
|
{
|
|
return $query->whereIn('action', [self::ACTION_TRANSFER_OUT, self::ACTION_TRANSFER_IN]);
|
|
}
|
|
|
|
/**
|
|
* 获取变动金额
|
|
*
|
|
* @return string
|
|
*/
|
|
public function getChangeBalanceFormatAttribute()
|
|
{
|
|
return trim_trailing_zeros(bcdiv($this->attributes['change_balance'], 100, 2));
|
|
}
|
|
}
|