whycxzp
2021-01-04 1e0244a553fa0ef70e02cce1d3e9a6b6355a1f3b
update basic function
5个文件已修改
5个文件已添加
111 ■■■■■ 已修改文件
draft.md 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/controller/RoleController.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/mapper/RoleMenuMapper.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/mapper/RolePrivilegeMapper.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/pojo/Menu.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/RoleMenuService.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/UserService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/util/CommonUtil.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/config/application.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/RoleMenuMapper.xml 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
draft.md
New file
@@ -0,0 +1,10 @@
## 权限管理
### 用户权限管理
```yaml
用户对应角色,角色对应权限,最终效果是用户对应权限
```
### 角色菜单管理
```yaml
菜单包含一级菜单,子菜单信息,菜单级别,菜单排序
菜单角色表:角色对应的菜单
```
src/main/java/com/whyc/controller/RoleController.java
@@ -1,9 +1,11 @@
package com.whyc.controller;
import com.whyc.pojo.*;
import com.whyc.service.RoleMenuService;
import com.whyc.service.RolePrivilegeService;
import com.whyc.service.RoleService;
import com.whyc.service.UserRoleService;
import com.whyc.util.CommonUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
@@ -28,6 +30,11 @@
    @Autowired
    private RolePrivilegeService rolePrivilegeService;
    @Autowired
    private RoleMenuService roleMenuService;
    /**=============用户与角色================**/
    @GetMapping("userWithNoRole")
    @ApiOperation(value = "查询未分配角色的用户")
@@ -77,6 +84,8 @@
        return userRoleService.bindingUserWithRoleBatch(userRoles);
    }
    /**===============角色与权限================**/
    @PostMapping("bindingRoleWithPrivilege")
    @ApiOperation(value = "绑定角色-权限")
    public boolean bindingRoleWithPrivilege(@RequestParam int roleId,int privilegeId){
@@ -92,9 +101,20 @@
    @GetMapping("privilege")
    @ApiOperation(value = "获取当前用户的权限")
    public List<Privilege> getPrivileges(HttpServletRequest request){
        User user = (User) request.getSession().getAttribute("user");
        User user = CommonUtil.getUser(request);
        return rolePrivilegeService.getPrivileges(user.getId());
    }
    /**==============用户-角色-菜单================**/
    @GetMapping("userMenu")
    @ApiOperation(value = "获取当前用户的菜单")
    public List<Menu> getUserMenu(HttpServletRequest request){
        User user = CommonUtil.getUser(request);
        return roleMenuService.getUserMenu(user.getId());
    }
}
src/main/java/com/whyc/mapper/RoleMenuMapper.java
New file
@@ -0,0 +1,14 @@
package com.whyc.mapper;
import com.whyc.pojo.Menu;
import com.whyc.pojo.RoleMenu;
import java.util.List;
/**
 * 角色-菜单
 */
public interface RoleMenuMapper extends CustomMapper<RoleMenu> {
    List<Menu> getUserMenu(Integer id);
}
src/main/java/com/whyc/mapper/RolePrivilegeMapper.java
@@ -11,6 +11,8 @@
 */
public interface RolePrivilegeMapper extends CustomMapper<RolePrivilege> {
    @Select("")
    @Select("select p.privilege from tb_role_privilege rp inner join tb_privilege p on rp.privilege_id = p.id inner join tb_user_role ur\n" +
            "on rp.role_id = ur.role_id\n" +
            "where ur.user_id=1 \n")
    List<Privilege> getPrivileges(Integer userId);
}
src/main/java/com/whyc/pojo/Menu.java
@@ -9,6 +9,8 @@
public class Menu {
    private Integer id;
    private String name;
    /**菜单的路径*/
    private String url;
    /**级别:1级,2级菜单...*/
    private String level;
    /**排序*/
@@ -30,6 +32,14 @@
        this.name = name;
    }
    public String getUrl() {
        return url;
    }
    public void setUrl(String url) {
        this.url = url;
    }
    public String getLevel() {
        return level;
    }
src/main/java/com/whyc/service/RoleMenuService.java
New file
@@ -0,0 +1,22 @@
package com.whyc.service;
import com.whyc.mapper.RoleMenuMapper;
import com.whyc.pojo.Menu;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
/**
 * 角色-菜单
 */
@Service
public class RoleMenuService {
    @Resource
    private RoleMenuMapper mapper;
    public List<Menu> getUserMenu(Integer id) {
        return mapper.getUserMenu(id);
    }
}
src/main/java/com/whyc/service/UserService.java
@@ -66,7 +66,7 @@
        boolean flag=false;
        //查询用户名和密码是否正确
        QueryWrapper<User> queryWrapper = query();
        queryWrapper.eq("username",username).eq("password",password);
        queryWrapper.eq("name",username).eq("password",password);
        User user = userMapper.selectOne(queryWrapper);
        if (user!=null){
            flag=true;
src/main/java/com/whyc/util/CommonUtil.java
New file
@@ -0,0 +1,16 @@
package com.whyc.util;
import com.whyc.pojo.User;
import javax.servlet.http.HttpServletRequest;
/**
 * 通用工具列
 */
public class CommonUtil {
    /**获取当前Session中的属性user*/
    public static User getUser(HttpServletRequest request) {
        return (User) request.getSession().getAttribute("user");
    }
}
src/main/resources/config/application.yml
@@ -7,7 +7,7 @@
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3360/motorSystem?characterEncoding=utf8&serverTimezone=Asia/Shanghai&allowMultiQueries=true
    url: jdbc:mysql://localhost:3360/db_3.5mw_web?characterEncoding=utf8&serverTimezone=Asia/Shanghai&allowMultiQueries=true
#    url: jdbc:mysql://192.168.10.222:3360/db_user?characterEncoding=utf8&serverTimezone=Asia/Shanghai&allowMultiQueries=true
#    url: jdbc:mysql://118.89.139.230:3360/db_user?characterEncoding=utf8&serverTimezone=Asia/Shanghai&allowMultiQueries=true
    username: root
src/main/resources/mapper/RoleMenuMapper.xml
New file
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.whyc.mapper.RoleMenuMapper" >
    <select id="getUserMenu" resultType="com.whyc.pojo.Menu">
    </select>
</mapper>