为什么这里的roleid返回的是null 啊
这是动力节点的恒和仓库管理系统,这是要给用户分配角色
/**
* 给用户分配角色的url接口/user/assignRole
*
* @RequestBody AssignRoleDto assignRoleDto将请求传递的json数据
* 封装到参数AssignRoleDto对象中;
*/
@RequestMapping("/assignRole")
public Result assignRole(@RequestBody AssignRoleDto assignRoleDto){
//执行业务
roleService.assignRole(assignRoleDto);
//响应
return Result.ok("分配角色成功!");
}
//给用户分配角色的业务方法
@Transactional//事务处理
@Override
public void assignRole(AssignRoleDto assignRoleDto) {
//拿到用户id
Integer userId = assignRoleDto.getUserId();
//拿到给用户分配的所有角色名
List<String> roleNameList = assignRoleDto.getRoleCheckList();
//根据用户id删除给用户已分配的所有角色
roleMapper.delRoleByUserId(userId);
//循环添加用户角色关系
for (String roleName : roleNameList) {
//根据当前角色名查询当前角色的id
Integer roleId = roleMapper.getRoleIdByName(roleName);
//添加用户角色关系
roleMapper.insertUserRole(userId, roleId);
}
}
<!--
//根据用户id删除给用户已分配的所有角色
public int delRoleByUserId(Integer userId);
-->
<delete id="delRoleByUserId">
delete from user_role where user_id = #{userId}
</delete>
<!--
//根据角色名称查询角色id
public int getRoleIdByName(String roleName);
-->
<select id="getRoleIdByName" resultType="integer">
select role_id from role where role_name = #{roleName}
</select>
<!--
//添加用户角色关系的方法
public void insertUserRole(Integer userId, Integer roleId)
-->
<insert id="insertUserRole">
insert into user_role (user_id, role_id)
values (#{param1}, #{param2})
</insert>
上面这分别是controller层 、serviceImpl和mapper.xml中对应的代码
有没有做过这个项目的?求解