订单自动完成时间
parent
1894cd78bd
commit
63739c1948
|
|
@ -82,7 +82,9 @@ class OrderPackageService
|
||||||
//更新订单状态
|
//更新订单状态
|
||||||
if (!OrderProduct::where('order_id', $order->id)->where('remain_quantity', '>', 0)->exists()) {
|
if (!OrderProduct::where('order_id', $order->id)->where('remain_quantity', '>', 0)->exists()) {
|
||||||
$order->update([
|
$order->update([
|
||||||
'shipping_state'=>Order::SHIPPING_STATE_PROCESSED,
|
'shipping_state'=> Order::SHIPPING_STATE_PROCESSED,
|
||||||
|
// 订单自动完成时间
|
||||||
|
'auto_complete_at' => now()->addDays(app_settings('app.order_auto_complete_days', 7)),
|
||||||
]);
|
]);
|
||||||
} elseif ($order->shipping_state == Order::SHIPPING_STATE_PENDING) {
|
} elseif ($order->shipping_state == Order::SHIPPING_STATE_PENDING) {
|
||||||
$order->update([
|
$order->update([
|
||||||
|
|
|
||||||
|
|
@ -50,6 +50,7 @@ class Order extends Model
|
||||||
protected $casts = [
|
protected $casts = [
|
||||||
'pay_at' => 'datetime',
|
'pay_at' => 'datetime',
|
||||||
'completed_at' => 'datetime',
|
'completed_at' => 'datetime',
|
||||||
|
'auto_complete_at' => 'datetime',
|
||||||
'status' => 'int',
|
'status' => 'int',
|
||||||
'is_change' => 'bool',
|
'is_change' => 'bool',
|
||||||
];
|
];
|
||||||
|
|
@ -80,6 +81,7 @@ class Order extends Model
|
||||||
'shipping_state',
|
'shipping_state',
|
||||||
'status',
|
'status',
|
||||||
'completed_at',
|
'completed_at',
|
||||||
|
'auto_complete_at',
|
||||||
'is_change',
|
'is_change',
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
@ -322,13 +324,13 @@ class Order extends Model
|
||||||
*/
|
*/
|
||||||
public function getExpiresAtAttribute()
|
public function getExpiresAtAttribute()
|
||||||
{
|
{
|
||||||
if (! $this->isPending()) {
|
$seconds = 0;
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
$seconds = now()->diffInSeconds(
|
if ($this->isPending()) {
|
||||||
$this->created_at->addSeconds(app_settings('app.order_payment_expires_at')), false
|
$seconds = now()->diffInSeconds(
|
||||||
);
|
$this->created_at->addSeconds(app_settings('app.order_payment_expires_at')), false
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
return $seconds > 0 ? $seconds : 0;
|
return $seconds > 0 ? $seconds : 0;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -84,6 +84,7 @@ class PayService
|
||||||
'pay_at' => $payLog->pay_at,
|
'pay_at' => $payLog->pay_at,
|
||||||
'out_trade_no' => $payLog->out_trade_no,
|
'out_trade_no' => $payLog->out_trade_no,
|
||||||
'status' => Order::STATUS_PAID,
|
'status' => Order::STATUS_PAID,
|
||||||
|
'auto_complete_at' => now()->addDays(app_settings('app.order_auto_complete_days', 7)),
|
||||||
]);
|
]);
|
||||||
|
|
||||||
DistributionPreIncomeJob::create([
|
DistributionPreIncomeJob::create([
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,32 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
|
class AddAutoCompleteAtToOrdersTable extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function up()
|
||||||
|
{
|
||||||
|
Schema::table('orders', function (Blueprint $table) {
|
||||||
|
$table->timestamp('auto_complete_at')->nullable()->comment('订单自动完成时间');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function down()
|
||||||
|
{
|
||||||
|
Schema::table('orders', function (Blueprint $table) {
|
||||||
|
$table->dropColumn(['auto_complete_at']);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue