6
0
Fork 0

订单发货状态

release
李静 2021-12-16 19:55:16 +08:00
parent 8c83eb5027
commit ffa9bc4086
3 changed files with 54 additions and 4 deletions

View File

@ -15,7 +15,7 @@ class OrderFilter extends ModelFilter
break;
case 'unreceived':
$this->whereIn('status', [Order::STATUS_PAID, Order::STATUS_SHIPPED]);
$this->where('status', Order::STATUS_PAID);
break;
case 'completed':

View File

@ -12,10 +12,13 @@ class Order extends Model
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; // 已取消
public const SHIPPING_STATE_PENDING = 0; // 待发货
public const SHIPPING_STATE_PROCESSING = 1; // 发货中
public const SHIPPING_STATE_PROCESSED = 2; // 已完成
public const PAY_WAY_ALIPAY = 'alipay';
public const PAY_WAY_WXPAY = 'wxpay';
public const PAY_WAY_BALANCE = 'balance';
@ -58,6 +61,7 @@ class Order extends Model
'consignee_telephone',
'consignee_zone',
'consignee_address',
'shipping_state',
'status',
'completed_at',
];
@ -94,7 +98,7 @@ class Order extends Model
*/
public function isConfirmable(): bool
{
return in_array($this->status, [static::STATUS_PAID, static::STATUS_SHIPPED]);
return $this->isPaid();
}
/**
@ -104,7 +108,11 @@ class Order extends Model
*/
public function isCancelable(): bool
{
return in_array($this->status, [static::STATUS_PENDING, static::STATUS_PAID]);
if ($this->isPaid()) {
return $this->shipping_state === static::SHIPPING_STATE_PENDING;
}
return $this->isPending();
}
/**
@ -117,6 +125,16 @@ class Order extends Model
return $this->status === static::STATUS_PENDING;
}
/**
* 确认此订单是否是已付款
*
* @return bool
*/
public function isPaid(): bool
{
return $this->status === static::STATUS_PENDING;
}
/**
* 获取订单券优惠金额
*

View File

@ -0,0 +1,32 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class AddShippingStateToOrdersTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('orders', function (Blueprint $table) {
$table->tinyInteger('shipping_state')->index()->default(0)->comment('发货状态');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('orders', function (Blueprint $table) {
$table->dropColumn(['shipping_state']);
});
}
}