|
|
@@ -4,6 +4,8 @@ namespace App\Traits;
|
|
|
|
|
|
use App\OrderPackage;
|
|
|
use Illuminate\Support\Carbon;
|
|
|
+use Illuminate\Support\Str;
|
|
|
+use function DeepCopy\deep_copy;
|
|
|
|
|
|
trait LogisticSyncTrait
|
|
|
{
|
|
|
@@ -36,13 +38,16 @@ trait LogisticSyncTrait
|
|
|
if (empty($orderPackage->sent_at)) {//没复核
|
|
|
if (empty($transfer_status)) {//没有路由信息
|
|
|
//延迟发货
|
|
|
- if ($created_at->gt($created_at->startOfDay()->addHours(16))) {//下午16的单
|
|
|
- if ($created_at->addDay()->endOfDay()->lt(now())) {//超过第二天的24时
|
|
|
+ $created_at_clone = deep_copy($created_at);
|
|
|
+ if ($created_at->gt($created_at_clone->startOfDay()->addHours(16)->addMinutes(30))) {//下午16的单
|
|
|
+ $created_at_clone = deep_copy($created_at);
|
|
|
+ if ($created_at_clone->addDay()->endOfDay()->lt(now())) {//超过第二天的24时
|
|
|
+ $created_at_clone = deep_copy($created_at);
|
|
|
$data['exception_status'] = '延迟发货';
|
|
|
$data['is_delay_deliver'] = true;
|
|
|
}
|
|
|
} else {
|
|
|
- if ($created_at->endOfDay()->lt(now())) {//超过当天的24时
|
|
|
+ if ($created_at_clone->endOfDay()->lt(now())) {//超过当天的24时
|
|
|
$data['exception_status'] = '延迟发货';
|
|
|
$data['is_delay_deliver'] = true;
|
|
|
}
|
|
|
@@ -63,7 +68,6 @@ trait LogisticSyncTrait
|
|
|
}
|
|
|
}
|
|
|
} else {//有路由信息
|
|
|
-
|
|
|
usort($transfer_status, function ($a, $b) {
|
|
|
if ($a['accept_time'] === $b['accept_time']) {
|
|
|
return 0;
|
|
|
@@ -72,6 +76,7 @@ trait LogisticSyncTrait
|
|
|
});
|
|
|
|
|
|
$last_transfer = $transfer_status[0]['accept_time'];
|
|
|
+ $last_remark = $transfer_status[0]['remark'];
|
|
|
if (count($transfer_status) <= 3) {//三条以内的不管地区 时间限制为24h
|
|
|
if (Carbon::parse($last_transfer)->diffInHours(now()) > 24) {
|
|
|
$data['exception_status'] = '在途异常';
|
|
|
@@ -121,6 +126,11 @@ trait LogisticSyncTrait
|
|
|
$data['exception_status'] = '在途异常';
|
|
|
}
|
|
|
}
|
|
|
+ if (Str::contains($last_remark,['代收','快递柜'])) {
|
|
|
+ $data['exception_status'] = '';
|
|
|
+ $data['status'] = '已签收';
|
|
|
+
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
return $data;
|