message_data = $message_data; } /** * Execute the job. * * @return void */ public function handle() { try { // $start_time = Carbon::today()->startOfDay()->getTimestamp(); // 今天开始时间 00:00:00 $start_time = time() - 60 * 5; // 开始时间 5分钟之前 $end_time = time(); //结束时间 $ViolationCompanyModel = new ViolationCompanyModel(); $limit = isset($this->message_data['limit']) ? $this->message_data['limit'] : 1000; $page = isset($this->message_data['page']) ? $this->message_data['page'] : 1; $executeLog_id = isset($this->message_data['executeLog_id']) ? $this->message_data['executeLog_id'] : 0; $admin_id = isset($this->message_data['admin_id']) ? $this->message_data['admin_id'] : 0; $is_admin = isset($this->message_data['is_admin']) ? $this->message_data['is_admin'] : 0; $company_id = isset($this->message_data['company_id']) ? $this->message_data['company_id'] : 0; $product_data = isset($this->message_data['product_data']) ? $this->message_data['product_data'] : []; $index_number = isset($this->message_data['index_number']) ? $this->message_data['index_number'] : 0; $data_totle = isset($this->message_data['data_totle']) ? $this->message_data['data_totle'] : 0; if($page == 1){ $ExecuteLogModel = new ExecuteLogModel(); $insert_data =['company_id'=>$company_id,'name' =>'违规挂网公司店铺', 'code' => 'ViolationCompanyJobs', 'admin_id' => $admin_id,'is_admin' => $is_admin]; $executeLog_id=$ExecuteLogModel->addExecuteLog_content($insert_data); } $ViolationCompanyModel = $ViolationCompanyModel->leftjoin('washconfig_company_category', 'washconfig_company_category.id', '=', 'washconfig_violation_company.category_id') ->where('washconfig_violation_company.status', 0)->where('company_type', 1)->select(['washconfig_violation_company.*','washconfig_company_category.name as category_name']); if($company_id){ $ViolationCompanyModel = $ViolationCompanyModel->where('washconfig_violation_company.company_id', $company_id); } $list_config_data = $ViolationCompanyModel->paginate($limit, ['*'], 'page', $page)->toarray(); if (!$list_config_data || empty($list_config_data['data'])) { if($page == 1 && $executeLog_id){ $ExecuteLogModel->where('id', $executeLog_id)->update(['status' => 0,'update_time'=> time()]); } return true; } $list_data = $list_config_data['data']; foreach ($list_data as $key => $value) { $message_data = [ 'company_id' => $value['company_id'], 'id' => $value['id'], 'platform' => $value['platform'], 'company_type' => $value['company_type'], 'company_name' => $value['company_name'], 'social_credit_code' => $value['social_credit_code'], 'executeLog_id' => $executeLog_id, 'company_category_name' => $value['category_name'], 'specify_responsible_person' => $value['specify_responsible_person'], 'product_data' => $product_data, 'index_number' => $index_number, 'data_totle' => $data_totle, ]; ViolationCompanyDataJobs::dispatch($message_data); // ViolationCompanyDataJobs::dispatchSync($message_data); } $now_message_data = [ 'limit' => $limit, 'page' => $page + 1, 'executeLog_id' => $executeLog_id, ]; ViolationCompanyJobs::dispatch($now_message_data)->delay(now()->addSeconds(3)); } catch (\Exception $e) { Log::info('job_error', '数据清洗-违规挂网公司队列失败', ['data' => $this->message_data, 'error' => $e->getMessage()]); } } public function failed(\Throwable $exception) { Log::info('job_error', '数据清洗-违规挂网公司队列完全失败', ['data' => $this->message_data, 'error' => $exception->getMessage()]); } }