Ejemplo n.º 1
0
  public void update(Role role) {
    // TODO Auto-generated method stub
    mapper.update(role);

    // 清除中间表信息
    mapper.deleteRolePermission(role.getId());
    // 保存中间表
    saveRolePermission(role);
  }
Ejemplo n.º 2
0
 public void save(Role role) {
   // TODO Auto-generated method stub
   // 保存角色,返回新id
   mapper.save(role);
   // 保存中间表
   saveRolePermission(role);
 }
Ejemplo n.º 3
0
 /**
  * 保存角色和权限的关联(中间表)信息
  *
  * @param role
  */
 private void saveRolePermission(Role role) {
   // 获取待添加的权限
   List<Permission> permissions = role.getPermissions();
   // 判断是否有关联权限
   if (permissions != null && !permissions.isEmpty()) {
     Long roleId = role.getId();
     // 声明集合
     List<RolePermission> list = new ArrayList<>();
     // 遍历
     for (Permission permission : permissions) {
       // 新建关联对象
       RolePermission link = new RolePermission();
       link.setRoleId(roleId);
       link.setPermissionId(permission.getId());
       // 把新关联信息添加到集合中
       list.add(link);
     }
     // 保存关联信息
     mapper.saveRolePermission(list);
   }
 }
Ejemplo n.º 4
0
 @Override
 public List<Role> getRolesByUser(Employee employee) {
   return mapper.getRolesByUser(employee.getId());
 }
Ejemplo n.º 5
0
  public void delete(Long id) {
    mapper.delete(id);

    // 清除中间表
    mapper.deleteRolePermission(id);
  }