98 lines
2.0 KiB
PHP
98 lines
2.0 KiB
PHP
<?php
|
|
|
|
namespace App\Models;
|
|
|
|
use RuLong\Order\Utils\Helper;
|
|
|
|
class CardOrder extends Model
|
|
{
|
|
|
|
public static function boot()
|
|
{
|
|
parent::boot();
|
|
self::creating(function ($model) {
|
|
$model->order_id = Helper::orderid(config('rulong_order.order_orderid.length'), config('rulong_order.order_orderid.prefix'));
|
|
});
|
|
}
|
|
|
|
public function user()
|
|
{
|
|
return $this->belongsTo(User::class);
|
|
}
|
|
|
|
public function card()
|
|
{
|
|
return $this->hasMany(Card::class);
|
|
}
|
|
|
|
public function payment()
|
|
{
|
|
return $this->hasOne(CardPayment::class);
|
|
}
|
|
/**
|
|
* 订单物流
|
|
* @return CardOrderExpress
|
|
*/
|
|
public function express()
|
|
{
|
|
return $this->hasOne(CardOrderExpress::class);
|
|
}
|
|
|
|
public function getTypeTextAttribute()
|
|
{
|
|
switch ($this->type) {
|
|
case 'L':
|
|
return '通用卡【L】';
|
|
break;
|
|
case 'K':
|
|
return '专属卡【K】';
|
|
break;
|
|
|
|
case 'F':
|
|
return '专属卡【F】';
|
|
break;
|
|
|
|
default:
|
|
return '未知卡';
|
|
break;
|
|
}
|
|
}
|
|
|
|
public function getStatusTextAttribute()
|
|
{
|
|
switch ($this->status) {
|
|
case 0:
|
|
return '未支付';
|
|
break;
|
|
case 1:
|
|
return '已支付';
|
|
break;
|
|
case 2:
|
|
return '已发货';
|
|
break;
|
|
case 3:
|
|
return '已收货';
|
|
break;
|
|
case 4:
|
|
return '已完成';
|
|
break;
|
|
default:
|
|
return '状态错误';
|
|
break;
|
|
}
|
|
}
|
|
|
|
public function deliver($company, $number)
|
|
{
|
|
$this->express->update([
|
|
'company' => $company,
|
|
'number' => $number,
|
|
'deliver_at' => now(),
|
|
]);
|
|
|
|
$this->status = 2;
|
|
$this->save();
|
|
}
|
|
|
|
}
|