相关的逻辑流程,步骤请看代码吧
@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("初始化成功");
}
管理员账号
- 不可以注册
- 只能初始化次
- 只有一个
- 角色是管理员

























