6
0
Fork 0
jiqu-library-server/app/Models/Order.php

82 lines
1.6 KiB
PHP

<?php
namespace App\Models;
use App\Helpers\Numeric;
use EloquentFilter\Filterable;
use Illuminate\Database\Eloquent\Model;
class Order extends Model
{
use Filterable;
public const STATUS_PENDING = 0; // 待付款
public const STATUS_PAID = 1; // 已付款
public const STATUS_SHIPPED = 2; // 已发货
public const STATUS_COMPLETED = 9; // 已完成
public const STATUS_CANCELLED = 10; // 已取消
/**
* @var array
*/
protected $attributes = [
'reduced_amount' => 0,
'status' => self::STATUS_PENDING,
];
/**
* @var array
*/
protected $fillable = [
'user_id',
'sn',
'coupon_disount_amount',
'vip_disount_amount',
'reduced_amount',
'shipping_fee',
'products_total_amount',
'total_amount',
'note',
'remark',
'pay_sn',
'pay_way',
'pay_at',
'consignee_name',
'consignee_telephone',
'consignee_zone',
'consignee_address',
'status',
'completed_at',
];
/**
* 属于此订单的商品
*/
public function products()
{
return $this->hasMany(OrderProduct::class);
}
/**
* 获取订单支付金额
*
* @return string
*/
public function getTotalAmountFormatAttribute()
{
return Numeric::trimTrailingZero(bcdiv($this->attributes['total_amount'], 100, 2));
}
/**
* 待支付订单过期时间
*
* @return int
*/
public function getExpiresAtAttribute()
{
// todo 待支付订单过期时间
return 3600;
}
}