param('key',''); if(empty($key)) fault('访问受限'); if($key != config('site.pas_key'))fault('访问密钥错误,访问受限'); } /** * 同步近x天的订单 * * @return void */ public function syncOrder() { $day = request()->param('day',''); $time_type = request()->param('time_type','now'); if($time_type == "now"){ if(!empty($day) && $day > 120) fault('只限近120天数据'); } $date_type = request()->param('date_type',''); if(empty($date_type))fault('查询类型不能为空'); if(!in_array($date_type,[1,2,3,4]))fault('查询类型错误'); $media_type = request()->param('media_type',''); if(empty($media_type))fault('媒体类型不能为空'); $interval = request()->param('interval',20); //时间间隔 if($interval > 60)fault('最大时间间隔60'); $end_now_time = request()->param('end_now_time',''); $st_time = request()->param('start_time',''); $LogicHaodanku = new LogicHaodanku(); 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{ if(!empty($st_time)){ $start_time = strtotime($st_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)]); $error_flag = false; $error = ""; $LogicDyOrder = new LogicDyOrder(); for($j=$start_time;$j<=$now_time;$j+=$interval*60){ $begain_time = $j; $end_time = $j+$interval*60; for($i=1;$i<=$this->max_page;$i++){ $res = $LogicHaodanku->dyOrderList($date_type,$media_type,$begain_time,$end_time,$i,100); 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 = $LogicDyOrder->fanliOrder($order); if(!$result['status']){ mylog('订单更新错误',$result['info'],"errorInfo"); } } } if(!$res['hasMore'])break; } } } if($error_flag){ mylog('同步错误',$error,"errorInfo"); fault('同步错误--'.$error); } echo "同步成功"; } /** * 同步订单拆分 * * @return void */ public function orderCommission() { $time_str = date("Y-m-d H:i:s"); echo "---------".$time_str."同步拆分开始-------------"; $LogicDyOrder = new LogicDyOrder(); $result = $LogicDyOrder->chaifenOrder(); if(!$result)fault('同步拆分错误--'.$result['info']); echo "---------".$time_str."同步拆分完成-------------"; } }