private function addUrlInfos($arrData) { if (empty($arrData)) { return; } $ecResult = $arrData['uiData']['ecResult']; $arrResult = $arrData['uiData']['asResult']; $topResult = $arrData['uiData']['topResult']; $leftResult = $arrData['uiData']['leftResult']; $rightResult = $arrData['uiData']['rightResult']; $arrQueryInfo = $arrData['uiData']['queryInfo']; $intI = 0; // ec队列 foreach ($ecResult['ecResultItem'] as $result) { $urlInfo = new UrlInfo(); if ($result['source'] == SRC_PPIM) { $ppImInfoLog = new PPimInfoLog(); $intI++; $urlInfo->setIndex($intI); $urlInfo->setUrlType(UrlID::PPIM_ID); $ppImInfoLog->setAdNum($result['adNum'] + $intI - 1); $ppImInfoLog->setAspUid($arrData['uiData']['ecResult']['aspuid']); $urlInfo->setPpimLog($ppImInfoLog); $this->BaiduLog->addUrlInfo($urlInfo); } else { if ($result['source'] == SRC_NEWPP) { $ppInfoLog = new PPInfoLog(); $intI++; $urlInfo->setIndex($intI); $urlInfo->setUrlType(UrlID::PP_ID); $ppInfoLog->setAdNum($result['adNum']); $urlInfo->setPpLog($ppInfoLog); $this->BaiduLog->addUrlInfo($urlInfo); } } } //左侧队列 foreach ($leftResult['item'] as $result) { $urlInfo = new UrlInfo(); $intI++; $urlInfo->setIndex($intI); $urlInfo->setUrl(trim($result['itemUrl'])); $urlInfo->setUrlType(UrlID::LEFT_ZX_ID); $leftZxUrlInfoLog = new LeftZXUrlInfoLog(); $leftZxUrlInfoLog->setIsClAs($result['isClAs']); $leftZxUrlInfoLog->setStdStg(intval($result['dispData']['StdStg'])); $leftZxUrlInfoLog->setStdStl(intval($result['dispData']['StdStl'])); $leftZxUrlInfoLog->setUrlJiucuoFlag('0'); for ($i = 0; $i < 4; $i++) { $leftZxUrlInfoLog->addStrategys('0'); } $leftZxUrlInfoLog->setCategoryId($result['dispData']['category_id']); $leftZxUrlInfoLog->setCardId($result['dispData']['card_id']); $leftZxUrlInfoLog->setEntityName(urlencode($result['dispData']['entityname'])); $leftZxUrlInfoLog->setUri(urlencode($result['dispData']['uri'])); $leftZxUrlInfoLog->setTempName($result['dispData']['strategy']['tempName']); $leftZxUrlInfoLog->setTitle(urlencode($result['dispData']['resultData']['tplData']['title'])); $itemUriInfo = $this->addItemUriInfo($result); if (!empty($itemUriInfo)) { $leftZxUrlInfoLog->setItemUriInfo($itemUriInfo); } if (isset($result['burstFlag']) && !empty($result['burstFlag'])) { $leftZxUrlInfoLog->setBurstFlag(intval($result['burstFlag'])); } //透传日志 $arrInfo = mc_pack_pack2array($result['gSampleLog']); if (false != $arrInfo) { foreach ($arrInfo as $key => $value) { $dispData = new DispData(); $dispData->setKey($key); $dispData->setVal($value); $leftZxUrlInfoLog->addGSampleLog($dispData); } } $urlInfo->setLeftZxLog($leftZxUrlInfoLog); $this->BaiduLog->addUrlInfo($urlInfo); } //as 队列 foreach ($arrResult['item'] as $result) { $urlInfo = new UrlInfo(); $intI++; if ($result['source'] == SRC_AS) { $asUrlInfoLog = new AsUrlInfoLog(); $urlInfo->setIndex($intI); $urlInfo->setUrl(trim($result['offsetInfo']['url'])); $urlInfo->setUrlType(UrlID::AS_ID); $asUrlInfoLog->setWeight($result['urls']['asUrls']['weight']); $asUrlInfoLog->setUrlNo($result['urls']['asUrls']['urlno']); $asUrlInfoLog->setSuburlSign($result['urls']['asUrls']['suburlSign']); $asUrlInfoLog->setSiteSign1($result['urls']['asUrls']['siteSign1']); $asUrlInfoLog->setMixSignsitesign($result['urls']['asUrls']['mixSignSiteSign']); $asUrlInfoLog->setMixSignSex($result['urls']['asUrls']['mixSignSex']); $asUrlInfoLog->setMixSignPol($result['urls']['asUrls']['mixSignPol']); $asUrlInfoLog->setContSign($result['urls']['asUrls']['contSign']); $asUrlInfoLog->setMatchProp($result['urls']['asUrls']['matchProp']); foreach ($result['urls']['asUrls']['strategys'] as $strategy) { $asUrlInfoLog->addStrategys($strategy); } $asUrlInfoLog->setInfo($result['info']); $oriIndex = ($result['info'] & 0xff0000) >> 16; if (0 < $oriIndex && $oriIndex <= $GLOBALS['URLLOG']['MAX_PB_PAGESIZE']) { $asUrlInfoLog->setAuthWeight($result['authWeight']); $asUrlInfoLog->setTimeFactor($result['timeFactor']); $asUrlInfoLog->setPageType($result['pageType']); $asUrlInfoLog->setField($result['field']); } $asUrlInfoLog->setStdStg(intval($result['dispData']['StdStg'])); $asUrlInfoLog->setStdStl(intval($result['dispData']['StdStl'])); $arrInfo = mc_pack_pack2array($result['gSampleLog']); $hasSampleLog = false; if (false != $arrInfo) { foreach ($arrInfo as $key => $value) { $dispData = new DispData(); $dispData->setKey($key); $dispData->setVal($value); $asUrlInfoLog->addGSampleLog($dispData); } $hasSampleLog = true; } if ($hasSampleLog) { foreach ($result['dispData']['addSubArr'] as $arrPromot) { $asUrlInfoLog->addItemSecureId($arrPromot['typeID']); } } if (isset($result['dispData']['as_struct_exp']) && !empty($result['dispData']['as_struct_exp'])) { $asUrlInfoLog->setFakeImageShow($result['dispData']['as_struct_exp']); } if (isset($result['dispData']['src_id']) && !empty($result['dispData']['src_id'])) { $asUrlInfoLog->setSrcId($result['dispData']['src_id']); } if (isset($result['dispData']['img']) && !empty($result['dispData']['img'])) { $asUrlInfoLog->setImg((bool) $result['dispData']['img']); } if (isset($result['dispData']['FavURL']) && !empty($result['dispData']['FavURL'])) { $asUrlInfoLog->setFavUrl('1'); } //打印title和showTime $asUrlInfoLog->setTitle(urlencode($result['offsetInfo']['title'])); $asUrlInfoLog->setShowTime($result['timeShow']); $asUrlInfoLog->setNewTimeFactor(sprintf('%s', $result['dispData']['newTimeFactor'])); if (isset($result['burstFlag']) && !empty($result['burstFlag'])) { $asUrlInfoLog->setBurstFlag(intval($result['burstFlag'])); } //大V包括安全联盟和百度身份认证两部分 if (!empty($result['dispData']['safeUnion'])) { $asUrlInfoLog->setSafeUnion('1'); } if (!empty($result['dispData']['eVcard'])) { $asUrlInfoLog->setEVcard('1'); } //官网标记 if (!empty($result['dispData']['sublink']['is_main'])) { $asUrlInfoLog->setIsMain('1'); } if (!empty($result['dispData']['womcEntranceFilter'])) { $dispData = new DispData(); $dispData->setKey('pjzx_show'); $dispData->setVal('1'); $asUrlInfoLog->addGSampleLog($dispData); } if (empty($result['dispData']['ASURL'])) { $asUrlInfoLog->setAsUrl('0'); } else { $asUrlInfoLog->setAsUrl('1'); } $asUrlInfoLog->setClickWeight($result['clickWeight']); $asUrlInfoLog->setTemplateName($result['dispData']['templateName']); if (Util::getConf('/feature', 'FEATURE_LIST/ABSTRACT_PB_LOG/TURN') === 'ON') { $asUrlInfoLog->setAbstractTxt($result['offsetInfo']['summary']); } $itemUriInfo = $this->addItemUriInfo($result); if (!empty($itemUriInfo)) { $asUrlInfoLog->setItemUriInfo($itemUriInfo); } $urlInfo->setAsLog($asUrlInfoLog); $this->BaiduLog->addUrlInfo($urlInfo); } else { if ($result['source'] == SRC_SP) { $urlInfo = new UrlInfo(); $urlInfo->setIndex($intI); $urlInfo->setUrl(trim($result['resUrl'])); $urlInfo->setUrlType(UrlID::SP_ID); $spUrlInfoLog = new SpUrlInfoLog(); $spUrlInfoLog->setIsClAs($result['isClAs']); $spUrlInfoLog->setDispLog($result['dispLog']); foreach ($result['strategyS'] as $arrStrategys) { $spUrlInfoLog->addStrategys($arrStrategys); } //透传数据 $arrInfo = mc_pack_pack2array($result['gSampleLog']); if (false != $arrInfo) { foreach ($arrInfo as $key => $value) { $dispData = new DispData(); $dispData->setKey($key); $dispData->setVal($value); $spUrlInfoLog->addGSampleLog($dispData); } } if (isset($result['clickWeightMerge']) && !empty($result['clickWeightMerge'])) { $dispData = new DispData(); $dispData->setKey("clickweightmerge"); $dispData->setVal((string) $result['clickWeightMerge']); $spUrlInfoLog->addGSampleLog($dispData); } if (isset($result['dispData']['as_struct_exp']) && !empty($result['dispData']['as_struct_exp'])) { $spUrlInfoLog->setFakeImageShow($result['dispData']['as_struct_exp']); } if (isset($result['burstFlag']) && !empty($result['burstFlag'])) { $spUrlInfoLog->setBurstFlag(intval($result['burstFlag'])); } if (isset($result['dispData']['resultData']['tplData']['title']) && !empty($result['dispData']['resultData']['tplData']['title'])) { $spUrlInfoLog->setTitle(urlencode($result['dispData']['resultData']['tplData']['title'])); } if (isset($result['dispData']['strategy']['tempName']) && !empty($result['dispData']['strategy']['tempName'])) { $spUrlInfoLog->setTempName($result['dispData']['strategy']['tempName']); } foreach ($result['subUrlInfo'] as $arrUrlInfo) { $subUrlInfo = new SubUrlInfo(); $subUrlInfo->setSubUrl($arrUrlInfo['subUrl']); $subUrlInfo->setSubSiteId($arrUrlInfo['subSiteId']); $spUrlInfoLog->addSubUrlInfo($subUrlInfo); } $itemUriInfo = $this->addItemUriInfo($result); if (!empty($itemUriInfo)) { $spUrlInfoLog->setItemUriInfo($itemUriInfo); } $urlInfo->setSpLog($spUrlInfoLog); $this->BaiduLog->addUrlInfo($urlInfo); } else { $urlInfo = new UrlInfo(); $urlInfo->setIndex($intI); $urlInfo->setUrlType(UrlInfo::UNKNOW_ID); } } } $intI = 0; //上侧队列 foreach ($topResult['item'] as $result) { $intI++; $topResultInfo = new ResultInfo(); $topResultInfo->setIndex($intI); $topResultInfo->setUrl(trim($result['itemUrl'])); $topResultInfo->setResultType(ResultID::TOPZHIXINRESULT); $topResult = new ZhiXinResult(); $topResult->setStdStg(intval($result['dispData']['StdStg'])); $topResult->setStdStl(intval($result['dispData']['StdStl'])); $topResult->setCategoryId($result['dispData']['category_id']); $topResult->setCardId($result['dispData']['card_id']); $topResult->setEntityName(urlencode($result['dispData']['entityname'])); $topResult->setUri(urlencode($result['dispData']['uri'])); $topResult->setTempName($result['dispData']['strategy']['tempName']); $itemUriInfo = $this->addItemUriInfo($result); if (!empty($itemUriInfo)) { $topResult->setItemUriInfo($itemUriInfo); } //标题 $topResult->setTitle($result['title']); //透传日志 $arrInfo = mc_pack_pack2array($result['gSampleLog']); if (false != $arrInfo) { foreach ($arrInfo as $key => $value) { $dispData = new DispData(); $dispData->setKey($key); $dispData->setVal($value); $topResult->addGSampleLog($dispData); } } $topResultInfo->setZxResult($topResult); $this->BaiduLog->addResultInfo($topResultInfo); } $intI = 0; //右侧队列 foreach ($rightResult['item'] as $result) { $intI++; $rightResultInfo = new ResultInfo(); $rightResultInfo->setIndex($intI); $rightResultInfo->setUrl(trim($result['itemUrl'])); $rightResultInfo->setResultType(ResultID::RIGHTZHIXINRESULT); $rightResult = new ZhiXinResult(); $rightResult->setStdStg(intval($result['dispData']['StdStg'])); $rightResult->setStdStl(intval($result['dispData']['StdStl'])); $rightResult->setCategoryId($result['dispData']['category_id']); $rightResult->setCardId($result['dispData']['card_id']); $rightResult->setEntityName(urlencode($result['dispData']['entityname'])); $rightResult->setUri(urlencode($result['dispData']['uri'])); $rightResult->setTempName($result['dispData']['strategy']['tempName']); $itemUriInfo = $this->addItemUriInfo($result); if (!empty($itemUriInfo)) { $rightResult->setItemUriInfo($itemUriInfo); } //标题 $rightResult->setTitle($result['title']); //透传日志 $arrInfo = mc_pack_pack2array($result['gSampleLog']); if (false != $arrInfo) { foreach ($arrInfo as $key => $value) { $dispData = new DispData(); $dispData->setKey($key); $dispData->setVal($value); $rightResult->addGSampleLog($dispData); } } $rightResultInfo->setZxResult($rightResult); $this->BaiduLog->addResultInfo($rightResultInfo); } $intI = 0; // ec队列 // 先计算之和并打印 $intNum = 0; foreach ($ecResult['ecResultItem'] as $result) { $intNum += $result['adNum']; } // ec队列不为空时才处理 if ($intNum) { $intI++; $aspResultInfo = new ResultInfo(); $aspResultInfo->setIndex($intI); $aspResultInfo->setResultType(ResultID::ASPRESULT); $aspResult = new AspResult(); $aspResult->setAspUid($arrData['uiData']['ecResult']['aspuid']); $aspResult->setAspSrcId(0); $aspResult->setNumber($intNum); $aspResultInfo->setAdResult($aspResult); $itemUriInfo = $this->addItemUriInfo($result); if (!empty($itemUriInfo)) { $aspResult->setItemUriInfo($itemUriInfo); } $this->BaiduLog->addResultInfo($aspResultInfo); foreach ($ecResult['ecResultItem'] as $result) { $intI++; $aspResultInfo = new ResultInfo(); $aspResultInfo->setIndex($intI); $aspResultInfo->setResultType(ResultID::ASPRESULT); $aspResult = new AspResult(); $aspResult->setAspUid($arrData['uiData']['ecResult']['aspuid']); $aspResult->setAspSrcId($result['id']); $aspResult->setNumber($result['adNum']); $itemUriInfo = $this->addItemUriInfo($result); if (!empty($itemUriInfo)) { $aspResult->setItemUriInfo($itemUriInfo); } $aspResultInfo->setAdResult($aspResult); $this->BaiduLog->addResultInfo($aspResultInfo); } } }