|
|
@@ -28,6 +28,7 @@ use app\common\model\CustomerSpec;
|
|
|
use app\admin\service\JuShuiTanService;
|
|
|
use GuzzleHttp\Psr7\Request;
|
|
|
use app\common\model\ImportList;
|
|
|
+use think\facade\Cache;
|
|
|
//抖音
|
|
|
class JuShuiTan extends Command
|
|
|
{
|
|
|
@@ -58,13 +59,35 @@ class JuShuiTan extends Command
|
|
|
$output->writeln('开始同步聚水潭订单');
|
|
|
$resquet = $this->getOrderList('dy');
|
|
|
if ($resquet['success']) {
|
|
|
+ $jushuitan=[];
|
|
|
+ $jushuitan=Cache::get('jushuitan');
|
|
|
+
|
|
|
if (count($resquet['data']) > 0) {
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ $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);
|
|
|
+
|
|
|
$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']
|
|
|
+ ];
|
|
|
+ Cache::set('jushuitan',$jushuitan);
|
|
|
+
|
|
|
$output->writeln('没有数据');
|
|
|
}
|
|
|
} else {
|
|
|
@@ -87,13 +110,39 @@ class JuShuiTan extends Command
|
|
|
'Authorization' => site_config('addonsd.ju_shui_tan_authorization_toke'),
|
|
|
'Content-Type' => ' application/json'
|
|
|
];
|
|
|
+
|
|
|
+ //时间间隔
|
|
|
+ $start_end_space_time=5*60;
|
|
|
+ //下一次时间间隔
|
|
|
+ $next_time_space=3*60;
|
|
|
+
|
|
|
+
|
|
|
+ //将查询分为,"2026-01-05 00:00:00~2026-01-05 00:05:00",查询该区间的订单,但是该时间区间单独数量可能超过50条,为了性能又不能一次性查询太多,从而进行分页查询,
|
|
|
+ //查询不到数据,就往下一个时间区间查询
|
|
|
$todayTime = date("Y-m-d");
|
|
|
|
|
|
- $startTime = strtotime($todayTime . ' 00:00:00');
|
|
|
- $startTime = date('Y-m-d H:i:s', $startTime);
|
|
|
- // $startTime='2025-01-01 08:59:21';
|
|
|
- $endTime = strtotime($todayTime . ' 23:59:59');
|
|
|
- $endTime = date('Y-m-d H:i:s', $endTime);
|
|
|
+ // $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
|
|
|
+ ];
|
|
|
+
|
|
|
+ $jushuitan_cache_data=Cache::get('jushuitan');
|
|
|
+
|
|
|
+ if(empty($jushuitan_cache_data)||$jushuitan_cache_data==null){
|
|
|
+ Cache::set('jushuitan',$jushuitan);
|
|
|
+ }
|
|
|
+ $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'];
|
|
|
$body = '{
|
|
|
"startTime": "' . $startTime . '",
|
|
|
"endTime": "' . $endTime . '",
|
|
|
@@ -102,13 +151,17 @@ class JuShuiTan extends Command
|
|
|
"uid": "21943091",
|
|
|
"upSendFailed": false,
|
|
|
"isExceptAddress": "Except",
|
|
|
- "pageNum": 1,
|
|
|
+ "pageNum": '.$pageNum.',
|
|
|
"pageSize": 50,
|
|
|
"searchType": 1,
|
|
|
"orderStatus": [
|
|
|
"Sent"
|
|
|
]
|
|
|
}';
|
|
|
+
|
|
|
+ // "orderStatus": [
|
|
|
+ // "Sent"
|
|
|
+ // ]
|
|
|
// "orderFrom":"PINDUODUO"
|
|
|
//"trackNo":"@SF3278427215674"
|
|
|
$request = new Request('POST', 'https://innerapi.scm121.com/api/inner/supOrder/getErpNormalOrders', $headers, $body);
|
|
|
@@ -187,7 +240,8 @@ class JuShuiTan extends Command
|
|
|
'pack_specs_id' => $getPackSpecsFee['data']['id'],
|
|
|
'labor_cost_money' => $getPackSpecsFee['data']['labor_cost_money'],
|
|
|
'one_surcharge_money' => $getPackSpecsFee['one_surcharge_money'],
|
|
|
- 'two_surcharge_money' => $getPackSpecsFee['two_surcharge_money']
|
|
|
+ 'two_surcharge_money' => $getPackSpecsFee['two_surcharge_money'],
|
|
|
+ 'order_status' => $item['disInnerOrderGoodsViewList'][0]['status'],
|
|
|
];
|
|
|
|
|
|
}
|