public function loadMoreItem($request, $response) {/*{{{*/ $nowPage = $request->getRequest('p', 1); $pageSize = 10; $telOwner = TelOwnerClient::getInstance()->getOwner($this->user); $cashAccount = $telOwner->relatedObject->getCashAccount(); $res = AccountClient::getInstance()->getAccountInfoList($cashAccount->id, PayAccount::TYPE_CASH, array('nowPage' => $nowPage, 'pageSize' => $pageSize)); $response->itemList = $res['accounts']; $response->nowPage = $nowPage; $response->pages= $res['pageInfo']['pages']; $response->loadUrl = $response->touchUrl.'/useraccount/loadmoreitem?p='; $response->itemCnt = $res['pageInfo']['total']; }/*}}}*/
public function __construct($request, $response) {/*{{{*/ parent::__construct($request, $response); $userId = UserClient::getInstance()->getCheckedSeed('id'); $this->curUser = new NullEntity(); $this->currentOwner = new NullEntity(); if ($userId) { $this->curUser = DAL::get()->find('user', $userId); DBC::requireFalse($this->curUser->isNull(),"没有这个用户"); if (false == $this->curUser->isNull()) { $this->currentOwner = TelOwnerClient::getInstance()->createOwner($this->curUser); } } $response->curUser = $this->curUser; $response->currentOwner = $this->currentOwner; }/*}}}*/
public function serviceList($request, $response) { /*{{{*/ DBC::requireFalse($this->spaceIsLogin, '不允许自己提交给自己订单!'); //对没有开通电话咨询医生的链接跳转,没有owner也会跳走. if (!$this->space->isPhoneOpenedForFront($this->user->id)) { $response->setRedirect('http://' . URL_PREFIX . '400.haodf.com/index/prompt?doctorName=' . rawurlencode($this->space->host->name) . '&doctorFaculty=' . rawurlencode($this->space->host->hospitalfaculty->faculty->name)); return; } //医生近期通话记录 $callingLogs = array(); $fromDoctorDetail = $request->fromDoctorDetail; $response->fromDoctorDetail = $fromDoctorDetail; if (0 == $fromDoctorDetail) { $callingLogs = PaymentClient::getInstance()->getDoctorRecentPhoneRecords($this->space); } $response->callingLogs = $callingLogs; //医生部分的信息--beg-- $owner = DAL::get()->find_by_relatedObject('telowner', $this->space->user); $response->owner = $owner; //新近开通 $latestOpenCallServiceTitle = doctorOutline::getLatestOpenCallServiceTitle($owner->spaceExt->starttime4tel->toString()); $response->latestOpenCallServiceTitle = $latestOpenCallServiceTitle; //取头像 $response->headImageUrl = TuClient::getInstance()->getThumbnailUrl($this->space->user->headImage, 96, 96, TuClient::TYPE_ZOOM); if (empty($this->space->user->headImage)) { $response->headImageUrl = "http://i1.hdfimg.com/my/img/doctor_default_96.gif"; } //满意度和评价 $doctorSatisfactionList = PaymentClient::getInstance()->getDoctorSatisfactionList($this->space->host->id); $doctorSatisfaction = null; if (false == empty($doctorSatisfactionList)) { $doctorSatisfaction = $doctorSatisfactionList[$this->space->host->id]; } $response->doctorSatisfaction = $doctorSatisfaction; $response->productList = ProductClient::getInstance()->getProducts($this->space, array(serviceDef::TYPE_TELORDER)); //固定接听时间 $doctorPhoneSchedules = TelOwnerClient::getInstance()->getDoctorPhoneScheduleByOwnerId($owner->id); $response->doctorPhoneSchedules = $doctorPhoneSchedules; //未完成且已付费的订单数量,在固定接听时间那 $OrderIdsOfUnfinishedAndPayed = TelOwnerClient::getInstance()->getOrderOfUnfinishedAndPayed('telorder', $owner->id); $OrderCntOfUnfinishedAndPayed = count($OrderIdsOfUnfinishedAndPayed); $response->OrderCntOfUnfinishedAndPayed = $OrderCntOfUnfinishedAndPayed; //医生部分--end-- //患者部分的信息--beg-- $curUser = $this->user; //患者的有效订单数 $myOwner = null; $patientIdOfSelected = null; $validOrderCnt = 0; //已登录状态 $myOwner = new NullEntity(); if (false == $curUser->isNull()) { $myOwner = DAL::get()->find_by_relatedObject('telowner', $curUser); if ($myOwner->isNull() == false) { $validOrderCnt = TelOrderClient::getInstance()->getValidOrderCnt($myOwner->id); } //wk //默认选择患者,TODO by wk $patientIdOfLatestFlow = FlowClient::getInstance()->getPatientIdOfLatestFlow($this->user->id, $this->space->id); $patientIdOfSelected = $patientIdOfLatestFlow; if (empty($patientIdOfLatestFlow)) { $patientIdOfSelected = PaymentClient::getInstance()->getLatestPatientIdOfOrders($myOwner->id); } //优惠 wk } //dodo::yyp从咨询完成页自动带入咨询id $threadid = $request->threadid; if (isset($threadid)) { $thread = DAL::get()->find('thread', $threadid); $response->thread = $thread; } $response->curUser = $curUser; $response->patientIdOfSelected = $patientIdOfSelected; $response->validOrderCnt = $validOrderCnt; $response->spaceModule = 'PhoneCase'; $response->returnVisitList = array(); $response->ScoreDesc = TelVisit::$scoreDesc; $response->myOwner = $myOwner; //患者信息--end-- //从电话咨询医生详情页过来的显示精简模板 if (1 == $request->fromDoctorDetail) { $response->callingLogs = array(); $response->fromDoctorDetail = $request->fromDoctorDetail; return "compactMode"; } else { $response->callingLogs = PaymentClient::getInstance()->getDoctorRecentPhoneRecords($this->space); return "default"; } }
private function orderDetail4Doctor($order, $request, $response) {/*{{{*/ $doctorScheduleList = array(); if($order->executer->isNull() == false && false == $order->executer->isGroup()) { $doctorScheduleList = DAL::get()->find_all_allScheduleListByDoctorIds('Schedule', array($order->getExecuterBySpace()->host->id)); } $doctorPhoneSchedules = TelOwnerClient::getInstance()->getDoctorPhoneScheduleByOwnerId($order->executer->id); $response->doctorPhoneSchedules = $doctorPhoneSchedules; $response->doctorScheduleList = $doctorScheduleList; }/*}}}*/
public function closeService($request, $response) { /*{{{*/ $options = array('phoneOpened' => $request->isOpen); $telOwner = DAL::get()->find_by_relatedObject('telowner', $this->space->user); $contract = DAL::get()->find_valid_tel_contract('contract', $this->space); ContractClient::getInstance()->invalidContract($contract); TelOwnerClient::getInstance()->modifySpaceExtCloseTime4tel($telOwner->id, XDateTime::now()); $response->telOwner = $telOwner; }
public function rechargeHelp($request, $response) {/*{{{*/ $owner = TelOwnerClient::getInstance()->getOwner($this->user); $response->owner = $owner; }/*}}}*/
private function _spaceInfo(Space $space, $response) { /*{{{*/ $owner = $space->user->getTelOwner(); $response->_spaceInfo_space = $space; $response->_spaceInfo_spaceBR = $space->getSpaceBusinessRequirement4Booking(); $response->_spaceInfo_spaceExt = DAL::get()->find_by_spaceid('SpaceExt', $space->id); $response->_spaceInfo_total = DAL::get()->queryTotalFlowProposalCntOfSpace('proposal', $space); $response->_spaceInfo_bookingOrderCnt = BookingClient::getInstance()->countDoctorOrder('BookingOrder', $space->id); $response->_spaceInfo_doctorPhoneSchedules = TelOwnerClient::getInstance()->getDoctorPhoneScheduleByOwnerId($owner->id); }
public function accountPatientList($request, $response) {/*{{{*/ $nowPage = $request->page?$request->page : 1; $userName = $request->userName; $startTime = $request->startTime; $endTime = $request->endTime; if($userName) { $user = DAL::get()->find_by_name('user', $userName,true); if($user->isNull()) { $response->msg = '没有这个用户'; return ; } $telOwner = TelOwnerClient::getInstance()->getOwner($user); if($telOwner->isNull()) { $response->msg = '这个用户没有财务明细'; return ; } $cashAccount = $telOwner->relatedObject->getCashAccount(); $out = AccountClient::getInstance()->getAccountList($cashAccount->id, PayAccount::TYPE_CASH, array('nowPage' => $nowPage, 'pageSize' => 20, 'startTime'=>$startTime, 'endTime'=>$endTime)); $accountList = $out['accounts']; $pagelink = PageNav::getNavLink(PageNav::getPageNavTemplate("accountpatientlist?userName=$userName&startTime=$startTime&endTime=$endTime&page="),$out['pageInfo']['nowpage'],$out['pageInfo']['pagesize'],$out['pageInfo']['total']); foreach($accountList as $key=>$account) { $account['paytrans'] = DAL::get()->find('paytrans', $account['id']); $accountList[$key] = $account; } $response->accountList = $accountList; $response->telOwner = $telOwner; $response->pagelink = $pagelink; $response->userName = $userName; $response->startTime = $startTime; $response->endTime = $endTime; } }/*}}}*/
public function showDiseaseRecommendList($request, $response) {/*{{{*/ $diseaseList = array(); if($request->diseasename) { $diseaseList = DAL::get()->find_all_similarDiseaseLimitName('disease', $request->diseasename); } $diseaseRecommendList = TelOwnerClient::getInstance()->getDiseaseRecommedList(); $response->diseaseList = $diseaseList; $response->diseaseRecommendList = $diseaseRecommendList; }/*}}}*/
public function ajaxSelectOwner($request, $response) {/*{{{*/ $index = $request->index; $response->ownerList = TelOwnerClient::getInstance()->searchOwnersOfIndex($index); $response->callBack = $request->callback; }/*}}}*/
private function taskDetail4Doctor($space, $request, $response) {/*{{{*/ $doctorScheduleList = array(); if(false == $space->isNull()) { $ownerId = DAL::get()->find_id_by_relatedobjectid('telowner',$space->id); $doctorScheduleList = DAL::get()->find_all_allScheduleListByDoctorIds('Schedule', array($space->host->id)); } $spaceIds = array(); array_push($spaceIds,$space->id); $orderDetailCnt = TelOrderClient::getInstance()->getSpaceListCnt('telorder', $spaceIds); $doctorPhoneSchedules = TelOwnerClient::getInstance()->getDoctorPhoneScheduleByOwnerId($ownerId); $response->orderDetailCnt = $orderDetailCnt; $response->doctorPhoneSchedules = $doctorPhoneSchedules; $response->doctorScheduleList = $doctorScheduleList; }/*}}}*/
/** * addSchedule 新增固定接听时间和数量 * * @param mixed $userId * @param mixed $week * @param mixed $startHour * @param mixed $startMin * @param mixed $orderCnt * @access public * @return void */ public function addSchedule($userId, $week, $startHour, $startMin, $orderCnt) {/*{{{*/ $space = DAL::get()->find('space', $userId); $telOwner = DAL::get()->find_by_relatedObject('telowner', $space->user); $startTime = $startHour.':'.$startMin; $endTime = ''; $phoneSchedule = DAL::get()->find_by_ownerid_and_week_and_starttime('PhoneSchedule', $telOwner->id, $week, $startTime); if(false == $phoneSchedule->isNull()) { $this->setErrorCode(841); return 0; } $phoneScheduleId = TelOwnerClient::getInstance()->createPhoneSchedule($telOwner->id, $week, $startTime, $endTime, $orderCnt, $space->user); $this->content = array('id'=>$phoneScheduleId); }/*}}}*/
public function ajaxCheckOwnerInvite($request, $response) {/*{{{*/ $inviteCode = $request->invitecode; $ownerId = substr($inviteCode, 1); $owner = DAL::get()->find('telOwner', $ownerId); $curUser = $this->_newUser; $res = self::INVITE_NORMAL; if($owner->isNull() || strtolower(substr($inviteCode, 0, 1)) != 'c') { $res = self::INVITE_NOEXIST; echo $res; return parent::DIRECT_OUTPUT; } if(false == $curUser->isNull()) { $isOwnerInvite = TelOwnerClient::getInstance()->checkUserHaveOrder($curUser->id); if($isOwnerInvite) { $res = self::INVITE_USED; } echo $res; return parent::DIRECT_OUTPUT; } return parent::DIRECT_OUTPUT; }/*}}}*/
public function closeService($request, $response) {/*{{{*/ $response->space = $this->_newSpace; $options = array('phoneOpened'=>$request->isOpen); $telOwner = DAL::get()->find_by_relatedObject('telowner', $this->_newSpace->user); TelOwnerClient::getInstance()->modifySpaceExtCloseTime4tel($telOwner->id,XDateTime::now()); $response->telOwner = $telOwner; }/*}}}*/