创建admin用户

2021/8/20 6:08:07

本文主要是介绍创建admin用户,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

创建admin用户有两种方式:

  1. 直接使用 密码进行注册
  2. 使用人脸进行注册 若使用人脸进行注册 可以不用输入密码

业务流程:

  1. 首先判断字段是否有错误 如字段为赋值之类的错误
  2. 判断是否有图片base64传入 若无base64传入则表示用户必须使用密码进行登录 校验密码是否为空 校验密码是否和重复输入密码一致 若不一致 则抛出异常
  3. 校验用户是否存在
  4. 进行注册操作
    controller
    @Override
    public GraceJSONResult addNewAdmin(AdminBO adminBO, BindingResult bindingResult) {

        // 1. 判断字段是否有错
        if (bindingResult.hasErrors()) {
            Map<String, String> bindResultErrors = super.getBindResultErrors(bindingResult);
            return GraceJSONResult.errorMap(bindResultErrors);
        }

        // 2. 判断是否有base64图片 若有base64图片表示人脸识别注册 可以无需输入密码
        if (StringUtils.isBlank(adminBO.getImg64())) {
            if (StringUtils.isBlank(adminBO.getPassword()) || StringUtils.isBlank(adminBO.getConfirmPassword())) {
                GraceException.display(ResponseStatusEnum.ADMIN_PASSWORD_ERROR);
            }
            // 判断密码和确认密码是否一致
            if (!adminBO.getPassword().equals(adminBO.getConfirmPassword())) {
                GraceException.display(ResponseStatusEnum.ADMIN_PASSWORD_ERROR);
            }
        }

        // 校验用户是否存在
        this.checkAdminExits(adminBO.getUsername());

        adminService.addAdminUser(adminBO);

        return GraceJSONResult.ok();
    }

service
业务流程:

  1. 根据BO中的值进行赋值至AdminUser对象中
  2. 判断密码和确认密码是否为空 若不为空则使用BCrypt加密算法将密码进行加密
  3. 判断是否有人脸数据进行传入 若有传入则进行赋值
  4. 执行插入操作
  5. 若插入条数 != 1 则表示插入失败 抛出异常
    @Override
    @Transactional
    public void addAdminUser(AdminBO adminBO) {
        AdminUser adminUser = new AdminUser();
        adminUser.setAdminName(adminBO.getAdminName());
        adminUser.setUsername(adminBO.getUsername());

        if (StringUtils.isNotBlank(adminBO.getPassword()) && StringUtils.isNotBlank(adminBO.getConfirmPassword())) {
                String password = BCrypt.hashpw(adminBO.getPassword(), BCrypt.gensalt());

            adminUser.setPassword(password);
        }

        if (StringUtils.isNotBlank(adminBO.getFaceId())) {
            adminUser.setFaceId(adminBO.getFaceId());
        }

        adminUser.setCreatedTime(new Date());
        adminUser.setUpdatedTime(new Date());

        int result = adminMapper.insert(adminUser);

        if (result != 1) {
            GraceException.display(ResponseStatusEnum.ADMIN_CREATE_ERROR);
        }

    }


这篇关于创建admin用户的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程