message_data = $message_data; } /** * Execute the job. * * @return void */ public function handle() { $page = isset($this->message_data['page']) ? $this->message_data['page'] : 1; $limit = isset($this->message_data['limit']) ? $this->message_data['limit'] : 50; $field = [ 'platform_name', // 平台名称 'drugname', // 商品名称 'format_drugname', //药品标准名称 'specification', //规格 'format_spec', // 规格标准 'production_date', // 生产日期 'validity_date', // 有效期 'total_price', // 价格 'number', //盒数 'min_price', //单价 'stock_quantity', //库存数量 'sales', //销量 'purchase_limit', //采购限制 'approval', //批准文号 'scrape_date', //抓取时间 'update_time', //更新时间 'product_id', //商品ID 'url', //商品链接 'store_name', //店铺名称 'company_name', //公司名称 'province_name', //省份名称 'city_name', //城市名称 'credit_code', // 统一社会信用代码 ]; try { $JdTmaoProductModel = new JdTmaoProductModel(); //获取分页数据,多个字段进行分组去重 $list_config_data = $JdTmaoProductModel->where([['update_time', '<', date('Y-m-d H:i:s', time() - 86400)]]) ->orderby('update_time', 'desc')->paginate($limit, $field, 'page', $page)->toarray(); if (!$list_config_data || empty($list_config_data['data'])) { $totle_data = isset($this->message_data['total']) ? $this->message_data['total'] : 0; Log::info('job_info', '采集数据-京东天猫数据同步队列,执行完毕', ['data' => ['page' => $page, 'limit' => $limit, 'totle' => $totle_data], 'message' => '没有数据可同步']); return true; } $total = $list_config_data['total']; $request_data['data'] = $list_config_data['data']; $request_data['queue_page'] = $page; $request_data['queue_limit'] = $limit; $request_data['queue_total'] = $total; JdTmaoStoreJobs::dispatch($request_data); // JdTmaoStoreJobs::dispatchSync($request_data); Log::info('job_info', '采集数据-京东天猫数据同步队列日志', ['data' => ['page' => $page, 'limit' => $limit, 'totle' => $total]]); } catch (\Exception $e) { print_r($e->getMessage());exit; Log::info('job_error', '采集数据-京东天猫数据同步队列失败', ['error' => $e->getMessage()]); } } }