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;
    }/*}}}*/