相关的逻辑流程,步骤请看代码吧
@Override
public ResponseResult initManagerAccount(SobUser sobUser, HttpServletRequest request) {
//检查是否有初始化
Setting managerAccountState = settingsDao.findOneByKey(Constants.Settings.MANAGER_ACCOUNT_INIT_STATE);
if (managerAccountState != null) {
return ResponseResult.FAILED("管理员账号已经初始化了");
}
//检查数据
if (TextUtils.isEmpty(sobUser.getUserName())) {
return ResponseResult.FAILED("用户名不能为空");
}
if (TextUtils.isEmpty(sobUser.getPassword())) {
return ResponseResult.FAILED("密码不能为空");
}
if (TextUtils.isEmpty(sobUser.getEmail())) {
return ResponseResult.FAILED("邮箱不能为空");
}
//补充数据
sobUser.setId(String.valueOf(idWorker.nextId()));
sobUser.setRoles(Constants.User.ROLE_ADMIN);
sobUser.setAvatar(Constants.User.DEFAULT_AVATAR);
sobUser.setState(Constants.User.DEFAULT_STATE);
String remoteAddr = request.getRemoteAddr();
String localAddr = request.getLocalAddr();
log.info("remoteAddr == > " + remoteAddr);
log.info("localAddr == > " + localAddr);
sobUser.setLoginIp(remoteAddr);
sobUser.setRegIp(remoteAddr);
sobUser.setCreateTime(new Date());
sobUser.setUpdateTime(new Date());
//保存到数据库里
userDao.save(sobUser);
//更新已经添加的标记
//肯定滑的
Setting setting = new Setting();
setting.setId(idWorker.nextId() + "");
setting.setKey(Constants.Settings.MANAGER_ACCOUNT_INIT_STATE);
setting.setCreateTime(new Date());
setting.setUpdateTime(new Date());
setting.setValue("1");
settingsDao.save(setting);
return ResponseResult.SUCCESS("初始化成功");
}
管理员账号
- 不可以注册
- 只能初始化次
- 只有一个
- 角色是管理员