param('key',''); if(empty($key)) fault('访问受限'); if($key != config('site.pas_key'))fault('访问密钥错误,访问受限'); } /** * 同步对应时间段的订单 * * @return void */ public function syncOrder() { $day = request()->param('day',''); $time_type = request()->param('time_type','now'); if($time_type == "now"){ if(!empty($day) && $day > 90) fault('只限近90天数据'); } $type = request()->param('type',''); if(empty($type))fault('查询类型不能为空'); $interval = request()->param('interval',60); //时间间隔 if($interval > 100)fault('最大时间间隔100'); $end_now_time = request()->param('end_now_time',''); $LogicJd = new LogicJd(); if($time_type == 'last_month'){ $time = strtotime('-1 month'); $start_time = mktime(0,0,0,date('m',$time),01,date('Y',$time)); //上个月的开始时间 $now_time = mktime(23,59,59,date('m',$time),date('t',$time),date('Y',$time)); }else{ $start_time = empty($day) ? time()-$interval*60 : strtotime(date("Y-m-d 00:00:00", strtotime("-".($day-1)." day"))); $now_time = empty($end_now_time) ? time() : strtotime($end_now_time); } //dump([date("Y-m-d H:i:s",$start_time),date("Y-m-d H:i:s",$now_time)]);exit; $error_flag = false; $error = ""; $LogicJdOrder = new LogicJdOrder(); for($j=$start_time;$j<=$now_time;$j+=$interval*60){ $begain_time = date("Y-m-d H:i:s",$j); $end_time = date("Y-m-d H:i:s",$j+$interval*60); for($i=1;$i<=$this->max_page;$i++){ $res = $LogicJd->getOrderRow($begain_time,$end_time,$type,$i,20); if(!$res['status']){ $error_flag = true; $error = $res['info']; break; }else{ if($res['total'] == 0)break; $order_list = $res['list']; if(!empty($order_list)){ foreach($order_list as $order){ $result = $LogicJdOrder->fanliOrder($order); if(!$result['status']){ mylog('订单更新错误(jd)',$result['info'],"errorInfo"); } } } if(!$res['hasMore'])break; } } } if($error_flag){ mylog('同步错误(jd)',$error,"errorInfo"); fault('同步错误(jd)--'.$error); } echo "同步成功"; } /** * 同步订单拆分 * * @return void */ public function orderCommission() { $time_str = date("Y-m-d H:i:s"); echo "---------".$time_str."同步拆分开始-------------"; $LogicJdOrder = new LogicJdOrder(); $result = $LogicJdOrder->chaifenOrder(); if(!$result)fault('同步拆分错误--'.$result['info']); echo "---------".$time_str."同步拆分完成-------------"; } }