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); }/*}}}*/
/** * 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; }