getConf('WELFARE_API'); $page = 1; while (true) { $goods = $this->getUpdateGoods($page); if (!$goods) { break; } else { $page++; } foreach($goods as $key=>$value){ $res = $this->http_request( $welfare_api_set['url'], ['goodsid'=>$value['id'],'goods_body'=>json_encode($value)] ); //返回内容写入日志 Logger::getInstance()->notice("商品ID{$value['id']}导入结果:{$res}\n"); } } } //获取30分钟内更新过的商品记录 protected function getUpdateGoods($page = 1) { $size = 50; $offset = ($page - 1) * $size; $where = ' g.`updatetime`>'.(time()-1800); //30分钟内更新的商品 $que_sql = "SELECT * FROM ims_superdesk_shop_goods g WHERE {$where} LIMIT {$offset},{$size} "; $queryBuild = new QueryBuilder(); $queryBuild->raw($que_sql); $res_data = DbManager::getInstance()->query($queryBuild, true, 'default')->toArray(); return $res_data['result']; } /** * http请求 * @param $url 请求地址 * @param $data 数组内容 * @return String 请求返回原生数据 */ protected function http_request($url,$data){ $opts = array( 'http' => array( 'method' => 'POST', 'header' => "Content-type:application/x-www-form-urlencoded", 'content' => http_build_query($data), ) ); $context = stream_context_create($opts); $response = file_get_contents($url,false,$context); return $response; } public function onException(\Throwable $throwable) { // 捕获 run 方法内所抛出的异常 } }