cheng732171109 发表于 2019-3-7 17:44:28

编辑用户校验用户名时接口逻辑有误(去掉不可用户名只...

<a-form-item label="用户账号" :labelCol="labelCol" :wrapperCol="wrapperCol" hasFeedback>
<a-input placeholder="请输入用户账号" v-decorator="[ 'username', validatorRules.username]" />
</a-form-item>

/**
          * 校验用户账号是否唯一<br>
          * 可以校验其他 需要检验什么就传什么。。。
       * @param username
       * @return
       */
        @RequestMapping(value = "/checkOnlyUser", method = RequestMethod.GET)
        public Result<Boolean> checkUsername(SysUser sysUser) {
                Result<Boolean> result = new Result<>();
                result.setResult(true);//如果此参数为false则程序发生异常
                String id = sysUser.getId();
                log.info("--验证用户信息是否唯一---id:"+id);
                try {
                        SysUser oldUser = null;
                        if(oConvertUtils.isNotEmpty(id)) {
                                oldUser = sysUserService.getById(id);
                        }else {
                                sysUser.setId(null);
                        }
                        //通过传入信息查询新的用户信息
                        SysUser newUser = sysUserService.getOne(new QueryWrapper<SysUser>(sysUser));
                        if(newUser!=null) {
                                //如果根据传入信息查询到用户了,那么就需要做校验了。
                                if(oldUser==null) {
                                        //oldUser为空=>新增模式=>只要用户信息存在则返回false
                                        result.setSuccess(false);
                                        result.setMessage("用户账号已存在");
                                        return result;
                                }else if(!id.equals(newUser.getId())) {
                                        //否则=>编辑模式=>判断两者ID是否一致-
                                        result.setSuccess(false);
                                        result.setMessage("用户账号已存在");
                                        return result;
                                }
                        }
                       
                } catch (Exception e) {
                        result.setSuccess(false);
                        result.setResult(false);
                        result.setMessage(e.getMessage());
                        return result;
                }
                result.setSuccess(true);
                return result;
        }

页: [1]
查看完整版本: 编辑用户校验用户名时接口逻辑有误(去掉不可用户名只...