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' => '保存失败']); }