daily(); //设置任务的周期,每天执行一次,更多的方法可以查看源代码,都有注释 // $this->everyMinute();//每分钟 } /** * 小组服务公司执行任务下发 * @return mixed */ protected function execute() { //任务下发 // $time=strtotime(date('Y-m-d',strtotime('-1 day'))); $time = strtotime(date('Y-m-d')); // $tiem_end=$time+86399; // 查询系统目前小组公司的任务安排 $plan_all = TaskScheduling::where('cron_time', '<', $time)->where('status', 1)->where('company_type', 18)->with('company_info')->select()->toArray(); $plan_ids = []; foreach ($plan_all as $k => $v) { $all = TaskTemplate::where('status', 1)->where('task_scheduling', $v['id'])->limit(30)->select()->toArray(); $plan_ids[] = $v['id']; if ($all) { $plan_all[$k]['template'] = $all; } else { unset($plan_all[$k]); } } $company_id = []; foreach ($plan_all as $k => $v) { foreach ($v['template'] as $kk => $vv) { queue(TaskAdd::class,['data'=>$vv,'data_two'=>$v]); } $company_id[] = $v['company_id']; } Company::where('id', 'in', $company_id)->inc('day_count')->update(); TaskScheduling::where('id', 'in', $plan_ids)->update(['cron_time' => time()]); Log::info('定时任务下发执行成功' . date('Y-m-d H:i:s')); //...具体的任务执行 } public function stage_inspection($v, $moeny_type = 'moeny', $title = '一') { $count_moeny = 0; foreach ($v['template'] as $kkkk => $vvvv) { $count_moeny += $vvvv[$moeny_type]; } if ($count_moeny > 200) { Log::info($title . '阶段金额大于200无法下达' . json_encode($v['company_info'])); return false; } return true; } } // foreach($plan_all as $k=>$v){ // foreach($v['template'] as $kkk=>$vvv){ // if ($v['types'] == 1 ||$vvv['types'] == 3) { // if ($v['company_info'] && $v['company_info']['day_count'] <=$vvv['stage_day_one']) { // $res=$this->stage_inspection($v['template'],'moeny','一'); // if($res==false){ // return false; // } // } else { // $res=$this->stage_inspection($v['template'],'money_two','二'); // if($res==false){ // return false; // } // } // } elseif ($v['types'] == 2) { // if ($v['company_info']['day_count'] <=$vvv['stage_day_one']) { // $res=$this->stage_inspection($v['template'],'moeny','一'); // if($res==false){ // return false; // } // } elseif ($v['company_info']['day_count'] <=$vvv['stage_day_two']) { // $res=$this->stage_inspection($v['template'],'money_two','二'); // if($res==false){ // return false; // } // } else { // $res=$this->stage_inspection($v['template'],'money_three','三'); // if($res==false){ // return false; // } // } // } else { // if ( $v['company_info']['day_count'] <=$vvv['stage_day_one']) { // $res=$this->stage_inspection($v['template'],'money_three','三'); // if($res==false){ // return false; // } // } else { // $res=$this->stage_inspection($v['template'],'money_two','二'); // if($res==false){ // return false; // } // } // } // } // foreach($v['template'] as $kk=>$vv){ // TaskLogic::CronAdd($vv,$v); // } // $company_id[]=$v['company_id']; // }