protected function generateAdminUser(InputInterface $input, OutputInterface $output)
 {
     $username = $input->getArgument('username');
     $password = $input->getArgument('password');
     $nickname = $input->getArgument('nickname');
     if (empty($username)) {
         // 用户名不能为空
         $output->writeln('<comment>username can not be empty</comment>');
         return;
     }
     if (empty($password)) {
         // 密码不能为空
         $output->writeln('<comment>password can not be empty</comment>');
         return;
     }
     if (empty($nickname)) {
         // 昵称不能为空
         $output->writeln('<comment>nickname can not be empty</comment>');
         return;
     }
     // 判断用户名是否已存在
     $admin = $this->em->getRepository('SiteCommonBundle:Admins')->findOneBy(['username' => $username]);
     if ($admin) {
         $output->writeln("<error>username {$username} is exists</error>");
         return;
     }
     // 密码加密
     $password = password_hash($username . md5($password), PASSWORD_BCRYPT);
     // 当前时间
     $time = time();
     $item = new Admins();
     $item->setUsername($username);
     $item->setPassword($password);
     $item->setNickname($nickname);
     $item->setStatus(1);
     $item->setIp('');
     $item->setCtime($time);
     $item->setUtime($time);
     $this->em->persist($item);
     try {
         $this->em->flush();
     } catch (\Exception $e) {
         $output->writeln('<error>' . $e->getMessage() . '</error>');
     }
     if ($id = $item->getId()) {
         $output->writeln("<info>Admin user {$username} generated success, id is {$id}</info>");
     }
 }
 /**
  * 管理员执行新增.
  *
  * @Route("/create", name="site_admin_admin_create")
  */
 public function createAction()
 {
     if ($redirect = $this->ifNotLoginedRedirect()) {
         return $redirect;
     }
     $username = trim($this->getRequestItem('username'));
     $password = trim($this->getRequestItem('password'));
     $nickname = trim($this->getRequestItem('nickname'));
     $status = intval($this->getRequestItem('status', 1));
     if (empty($username)) {
         return new JsonResponse(['statusCode' => 300, 'message' => '用户名不能为空']);
     }
     if (empty($password)) {
         return new JsonResponse(['statusCode' => 300, 'message' => '密码不能为空']);
     }
     if (empty($nickname)) {
         return new JsonResponse(['statusCode' => 300, 'message' => '昵称不能为空']);
     }
     if (!in_array($status, [1, 2])) {
         return new JsonResponse(['statusCode' => 300, 'message' => '状态非法']);
     }
     // 判断用户名是否已存在
     $admin = $this->getOneDataByCondition('SiteCommonBundle:Admins', ['username' => $username]);
     if ($admin) {
         return new JsonResponse(['statusCode' => 300, 'message' => '用户名已存在']);
     }
     $item = new Admins();
     $item->setUsername($username);
     $item->setPassword($this->generatePassword($username, md5($password)));
     $item->setNickname($nickname);
     $item->setStatus($status);
     $item->setIp('');
     $item->setCtime($this->getNowTime());
     $item->setUtime($this->getNowTime());
     $this->saveDataChange($item);
     if ($id = $item->getId()) {
         $this->saveAdminLog("<font color='green'>新增</font> 管理员(id: {$item->getId()}, username: {$username}, nickname: {$nickname})");
         return new JsonResponse(['statusCode' => 200, 'message' => '保存成功', 'callbackType' => 'closeCurrent']);
     }
     return new JsonResponse(['statusCode' => 300, 'message' => '保存失败']);
 }