public function index($request, $response) {/*{{{*/ $this->forceSpaceModuleCheck('Index', $response); $this->_doHospitalFacultyIndex($request, $response); $response->controller = 'index'; $response->newSpace = $this->_newSpace; $response->_newUser = $this->_newUser; $key = UserClient::getInstance()->getSeed('g'); $response->crumb = Crumb::create(DoctorCommentClient::getInstance()->genCommentCrumbKey(), self::TTL); }/*}}}*/
private function genCrumb() {/*{{{*/ return Crumb::create(DoctorCommentClient::getInstance()->genCommentCrumbKey(), self::TTL); }/*}}}*/
public function ajaxVote($request, $response) { /*{{{*/ header('Content-Type: text/html; charset=GBK'); $response->crumb = Crumb::create(DoctorCommentClient::getInstance()->genCommentCrumbKey(), self::TTL); }
public function showDetail($request, $response) {/*{{{*/ $id = $request->id; $id = (int)Codec::getInstance()->decodeId($id); if(empty($id)) { throw new BizException('医生信息不存在.'); exit(); } $doctor = DAL::get()->find('doctor', $id); if($doctor == null || $doctor->isNull() || $doctor->hospitalfaculty instanceof NullEntity) { throw new BizException('医生信息不存在.'); exit(); } $this->skipHospitals($doctor->hospitalfaculty->hospital->id, $response); $this->skipDoctors($doctor->id, $response); $response->doctor = $doctor; $scheduleTable = array(); $scheduleTables1 = DoctorClient::getInstance()->getFormatScheduleList($doctor->id); if($doctor->id != $doctor->primaryId) { $scheduleTables = DoctorClient::getInstance()->getFormatScheduleList($doctor->primaryId); $tmpInfos1 = $scheduleTables1[$doctor->id]; $tmpInfos2 = $scheduleTables[$doctor->primaryId]; foreach($tmpInfos1 as $i=>$infos) { if(empty($infos) || false==is_array($infos)) continue; $items = array(); foreach($infos as $j=>$info) { $items[$j] = (false == empty($tmpInfos1[$i][$j])) ? $tmpInfos1[$i][$j] : ""; } $scheduleTable[$i] = $items; } } else { $scheduleTable = $scheduleTables1[$doctor->id]; } $options['doctor'] = $doctor->primaryId; $pageInfo['pageSize'] = 10; $commentList = DoctorCommentClient::getInstance()->getCommentList($options, $pageInfo); $commentList = $commentList['commentList']; $diseaseAry = DiseaseClient::getInstance()->getDiseaseDoctorList(array($doctor->primaryId), 50); $diseaseIds = array(); foreach ($diseaseAry as $diseaseDorctor) { $diseaseIds[$diseaseDorctor->fld_diseaseid]['id'] = $diseaseDorctor->fld_diseaseid; $diseaseIds[$diseaseDorctor->fld_diseaseid]['name'] = $diseaseDorctor->disease->name; $diseaseIds[$diseaseDorctor->fld_diseaseid]['key'] = $diseaseDorctor->disease->key; } $sameDiseaseDoctorList = array(); if(empty($diseaseIds) == false) { $sameDiseaseDoctorList = DoctorClient::getInstance()->getSameProfessionalDoctors($doctor->primaryId, array_keys($diseaseIds), $limit=4); } $articleList = array(); $spaceCaseList = array(); if($doctor->hasSpace() && $doctor->space->isOpened()) { $articleList = ArticleClient::getInstance()->getTitleListBySpace($doctor->space->id, 3); $spaceCaseList = DAL::get()->find_all_lastpost_by_space('doctorpatientref', $doctor->space, 10); } $response->articleList = $articleList; $response->spaceCaseList = $spaceCaseList; $response->hospitalfaculty = $doctor->hospitalfaculty; $response->hospital = $doctor->hospitalfaculty->hospital; $response->faculty = $doctor->hospitalfaculty->faculty; $response->scheduleTable = $scheduleTable ; $response->commentList = $commentList ; $response->diseaseAry = $diseaseAry; $response->diseaseIds = $diseaseIds; $response->VOTE_DISPLAY_LIMIT = 4; $response->sameDiseaseDoctorList = $sameDiseaseDoctorList; if($doctor->space->isNull()) { $spaceAskedThreadsCount = $spaceAskedFlowsCount = $spaceRepliedThreadsCount = $spaceRepliedFlowsCount; } else { $spaceAskedThreadsCount = SpaceClient::getInstance()->getCountOfAskedThreadsCount($doctor->space->id, $this->_newUser->id); $spaceAskedFlowsCount = SpaceClient::getInstance()->getCountOfAskedFlowsCount($doctor->space->id, $this->_newUser->id); $spaceRepliedThreadsCount = SpaceClient::getInstance()->getCountOfRepliedThreadsCount($doctor->space->id, $this->_newUser->id); $spaceRepliedFlowsCount = SpaceClient::getInstance()->getCountOfRepliedFlowsCount($doctor->space->id, $this->_newUser->id); } $response->spaceAskedCount = $spaceAskedThreadsCount + $spaceAskedFlowsCount; $response->spaceRepliedCount = $spaceRepliedThreadsCount + $spaceRepliedFlowsCount; $response->crumb = Crumb::create(DoctorCommentClient::getInstance()->genCommentCrumbKey(), self::TTL); $space = $doctor->space; $response->space = $space; $commonCaseNote = $doctor->getCommonCaseNote4Display(); $response->commonCaseNote = $commonCaseNote; $response->successOrderCount = count(DAL::get()->find_id_finishStatus_and_maybeSuccessCallBackStatus('BookingOrder', $space)); $bookingCondition = $space->getSpaceBusinessRequirement4Booking()->disease; $response->bookingCondition = empty($bookingCondition) ? '不限' : $bookingCondition; $response->token = Captcha::generate('comment', $doctor->id, ContentFactory::TYPE_ARITHMATIC, 4, XIpLocation::getIp(), 3); }/*}}}*/