|
|
@@ -59,36 +59,36 @@ class JuShuiTan extends Command
|
|
|
$output->writeln('开始同步聚水潭订单');
|
|
|
$resquet = $this->getOrderList('dy');
|
|
|
if ($resquet['success']) {
|
|
|
- $jushuitan=[];
|
|
|
- $jushuitan=Cache::get('jushuitan');
|
|
|
+ $jushuitan = [];
|
|
|
+ $jushuitan = Cache::get('jushuitan');
|
|
|
|
|
|
if (count($resquet['data']) > 0&&$resquet['data']!=null&&!empty($resquet['data'])) {
|
|
|
|
|
|
-
|
|
|
|
|
|
- $jushuitan_pageNum=$jushuitan['pageNum'];
|
|
|
- $jushuitan_pageNum=$jushuitan_pageNum+1;
|
|
|
- $jushuitan=[
|
|
|
- 'startTime'=>$jushuitan['startTime'],
|
|
|
- 'endTime'=>$jushuitan['endTime'],
|
|
|
- 'pageNum'=>$jushuitan_pageNum,
|
|
|
- 'next_time_space'=>$jushuitan['next_time_space']
|
|
|
+
|
|
|
+ $jushuitan_pageNum = $jushuitan['pageNum'];
|
|
|
+ $jushuitan_pageNum = $jushuitan_pageNum + 1;
|
|
|
+ $jushuitan = [
|
|
|
+ 'startTime' => $jushuitan['startTime'],
|
|
|
+ 'endTime' => $jushuitan['endTime'],
|
|
|
+ 'pageNum' => $jushuitan_pageNum,
|
|
|
+ 'next_time_space' => $jushuitan['next_time_space']
|
|
|
];
|
|
|
- Cache::set('jushuitan',$jushuitan);
|
|
|
-
|
|
|
+ Cache::set('jushuitan', $jushuitan);
|
|
|
+
|
|
|
$list = $resquet['data'];
|
|
|
// dump($list);
|
|
|
// return;
|
|
|
$this->insertOrder($list);
|
|
|
//dump($resquet);
|
|
|
} else {
|
|
|
- $jushuitan=[
|
|
|
- 'startTime'=>$jushuitan['startTime']+$jushuitan['next_time_space'],
|
|
|
- 'endTime'=>$jushuitan['endTime']+$jushuitan['next_time_space'],
|
|
|
- 'pageNum'=>1,
|
|
|
- 'next_time_space'=>$jushuitan['next_time_space']
|
|
|
+ $jushuitan = [
|
|
|
+ 'startTime' => $jushuitan['startTime'] + $jushuitan['next_time_space'],
|
|
|
+ 'endTime' => $jushuitan['endTime'] + $jushuitan['next_time_space'],
|
|
|
+ 'pageNum' => 1,
|
|
|
+ 'next_time_space' => $jushuitan['next_time_space']
|
|
|
];
|
|
|
- Cache::set('jushuitan',$jushuitan);
|
|
|
+ Cache::set('jushuitan', $jushuitan);
|
|
|
|
|
|
$output->writeln('没有数据');
|
|
|
}
|
|
|
@@ -112,11 +112,11 @@ class JuShuiTan extends Command
|
|
|
'Authorization' => site_config('addonsd.ju_shui_tan_authorization_toke'),
|
|
|
'Content-Type' => ' application/json'
|
|
|
];
|
|
|
-
|
|
|
+
|
|
|
//时间间隔
|
|
|
- $start_end_space_time=10*60;
|
|
|
+ $start_end_space_time = 10 * 60;
|
|
|
//下一次时间间隔
|
|
|
- $next_time_space=7*60;
|
|
|
+ $next_time_space = 7 * 60;
|
|
|
|
|
|
|
|
|
//将查询分为,"2026-01-05 00:00:00~2026-01-05 00:05:00",查询该区间的订单,但是该时间区间单独数量可能超过50条,为了性能又不能一次性查询太多,从而进行分页查询,
|
|
|
@@ -125,27 +125,43 @@ class JuShuiTan extends Command
|
|
|
|
|
|
$startTime_stamp = strtotime($todayTime . ' 00:00:00');
|
|
|
// $startTime_stamp = strtotime($todayTime . ' 07:20:00');
|
|
|
- $endTime_stamp=$startTime_stamp+$start_end_space_time;
|
|
|
- $pageNum=1;
|
|
|
-
|
|
|
- $jushuitan=[
|
|
|
- 'startTime'=>$startTime_stamp,
|
|
|
- 'endTime'=>$endTime_stamp,
|
|
|
- 'pageNum'=>$pageNum,
|
|
|
- 'next_time_space'=>$next_time_space
|
|
|
+ $endTime_stamp = $startTime_stamp + $start_end_space_time;
|
|
|
+ $pageNum = 1;
|
|
|
+
|
|
|
+ $jushuitan = [
|
|
|
+ 'startTime' => $startTime_stamp,
|
|
|
+ 'endTime' => $endTime_stamp,
|
|
|
+ 'pageNum' => $pageNum,
|
|
|
+ 'next_time_space' => $next_time_space
|
|
|
];
|
|
|
|
|
|
- $jushuitan_cache_data=Cache::get('jushuitan');
|
|
|
+ $jushuitan_cache_data = Cache::get('jushuitan');
|
|
|
+
|
|
|
+ if (empty($jushuitan_cache_data) || $jushuitan_cache_data == null) {
|
|
|
+ Cache::set('jushuitan', $jushuitan);
|
|
|
+ }
|
|
|
+ $jushuitan = Cache::get('jushuitan');
|
|
|
|
|
|
- if(empty($jushuitan_cache_data)||$jushuitan_cache_data==null){
|
|
|
- Cache::set('jushuitan',$jushuitan);
|
|
|
+ // 无数据时,获取数据的开始时间会大于现在的时间,这是一个错误的,会导致一直无法获取数据,开始时间一直往后
|
|
|
+ //当开始时间大于现在时间,将开始时间向前调整3分钟
|
|
|
+ $now_time = time();
|
|
|
+ if ($jushuitan['startTime']>=$now_time||($now_time - $jushuitan['startTime']) < ($start_end_space_time - $next_time_space)) {
|
|
|
+ // dump("超时了");
|
|
|
+ $pre_time_stamp = $start_end_space_time - $next_time_space;
|
|
|
+
|
|
|
+ $startTime_stamp = $now_time - $pre_time_stamp;
|
|
|
+ $endTime_stamp = $startTime_stamp + $start_end_space_time;
|
|
|
+ $jushuitan = [
|
|
|
+ 'startTime' => $startTime_stamp,
|
|
|
+ 'endTime' => $endTime_stamp,
|
|
|
+ 'pageNum' => 1,
|
|
|
+ 'next_time_space' => $next_time_space
|
|
|
+ ];
|
|
|
}
|
|
|
- $jushuitan=Cache::get('jushuitan');
|
|
|
-
|
|
|
$startTime = date('Y-m-d H:i:s', $jushuitan['startTime']);
|
|
|
$endTime = date('Y-m-d H:i:s', $jushuitan['endTime']);
|
|
|
- $pageNum=(int)$jushuitan['pageNum'];
|
|
|
-
|
|
|
+ $pageNum = (int)$jushuitan['pageNum'];
|
|
|
+ // dump($startTime);
|
|
|
$body = [
|
|
|
'startTime' => $startTime, // 动态时间变量
|
|
|
'endTime' => $endTime, // 动态时间变量
|
|
|
@@ -155,12 +171,12 @@ class JuShuiTan extends Command
|
|
|
'upSendFailed' => false, // 布尔值保持原始类型
|
|
|
'isExceptAddress' => 'Except',
|
|
|
'pageNum' => (int)$pageNum, //当前页数
|
|
|
- 'pageSize' => 50,//每页数据多少
|
|
|
- 'searchType' => 1,
|
|
|
- 'orderStatus' => ['Sent']
|
|
|
+ 'pageSize' => 50, //每页数据多少
|
|
|
+ 'searchType' => 1,
|
|
|
+ 'orderStatus' => ['Sent']
|
|
|
];
|
|
|
$body = json_encode($body);
|
|
|
-
|
|
|
+
|
|
|
// "orderStatus": [
|
|
|
// "Sent"
|
|
|
// ]
|
|
|
@@ -199,25 +215,25 @@ class JuShuiTan extends Command
|
|
|
// 升序排序(从旧到新)可改为:
|
|
|
return $timeA - $timeB;
|
|
|
});
|
|
|
- $shopDelivery_list=[];
|
|
|
+ $shopDelivery_list = [];
|
|
|
foreach ($order_list as $item) {
|
|
|
- if (substr($item['trackNo'], 0, 1) === '@') continue;//同风速的,带@直接跳过
|
|
|
+ if (substr($item['trackNo'], 0, 1) === '@') continue; //同风速的,带@直接跳过
|
|
|
// dump($item['shopId'], '店铺id');
|
|
|
// 防止重复记录,订单号+快递单号
|
|
|
$goods_id = $item['disInnerOrderGoodsViewList'][0]['shopIid'];
|
|
|
|
|
|
$oid = $item['oid'];
|
|
|
- $sku_id=$item['disInnerOrderGoodsViewList'][0]['shopSkuId'];
|
|
|
+ $sku_id = $item['disInnerOrderGoodsViewList'][0]['shopSkuId'];
|
|
|
// $waybill_no = ltrim($item['trackNo'], '@');
|
|
|
- $waybill_no=$item['trackNo'];
|
|
|
+ $waybill_no = $item['trackNo'];
|
|
|
if (empty($waybill_no)) continue;
|
|
|
$add_status = JuShuiTanService::prevent_duplicate_additions($sku_id, $waybill_no);
|
|
|
if ($add_status) continue;
|
|
|
// $status = JuShuiTanService::getAdditionalPrice($shopList, $importSku, $productConfig, $shopDelivery, $customerSpec, $item);
|
|
|
$res = JuShuiTanService::getAdditionalPrice($shopList, $importSku, $productConfig, $shopDelivery, $customerSpec, $item);
|
|
|
-
|
|
|
- $status=$res['status'];
|
|
|
- $shopDelivery_list[]=$res['shopDelivery'];
|
|
|
+
|
|
|
+ $status = $res['status'];
|
|
|
+ $shopDelivery_list[] = $res['shopDelivery'];
|
|
|
|
|
|
$getPackSpecsFee = JuShuiTanService::getPackSpecsFee($importSku, $item['shopId'], $item['disInnerOrderGoodsViewList'][0]['shopSkuId'], $item['receiverState']);
|
|
|
|
|
|
@@ -246,7 +262,6 @@ class JuShuiTan extends Command
|
|
|
'two_surcharge_money' => $getPackSpecsFee['two_surcharge_money'],
|
|
|
'order_status' => $item['disInnerOrderGoodsViewList'][0]['status'],
|
|
|
];
|
|
|
-
|
|
|
}
|
|
|
// 保存到数据库
|
|
|
$shopDelivery->saveAll($shopDelivery_list);
|