public function setValue($request, $response)
 {
     $id = $request->id;
     $vars['type'] = $request->type;
     $vars['status'] = $request->status;
     $vars['comment'] = $request->getRequest('comment');
     $admin = UserClient::getInstance()->getCurrentUser();
     $id = UserClient::getInstance()->modifyUserAdvice($id, $vars, $admin);
     $userAdvice = DAL::get()->find('UserAdvice', $id);
     if (is_Object($userAdvice) && $userAdvice->source == '管理员发起的认证任务' && $vars['status'] == -1) {
         $predoctor = DAL::get()->find_by_userid('predoctor', $userAdvice->user->id);
         $inspector = DAL::get()->find_by_userid('inspector', $admin->id);
         if (false == $predoctor->isNull() && false == $inspector->isNull()) {
             PreDoctorClient::getInstance()->setResultNo($predoctor->id, $inspector->id);
         }
     }
     return self::DIRECT_OUTPUT;
 }
 /**
     * @brief 医生认证申请
     * @author cs
     * @exampleUrl 
     *
     * @Param $userId
     * @Param $name
     * @Param $hospitalName
     * @Param $facultyName
     * @Param $hospitalProvince
     * @Param $hospitalCity
     * @Param $isPublic
     * @Param $workCard
     * @Param $certificate
     *
     * @Returns   
  */
 public function doctorAuthApplication($userId, $name, $hospitalName, $facultyName, $hospitalProvince='', $hospitalCity='', $isPublic='', $workCardAttachmentIds='', $certificateAttachmentIds='', $mobile='', $captcha = '', $grade = '')
 {/*{{{*/
     $user = DAL::get()->find('user', $userId);
     if ($user->isNull())
     {
         $this->setErrorCode(1221);
         return 0;
     }
     if ($mobile || $captcha)
     {
         if ($mobile == '13800138000')
         {
             $this->setErrorCode(828);
             return 0;
         }
         if(false == XString::isMobileNew($mobile))
         {
             $this->setErrorCode(827);
             return 0;
         }
         if(!User::validKeyForRegister($mobile, strtolower($captcha)))
         {
             $this->setErrorCode(1181);
             return 0;
         }
         UserClient::getInstance()->setMobile($user->id, $mobile);
     }
     if ($name == '')
     {
         $this->setErrorCode(830);
         return 0;
     }
     if ($hospitalName == '')
     {
         $this->setErrorCode(804);
         return 0;
     }
     if ($facultyName == '')
     {
         $this->setErrorCode(8041);
         return 0;
     }
     $workCardIds = $certificateIds = array();
     if (!empty($workCardAttachmentIds))
     {
         $token = strtok($workCardAttachmentIds, ',');
         while($token !== false)
         {
             $workCardIds[] = $token;
             $token = strtok(',');
         }
     }
     if(!empty($certificateAttachmentIds))
     {
         $token = strtok($certificateAttachmentIds, ',');
         while($token !== false)
         {
             $certificateIds[] = $token;
             $token = strtok(',');
         }
     }
     $preDoctor = DAL::get()->find_by_userid('predoctor', $user->id);
     if (false == $preDoctor->isNull())
     {
         if ($preDoctor->isInit())
         {
             $this->setErrorCode(803);
             return 0;
         }
         if ($preDoctor->isConfirmed())
         {
             $this->setErrorCode(802);
             return 0;
         }
     }
     $params = array();
     $params['name'] = $name;
     $params['hospitalName'] = $hospitalName;
     $params['facultyName'] = $facultyName;
     $params['hospitalProvince'] = $hospitalProvince;
     $params['hospitalCity'] = $hospitalCity;
     $params['isPublic'] = $isPublic;
     $params['workCard'] = $workCardIds;
     $params['certificate'] =$certificateIds;
     $params['grade'] = $grade == '无职称' ? '' : $grade;
     $preDoctor = PreDoctorClient::getInstance()->addPreDoctor($user->id, $params);
     if ($preDoctor->isNull())
     {
         $this->setErrorCode(801);
         return 0;
     }
     if ($_REQUEST['os'] == 'ios' && $_REQUEST['v'] >= '3.0.1' || $_REQUEST['os'] == 'android' && $_REQUEST['v'] >= '3.0.5')
     {
         $title = '医生客户端注册完成';
         $content = "尊敬的医生您好,您已完成注册,可以开始使用客户端的部分功能。\n目前对您的信息正在核对与认证,认证后您可使用客户端全部功能。\n有任何疑问可通过客户端直接联系我们,谢谢。";
         StationLetterClient::getInstance()->sendMsg(Message::AdminUserId, $preDoctor->user->id, $title, $content);
     }
     $this->content = array('successfuly' => 1); 
 }/*}}}*/
Ejemplo n.º 3
0
 /**
  * unbind user
  * 1.检查 用户存在?用户绑定其它对象?  取消绑定是用户未绑定对象
  * 2.取消绑定流程
  *  1)删除space中的信息
  *  2)由host type 更新医生或医院科室表
  *  3)从doctor log恢复修改的数据
  *
  * 参数要求, $data中必须包含 fld_UserId, fld_SpaceHostType, fld_SpaceHostId
  */
 public function unBind($request, $response)
 {
     $data = $request->data;
     $data['spaceHostId'] = $request->spaceHostId;
     $data['spaceHostName'] = $request->spaceHostName;
     $data['spaceHostType'] = $request->spaceHostType;
     $space = DAL::get()->find('space', $data['userId']);
     $res = SpaceClient::getInstance()->unBindUserSpace($data);
     $urls = $this->getSpaceCacheUrls($space);
     Squid::clean($urls, true);
     if ($res) {
         $admin = UserClient::getInstance()->getCurrentUser();
         $predoctor = DAL::get()->find_by_userid('predoctor', $space->user->id);
         $inspector = DAL::get()->find_by_userid('inspector', $admin->id);
         if (false == $predoctor->isNull() && false == $inspector->isNull()) {
             PreDoctorClient::getInstance()->setResultNo($predoctor->id, $inspector->id);
             DoctorClient::getInstance()->addDoctorOwner($predoctor->user->id, $predoctor->id, DoctorOwner::OWNER_TYPE_PREDOCTOR);
         }
         $msg = "操作成功!";
         $options = array('userId' => $data['userId'], 'userName' => $data['userName'], 'hostName' => $data['spaceHostName'], 'hostId' => $data['spaceHostId'], 'hostType' => $data['spaceHostType'], 'bindType' => $data['bindType'], 'msg' => $msg);
         $url = $response->router->urlfor('space/showopenspace', $options);
         $response->setRedirect($url);
     }
 }
 public function noConfirmTask($request, $response)
 {
     /*{{{*/
     $predoctor = DAL::get()->find('predoctor', $request->id);
     DBC::requireFalse($predoctor->isNull(), '医生不存在');
     PreDoctorClient::getInstance()->setResultNo($predoctor->id, $this->curInspector->id);
     return self::DIRECT_OUTPUT;
 }