若依框架注册新用户同时设置默认角色

前提:开启注册

环境:ruoyi-vue 3.8.5

 

如使用其他版本的ruoyi框架,操作可能不相同

操作:

1.

ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java

在此文件中修改registerUser方法:

 

public boolean registerUser(SysUser user)
{
boolean isNotEmpty=userMapper.insertUser(user)>0;
insertUserRoleRegister(user);
System.out.println(user);
return isNotEmpty;
}

 2.增加insertUserRoleRegister方法

仍然是SysUserServiceImpl.java

 public void insertUserRoleRegister(SysUser user)
{
this.insertUserRole(user.getUserId(), new Long[]{102L});
}

 其中,102是你想设置的默认角色的Id,我的项目中,访客(刚注册完的用户)设置的角色Id是102,需要改成自己项目中的

 现在重启项目,注册用户后,新注册用户的角色就是102 访客了、

原理

若依注册流程为:

registerService中register方法调用userService.registerUser(sysUser);

 

userService中registerUser调用userMapper中insertUser(user)方法

 

insertUser(user)调用SysUserMapper.xml中的insertUser方法

 该方法默认返回插入的行数,即

public boolean registerUser(SysUser user)
boolean isNotEmpty=userMapper.insertUser(user)>0;

 返回值>0,插入成功

查询mybatis文档可知,可在insert中将useGeneratedKeys属性设置为true,并制定keyProperty为User对象的id,并返回Id的值到对象中,参考如下:

MyBatis + MySQL返回插入成功后的主键id

<insert id="insertUser" parameterType="SysUser" useGeneratedKeys="true" keyProperty="userId">

这段xml SQL语句可以返回Id到user对象中,使用get方法就可以得到新注册用户的Id

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值