創建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);
        }

    }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM