private function doOrderExecuteOnConf($request, $response) {/*{{{*/ $orderid = $request->orderid; $order = DAL::get()->find('telorder', $orderid); $this->returnConditionDesc($response, $order->id); $owner = $order->executer; $patient = $order->patient; $doctor = $order->executer->relatedObject->space->host; $curOwner = $this->currentOwner;//这个是管理员 $adminTelephone = DAL::get()->find_by_ownerid('AdminTelephone',$curOwner->id); DBC::requireFalse($adminTelephone->isNull(), '请绑定坐席电话'); $response->order = $order;//订单 $response->patient = $patient;//患者 $response->owner = $owner;//医生 $response->doctor = $doctor;//医生信息 $response->curOwner = $curOwner;//管理员 $response->adminTelephone = $adminTelephone; $phones = $this->filterEmptyPhone(array($adminTelephone->telselected, $order->patientPhone, $order->patient->mobile, $patient->phone, $patient->backupPhone, $owner->getSpaceExt()->phone1, $owner->getSpaceExt()->phone2, $owner->getSpaceExt()->phone3)); $admin = new NullEntity(); $partner1 = new NullEntity(); $partner2 = new NullEntity(); $teleconf = phoneConferenceClient::getInstance()->getInitPhoneConf($order->id); $response->teleconf = $teleconf; $this->checkConfCanExecute($order->id, $teleconf, $request, $response); $consultConf = new ConsultPhoneConference($teleconf); $controlButton = TeleconfControlButton::init($consultConf); if (false == $teleconf->isNull()) { $admin = $consultConf->getPartnerByRole(ConferenceMember::ADMIN); $partner1 = $consultConf->getPartnerByRole(ConferenceMember::PARTNER1); $partner2 = $consultConf->getPartnerByRole(ConferenceMember::PARTNER2); } $response->admin = $admin; $response->partner1 = $partner1; $response->partner2 = $partner2; $response->controlButton = $controlButton; $errorMsgs = array(); $errorMsgs = $this->checkPhoneNumber($phones, $errorMsgs); $response->errorMsgs = $errorMsgs; $phoneStatus = DAL::get()->queryPhoneStatus('ConferenceMember',$phones); $response->phoneStatus = $phoneStatus; $response->disease = $order->diseaseDesc; $infos = BingLiDtoClient::getInstance()->getBingLiByRelatedObj($order->notification->proposal); $attachmentIds = array(); if (false == empty($infos->patientAttachment)) { foreach ($infos->patientAttachment as $pa) { $attachmentIds[] = $pa->patientAttachmentId; } } $response->attachmentIds = $attachmentIds; }/*}}}*/
public function hold400TelConference($request, $response) {/*{{{*/ $orderid = $request->orderid; $duration = $request->duration; $adminphone = $request->adminphone; $patientphone = $request->patientphone; $patientphone1 = $request->patientphone1; $patientphone2 = $request->patientphone2; $spacephone1 = $request->spacephone1; $spacephone2 = $request->spacephone2; $spacephone3 = $request->spacephone3; $adminUserId = $request->adminuserid; $authKey = $request->authkey; $phones = array($adminphone, $patientphone, $patientphone1, $patientphone2, $spacephone1, $spacephone2, $spacephone3); $teleconf = MeetingClient::getInstance()->getInitTeleconf($orderid, $phones); $controlButton = TeleconfControlButton::init($teleconf); $teleconf = $controlButton->teleconf; //权限判断 只有创建这个会议的人才可以重新开启此订单 if (false == $teleconf->isNull()) { DBC::requireTrue($teleconf->userId == $adminUserId, "您没有权限操作这个会议, 请联系管理员(执行人:{$teleconf->adminUserName})"); } $response->teleconf = $teleconf; $response->controlButton = $controlButton; if ($teleconf->isNull()) { $admin = new NullEntity(); $partner1 = new NullEntity(); $partner2 = new NullEntity(); $errorMsgs = array(); } else { $admin = $teleconf->getPartnerByRole(TeleconferencePartner::ADMIN); $partner1 = $teleconf->getPartnerByRole(TeleconferencePartner::PARTNER1); $partner2 = $teleconf->getPartnerByRole(TeleconferencePartner::PARTNER2); $errorMsgs = MeetingClient::getInstance()->getErrorMsgs($teleconf); } $response->admin = $admin; $response->partner1 = $partner1; $response->partner2 = $partner2; if (false == $admin->isNull()) { $phones[] = $admin->phone; } $errorMsgs = $this->checkPhoneNumber($phones, $errorMsgs); $response->errorMsgs = $errorMsgs; $phoneStatus = MeetingClient::getInstance()->getPhonesStatusAndTransByConfId($teleconf, $phones); $response->phoneStatus = $phoneStatus; }/*}}}*/