6
0
Fork 0
release
李静 2021-12-20 13:24:37 +08:00
parent 2557525384
commit 43df214dce
2 changed files with 11 additions and 3 deletions

View File

@ -44,6 +44,14 @@ class OrderPackage extends Model
'remarks', 'status', 'is_failed', 'checked_at',
];
/**
* 未签收的包裹
*/
public function scopeUnchecked($query)
{
return $query->whereNotIn('status', [static::STATUS_CHECK, static::STATUS_AUTOCHECK]);
}
/**
* 订单
*/

View File

@ -672,12 +672,12 @@ class OrderService
public function checkOrder(Order $order)
{
//获取订单的未作废未签收包裹
$packages = $order->packages()->where('is_failed', false)->whereNotIn('status', [OrderPackage::STATUS_CHECK, OrderPackage::STATUS_AUTOCHECK])->get();
$packages = $order->packages()->unchecked()->where('is_failed', false)->get();
foreach ($packages as $package) {
$this->checkPackage($package, OrderPackage::STATUS_AUTOCHECK);
}
if ($order->isShipped()
&& OrderPackage::where('order_id', $order->id)->whereNotIn('status', [OrderPackage::STATUS_CHECK, OrderPackage::STATUS_AUTOCHECK])->doesntExist()
&& OrderPackage::where('order_id', $order->id)->unchecked()->doesntExist()
) {
//更新订单完成
$order->update([
@ -700,7 +700,7 @@ class OrderService
$this->checkPackage($package, $status);
//如果订单是发货完成状态,且所有包裹都签收了
if ($package->order->isShipped()
&& OrderPackage::where('order_id', $package->order_id)->whereNotIn('status', [OrderPackage::STATUS_CHECK, OrderPackage::STATUS_AUTOCHECK])->doesntExist()
&& OrderPackage::where('order_id', $package->order_id)->unchecked()->doesntExist()
) {
//更新订单完成
$package->order->update([