角色权限新增提交

发布时间 2023-07-15 15:57:06作者: 丹狼键仙

1. 拿到每个树节点用来作为唯一标识的属性

2. 获取选中的key


测试一下

拿到半选状态的数据

3. RoleServiceImpl

点击查看代码
package com.example.sys.service.impl;

import com.example.sys.entity.Role;
import com.example.sys.mapper.RoleMapper;
import com.example.sys.mapper.RoleMenuMapper;
import com.example.sys.service.IRoleService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;

/**
 * <p>
 *  服务实现类
 * </p>
 *
 * @author CanisRufus
 * @since 2023-06-30
 */
@Service
public class RoleServiceImpl extends ServiceImpl<RoleMapper, Role> implements IRoleService {


    @Resource
    @Transactional
    private RoleMenuMapper roleMenuMapper;

    @Override
    public void addRole(Role role){
        //写入角色表
        this.baseMapper.insert(role);
        //写入角色菜单
        if (null != role.getMenuIdList()){
            for (Integer menuId : role.getMenuIdList()){
                roleMenuMapper.insert(new RoleMenu(null,role.getRoleId(),menuId));
            }
        }
    }
}

![](https://img2023.cnblogs.com/blog/2957868/202307/2957868-20230715151243105-1653354474.png)

4. role的实体类

点击查看代码
@Data
@TableName("x_role")
@AllArgsConstructor
@NoArgsConstructor
public class Role implements Serializable {
    private static final long serialVersionUID = 1L;
    @TableId(value = "role_id", type = IdType.AUTO)
    private Integer roleId;
    private String roleName;
    private String roleDesc;

    @TableField(exist = false)
    private List<Integer> menuIdList;
}


5. RoleMenu

点击查看代码
@TableName("x_role_menu")
@Data
@AllArgsConstructor
@NoArgsConstructor
public class RoleMenu implements Serializable {
    private static final long serialVersionUID = 1L;
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    private Integer roleId;
    private Integer menuId;

}

6. 测试


数据库中表x_user_menu没有变化,为什么?(插个飞雷神先)

其他的还是有