public function add($request, $response)
 {
     /*{{{*/
     $user = UserClient::getInstance()->getCurrentUser();
     $assistant = Inspector::getInspector($user);
     $nickname = $request->nickname;
     $err = '';
     if (empty($nickname)) {
         $err = '您还未填写昵称名';
     } else {
         $assistantNickname = DAL::get()->find_by_nickname('assistantnickname', $nickname);
         if ($assistantNickname->isNull()) {
             $nicknameAudit = DAL::get()->find_by_assistantid_and_status('AssistantNicknameAudit', $assistant->id, AssistantNicknameAudit::WAITTING_AUDIT);
             if (false == $nicknameAudit->isNull()) {
                 $err = '您提交的昵称申请正在审核中';
             } else {
                 $assistantNickname = DAL::get()->find_by_assistantid('assistantnickname', $assistant->id);
                 if (false == $assistantNickname->isNull()) {
                     $err = '您已经绑定过昵称,请勿重新申请';
                 } else {
                     $assistantNicknameAuditId = AssistantNicknameClient::getInstance()->applyNickname($assistant, $nickname);
                     $err = '您成功提交医生助理昵称申请';
                     $assistantNicknameAudit = DAL::get()->find('assistantnicknameaudit', $assistantNicknameAuditId);
                     S3LogClient::getInstance()->add($assistant, $assistantNicknameAudit->getLogable()->action(4, ''));
                 }
             }
         } else {
             if ($assistantNickname->isBind()) {
                 $err = '您申请的昵称已经被使用,请重新申请';
             } else {
                 $nicknameAudit = DAL::get()->find_by_assistantnicknameid_and_status('AssistantNicknameAudit', $assistantNickname->id, AssistantNicknameAudit::WAITTING_AUDIT);
                 $nicknameAudit2 = DAL::get()->find_by_assistantid_and_status('AssistantNicknameAudit', $assistant->id, AssistantNicknameAudit::WAITTING_AUDIT);
                 if (false == $nicknameAudit->isNull()) {
                     if ($nicknameAudit->assistant->id == $assistant->id) {
                         $err = '您已经申请过昵称,您之前申请的昵称为:' . $assistantNickname->nickname;
                     } else {
                         $err = '您申请的昵称已经有其他人申请(正在审核),请重新申请或稍后重试';
                     }
                 } else {
                     if (false == $nicknameAudit2->isNull()) {
                         $err = '您提交的昵称申请正在审核中';
                     } else {
                         $assistantNicknameAuditId = AssistantNicknameClient::getInstance()->applyNickname($assistant, $nickname);
                         $err = '您成功提交医生助理昵称申请';
                         $assistantNicknameAudit = DAL::get()->find('assistantnicknameaudit', $assistantNicknameAuditId);
                         S3LogClient::getInstance()->add($assistant, $assistantNicknameAudit->getLogable()->action(4, ''));
                     }
                 }
             }
         }
     }
     $response->setRedirect($response->router->urlfor('nicknameaudit/applynickname', array('err' => $err)));
     $response->err = $err;
 }