private function getRelationData(Article $article) {/*{{{*/ $result['link1'] = ''; $result['title1'] = ''; $result['link2'] = ''; $result['title2'] = ''; $relationKey = $article->getKey(); $relationData = RelationSearchClient::getInstance()->search($relationKey, array('article' => 3)); if (isset($relationData['article']) && $relationData['article']) { $relationArticles = $relationData['article']; if (count($relationArticles) > 2) { $tempArticle = array(); foreach ($relationArticles as $temp) { if($temp->id != $article->id) { $tempArticle[] = $temp; } unset($temp); } $curlResult = array_slice($tempArticle, 0, 2); $result['articletitle1'] = $curlResult[0]->title; $result['articletitle2'] = $curlResult[1]->title; $result['article1'] = $curlResult[0]->getUrl(); $result['article2'] = $curlResult[1]->getUrl(); } BeanFinder::get('LocalCache')->removeAll(); } return $result; }/*}}}*/
public function getRelationArticleList($request, $response) {/*{{{*/ $article = DAL::get()->find('article', $request->articleid); if($article->isNull()) $this->_exit404(); $relationInfo = RelationSearchClient::getInstance()->search($article->getKey(), array('article' => 10),$article); $response->curlArticleList = isset($relationInfo['article']) ? $relationInfo['article'] : array(); $response->title = "相关文章"; }/*}}}*/
public function getCaseListByDiseaseKey($diseaseKey, $pageId, $pageSize) {/*{{{*/ $this->_initPageInfo($pageId, $pageSize); $disease = DAL::get()->find_by_fld_diseasekey('disease', $diseaseKey); if(empty($disease)) { $this->setErrorCode(136); return 0; } $res = RelationSearchClient::getInstance()->getFlowListFromRelevantSearch($disease->name, 50); if(empty($res)) { $res = RelationSearchClient::getInstance()->getFlowListFromRelevantSearch($disease->parentName, 50); } $resFix = array(); if(false == empty($res)) { foreach($res as $a) { if($a instanceof DoctorPatientRef) { $resFix[$a->id] = $a; } } } $res = $resFix; if(empty($res)) { $this->setErrorCode(303); return 0; } $flowList = $this->_getPagingRes($res, $pageId, $pageSize); $pageInfo = $this->_getPagingResPageInfo($res, $pageId, $pageSize); $pageInfo['pagesize'] = $pageSize; $this->pageInfo = $pageInfo; $flowIds = array(); $infos = $this->_getInfosByFlows($flowList); $this->content = $infos; }/*}}}*/
/** * @brief 拿到疾病相关case列表、文章列表、专题列表 * @author lhl * @version branches/v2.14.23 * @date 2013-07-25 */ protected function getRelationInfos($response, $key, $options = array()) { /*{{{*/ $relationInfo = RelationSearchClient::getInstance()->search($key, $options, $response->ref); $response->curlcaseList = $relationInfo['flow']; $response->curlArticleList = $relationInfo['article']; $response->curlZhuantiList = $relationInfo['zhuanti']; $response->papers = $relationInfo['paper']; $response->thesiss = $relationInfo['thesis']; $diseases = $relationInfo['disease']; if (false == empty($diseases)) { $response->curlDisease = array_shift($diseases); } }
{ $_size=6; } else if (!$tops && !$notTopPapers && !$_zhuantis && count($shengyinList) <= 4) { $_size = 2; } $diseaseName = $diseasePage->disease->name; $_diseaseNameArray = array($diseaseName); if (isset($diseasePage->keyWord) && $diseasePage->keyWord) { $keyWord = str_replace(',', ',', $diseasePage->keyWord); $_diseaseNameArray = explode(',', $keyWord); } $searchData = RelationSearchClient::getInstance()->getFlowListFromRelevantSearch4DiseasePageCase($_diseaseNameArray, array(), 1, 200); $items = isset($searchData['items']) ? $searchData['items'] : array(); $_cnt = 0; $_i = 0; foreach($items as $item) { $_i ++; $flow = DAL::get()->find('doctorpatientref', $item['id']); if ($flow->isNull() || $flow->space->isHospitalFaculty() || $flow->isPrivated()) { continue; } $space = $flow->space; $doctor=$space->host;
public function showList($request, $response) {/*{{{*/ //$response->keywords = ''; //$response->description = ''; $response->csss = array( 'http://i1.hdfimg.com/www/cms/css/content_thesis.css?20140722', 'http://i1.hdfimg.com/www/cms/css/thesis.css?20140722' ); $nowPage = $request->getRequest('page', 1); $pageSize = 50; $category = $request->category; if (CmsObjCategory::SHIPIN == $category) { $pageSize = 36; } $paperId = $request->paperId; $tagId = $request->tagId; $diseaseId = $request->diseaseId; if(false == empty($category)) { $pageTitle = CmsObjCategory::getDesc($category) . '_好大夫在线'; if (isset($diseaseId) && false == (empty($diseaseId))) { $disease = DAL::get()->find('disease', $diseaseId); if (false == $disease->isNull()) { $pageTitle = $disease->name."_".$pageTitle; } $response->diseaseName = $disease->name; } $response->title = $pageTitle; } elseif(false == empty($paperId)) { $paper = DAL::get()->find('Paper', $paperId); $response->paper = $paper; $response->paperTag = CmsObjCategory::getDesc($paper->getMasterTag()->relateObjId); $response->paperTagId = $paper->getMasterTag()->relateObjId; $response->title = $paper->title. '文章列表_好大夫在线'; $response->paperTitle = $paper->title; } $response->searchWords = $this->getHotSearchWords(); //thesis列表 $cmsList = array(); $options = array('nowPage' => $nowPage, 'pageSize' => $pageSize); if (false == empty($category) && array_key_exists($category, CmsObjCategory::getDescArray4Paper())) { $options['status'] = Paper::STATUS_ONLINE; list($cmsList, $pageInfo) = PaperClient::getInstance()->queryValidPaperListByCategory($category, $options); } else if (false == empty($category) && array_key_exists($category, CmsObjCategory::getDescArray4Thesis())) { $options['status'] = Thesis::STATUS_ONLINE; if (isset($diseaseId)) { $options['diseaseId'] = $diseaseId; } list($cmsList, $pageInfo) = ThesisClient::getInstance()->queryThesisListByType($category, $options); } else if (false == empty($paperId) && empty($category)) { $options['status'] = Thesis::STATUS_ONLINE; $options['relateType'] = CmsTagType::PAPER; list($cmsList, $pageInfo) = ThesisClient::getInstance()->queryThesisListByType($paperId, $options); } else if (empty($paperId) && empty($category) && false == empty($tagId)) { $options['status'] = Thesis::STATUS_ONLINE; $options['tagId'] = $tagId; list($cmsList, $pageInfo) = ThesisClient::getInstance()->queryThesisListByType($tagId, $options); } $response->cmsList = $cmsList; $response->pageLink = empty($cmsList) ? array() : PageNav::getNavLink(PageNav::getPageNavTemplate("showlist?category=$category&paperId=$paperId&tagId=$tagId&page="),$pageInfo['nowpage'],$pageInfo['pagesize'],$pageInfo['total']); $response->category = $category; $response->tagId = $tagId; if (isset($diseaseId) && false == (empty($diseaseId))) { $response->diseaseId = $diseaseId; } //咨询列表 if (isset($diseaseId) && false == (empty($diseaseId))) { $disease = DAL::get()->find('disease', $diseaseId); if (false == $disease->isNull()) { $flowList = RelationSearchClient::getInstance()->getFlowListFromRelevantSearch($disease->name, 8); $flowList = array_slice($flowList, 0, 8); $response->flowList = $flowList; } else { $response->flowList = FlowClient::getInstance()->getLatestFlowList(8); } } else { $response->flowList = FlowClient::getInstance()->getLatestFlowList(8); } if (isset($diseaseId) && false == (empty($diseaseId))) { $this->getPhoneList($diseaseId, $response); } else { //电话咨询 $diseaseIds_shuffle = self::$diseaseIds; shuffle($diseaseIds_shuffle); $this->getPhoneList(array_pop($diseaseIds_shuffle), $response); } //好文推荐 if ($category != CmsObjCategory::HAOWEN) { $this->getHaowenList($request, $response); } }/*}}}*/
private function getRelationInfo($typeid, $response,$zhuanti) {/*{{{*/ $hasDiseaseWord = RelationSearchClient::getInstance()->hasDiseaseWord($typeid->getKey()); if($hasDiseaseWord) { $relationInfo = RelationSearchClient::getInstance()->search($typeid->getKey(), array('flow' => 10, 'article' => 6, 'zhuanti' => 3),$zhuanti); $response->curlcaseList = $relationInfo['flow']; $response->curlArticleList = $relationInfo['article']; $response->curlZhuantiList = $relationInfo['zhuanti']; $diseases = $relationInfo['disease']; if(false == empty($diseases)) { $response->curlDisease = array_shift($diseases); } } }/*}}}*/
private function getRelationInfos($response, $key, $options = array(),$ref) {/*{{{*/ $relationInfo = RelationSearchClient::getInstance()->search($key, $options,$ref); if(isset($relationInfo['flow'])) { $response->curlcaseList = $relationInfo['flow']; } if(isset($relationInfo['article'])) { $response->curlArticleList = $relationInfo['article']; } }/*}}}*/
private function getRelationInfo($article, $response) { /*{{{*/ if (false == $this->user->hasSpace()) { $relationInfo = RelationSearchClient::getInstance()->search($article->getKey(), array('flow' => 10, 'article' => 6, 'paper' => 2, 'thesis' => 2, 'zhuanti' => 3), $article); $response->curlcaseList = $relationInfo['flow']; $response->curlArticleList = $relationInfo['article']; $response->curlZhuantiList = $relationInfo['zhuanti']; $response->papers = $relationInfo['paper']; $response->thesiss = $relationInfo['thesis']; $diseases = $relationInfo['disease']; if (false == empty($diseases)) { $response->curlDisease = array_shift($diseases); } } }
private function searchByDisease(Disease $disease, $count) {/*{{{*/ $res = RelationSearchClient::getInstance()->getFlowListFromRelevantSearch($disease->name, 3); if (empty($res) && false == $disease->isTopLevel) { $res = RelationSearchClient::getInstance()->getFlowListFromRelevantSearch($disease->parentName, 3); } return $res; }/*}}}*/
private function diseasePageCaseInfo() {/*{{{*/ $diseaseName = $this->disease->name; if ($this->disease->id == 558) { $diseaseName = "静脉血栓"; } $searchData = RelationSearchClient::getInstance()->getFlowListFromRelevantSearch4DiseasePageCase(array($diseaseName), array(), 1, 200); $items = isset($searchData['items']) ? $searchData['items'] : array(); $flowList = array(); if (false == empty($items)) { $ids = array(); foreach($items as $item) { $ids[] = $item['id']; } $flowList = DAL::get()->find('doctorpatientref', $ids); } return $flowList; }/*}}}*/