private function getZhuanTiListByHospital($hospitalId) {/*{{{*/ $oldZhuanTiList = ZhuantiClient::getInstance()->getListByHospitalId($hospitalId, 10); $newZhuanTiList = PaperClient::getInstance()->queryPaperListByTag($hospitalId,'Hospital'); return CombineZhuanTi::combineZhuanTiList($oldZhuanTiList,$newZhuanTiList); }/*}}}*/
private function getThreadInfo4Orignal($zhuanTi, $response) {/*{{{*/ $doctorList = array(); $doctorIds = array(); $zixunList = array(); $topicList = array(); $typeidList = array(); $typeidList = ZhuantiClient::getInstance()->getZhuanTiOrderedTypeid($zhuanTi->id); foreach ($typeidList as $typeid) { if ($typeid->topicids && $typeid->flag == 0) { $topicIds = explode(',', $typeid->topicids); if (empty($topicIds[0])) continue; $topicList[$typeid->id] = DAL::get()->find('topic', $topicIds); foreach ($topicList[$typeid->id] as $key => $topic) { if ($topic->flag) { unset($topicList[$typeid->id][$key]); } if($topic->doctorId) { $doctorIds[] = $topic->doctorId; } } //取相关case,tag $queryContent = $typeid->getKey(); $hasDiseaseWord = RelationSearchClient::getInstance()->hasDiseaseWord($queryContent); if($hasDiseaseWord) { $infos = RelationSearchClient::getInstance()->search($queryContent, array('flow' => 10)); if(false == empty($infos)) { $zixunList[$typeid->id] = array('case' => $infos['flow']); } } } } if (empty($doctorIds) == false) { $doctorIds = array_unique($doctorIds); $doctorIds = array_filter($doctorIds); $doctorList = DAL::get()->find('doctor', $doctorIds); } $response->typeidList = $typeidList; $response->topicList = $topicList; $response->doctorList = $doctorList; $response->zixunList = $zixunList; return $doctorList; }/*}}}*/
private function addModel($request, $response, $type) { $style = ''; $relation = ''; $diseaseIds = ''; $doctorId = 0; $source = ''; $zhuanTi = DAL::get()->find_by_zhuantiKey('zhuanti', $request->key); if($zhuanTi->isNull() == false) { die('专题key不能重复,请重新填写'); exit; } ZhuantiClient::getInstance()->add($request->key, $request->getRequest('title', ''), $request->getRequest('desc', ""), $request->getUnSafeData('leadin', ''), $request->getRequest('imgId', '') ,$style, $relation, $diseaseIds, $doctorId, $source, array('type'=>$type, 'doctorIds'=>$request->doctorids)); }
public function zhuantiIndex($request, $response) { $topicList = array(); $doctorList = array(); $relationList = array(); $doctorIds = array(); $zhuanTiKey = $request->key; $zhuanTi = DAL::get()->find_by_condition('zhuanti', 'zhuantikey=?', array($zhuanTiKey)); //var_dump($zhuanTi);exit; $response->zhuanTi = $zhuanTi; //排序,对专题排序,通过typeid $typeidList = array(); if (false == $zhuanTi->isNull()) $typeidList = ZhuantiClient::getInstance()->getZhuanTiOrderedTypeid($zhuanTi->id); foreach($typeidList as $typeid){ if($typeid->topicids){ $tmpids = explode(',', $typeid->topicids); if(empty($tmpids[0])){ continue; } $topicList[$typeid->id] = DAL::get()->find('topic', $tmpids); foreach($topicList[$typeid->id] as $key=>$topic){ if($topic->flag){ unset($topicList[$typeid->id][key]); } $doctorIds[] = $topic->doctorId; } if(empty($doctorIds)){ continue; } //去掉重复值 $doctorIds = array_unique($doctorIds); //删除 $doctorIds 中所有等值为 FALSE 的条目 $doctorIds = array_filter($doctorIds); $doctorList = DAL::get()->find('doctor', $doctorIds); } } $relationList = array(); if (is_string($zhuanTi->relation)) { $relationIds = explode(',', $zhuanTi->relation); $relationList = DAL::get()->find('zhuanti', (array)$relationIds); } $response->relationList = $relationList; $response->typeidList = $typeidList; $response->topicList = $topicList; $response->doctorList = $doctorList; }