Update
parent
2557525384
commit
43df214dce
|
|
@ -44,6 +44,14 @@ class OrderPackage extends Model
|
||||||
'remarks', 'status', 'is_failed', 'checked_at',
|
'remarks', 'status', 'is_failed', 'checked_at',
|
||||||
];
|
];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 未签收的包裹
|
||||||
|
*/
|
||||||
|
public function scopeUnchecked($query)
|
||||||
|
{
|
||||||
|
return $query->whereNotIn('status', [static::STATUS_CHECK, static::STATUS_AUTOCHECK]);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 订单
|
* 订单
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -672,12 +672,12 @@ class OrderService
|
||||||
public function checkOrder(Order $order)
|
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) {
|
foreach ($packages as $package) {
|
||||||
$this->checkPackage($package, OrderPackage::STATUS_AUTOCHECK);
|
$this->checkPackage($package, OrderPackage::STATUS_AUTOCHECK);
|
||||||
}
|
}
|
||||||
if ($order->isShipped()
|
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([
|
$order->update([
|
||||||
|
|
@ -700,7 +700,7 @@ class OrderService
|
||||||
$this->checkPackage($package, $status);
|
$this->checkPackage($package, $status);
|
||||||
//如果订单是发货完成状态,且所有包裹都签收了
|
//如果订单是发货完成状态,且所有包裹都签收了
|
||||||
if ($package->order->isShipped()
|
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([
|
$package->order->update([
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue