我是靠谱客的博主 迅速狗,最近开发中收集的这篇文章主要介绍若依框架原理及使用(二)用户管理,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

用户管理

加载vue页面-请求后台数据,用户对应sys_user部门对应数据库表sys_dept

 /**
     * 获取用户列表
     */
     //权限判断 是否有user:list
    @PreAuthorize("@ss.hasPermi('system:user:list')")
    @GetMapping("/list")
    public TableDataInfo list(SysUser user)
    {
    //分页
        startPage();
        List<SysUser> list = userService.selectUserList(user);
        return getDataTable(list);
    }
/**
 * 根据条件分页查询用户列表
 * 
 * @param user 用户信息
 * @return 用户信息集合信息
 */
@Override
//deptAlias给表设置别名    userAlias
@DataScope(deptAlias = "d", userAlias = "u")
public List<SysUser> selectUserList(SysUser user)
{
    return userMapper.selectUserList(user);
}

部门树状图

在api-system-dept.js

// 查询部门列表(排除节点)
export function listDeptExcludeChild(deptId) {
  return request({
    url: '/system/dept/list/exclude/' + deptId,
    method: 'get'
  })
}

后台:查询出所有数据,在组成树形图

/**
 * 获取部门下拉树列表
 */
@GetMapping("/treeselect")
public AjaxResult treeselect(SysDept dept)
{
    List<SysDept> depts = deptService.selectDeptList(dept);
    //buildDeptTreeSelect组装成树状图
    return AjaxResult.success(deptService.buildDeptTreeSelect(depts));
}
/**
 * 构建前端所需要树结构
 * 
 * @param depts 部门列表
 * @return 树结构列表
 */
@Override
public List<SysDept> buildDeptTree(List<SysDept> depts)
{
    List<SysDept> returnList = new ArrayList<SysDept>();
    List<Long> tempList = new ArrayList<Long>();
    for (SysDept dept : depts)
    {
        tempList.add(dept.getDeptId());
    }
    for (Iterator<SysDept> iterator = depts.iterator(); iterator.hasNext();)
    {
        SysDept dept = (SysDept) iterator.next();
        // 如果是顶级节点, 遍历该父节点的所有子节点
        if (!tempList.contains(dept.getParentId()))
        {
        //通过递归找子节点 当前数据 当前部门对象
            recursionFn(depts, dept);
            returnList.add(dept);
        }
    }
    if (returnList.isEmpty())
    {
        returnList = depts;
    }
    return returnList;
}

添加数据

前端

  /** 新增按钮操作 */
    handleAdd() {
      this.reset(); //表单重置
      this.getTreeselect();  //获取表单树状图
      getUser().then(response => {
        this.postOptions = response.posts;
        this.roleOptions = response.roles;
        this.open = true;
        this.title = "添加用户";
        this.form.password = this.initPassword;
      });
    },

getUser获取角色和部门信息,后台

/**
 * 根据用户编号获取详细信息
 */
@PreAuthorize("@ss.hasPermi('system:user:query')")
@GetMapping(value = { "/", "/{userId}" })
public AjaxResult getInfo(@PathVariable(value = "userId", required = false) Long userId)
{
//检测是否有数据权限
    userService.checkUserDataScope(userId);
    AjaxResult ajax = AjaxResult.success();
    List<SysRole> roles = roleService.selectRoleAll();
    //判断用户是否为管理员  不是管理员通过stream流排除管理员的权限
    ajax.put("roles", SysUser.isAdmin(userId) ? roles : roles.stream().filter(r -> !r.isAdmin()).collect(Collectors.toList()));
    ajax.put("posts", postService.selectPostAll());
    if (StringUtils.isNotNull(userId))
    {
        ajax.put(AjaxResult.DATA_TAG, userService.selectUserById(userId));
        ajax.put("postIds", postService.selectPostListByUserId(userId));
        ajax.put("roleIds", roleService.selectRoleListByUserId(userId));
    }
    return ajax;
}

代码自动生成

1.创建数据表2.打开数据表代码生成(系统工具)3.点击导入

4.点击编辑,编写字段描述,生成信息

最后

以上就是迅速狗为你收集整理的若依框架原理及使用(二)用户管理的全部内容,希望文章能够帮你解决若依框架原理及使用(二)用户管理所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部