whyczh
2021-05-11 bbc8be806cc3116345711b2900ffd43d1d59b106
用户角色菜单调整
7个文件已修改
1个文件已添加
79 ■■■■■ 已修改文件
src/main/java/com/whyc/controller/RoleController.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/mapper/MenuMapper.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/mapper/RoleMenuMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/pojo/Menu.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/pojo/UserRole.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/RoleMenuService.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/RoleService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/RoleMenuMapper.xml 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/controller/RoleController.java
@@ -129,6 +129,20 @@
    /**==============用户-角色-菜单================**/
    @GetMapping("allMenus")
    @ApiOperation(value = "获取所有菜单")
    public List<Menu> getAllMenu(){
        return roleMenuService.getAllMenus();
    }
    @GetMapping("roleMenu")
    @ApiOperation(value = "获取角色所有菜单")
    public List<Menu> getMenuByRoleId(@RequestParam int roleId){
        return roleMenuService.getRoleMenu(roleId);
    }
    @GetMapping("userMenu")
    @ApiOperation(value = "获取当前用户的菜单")
    public List<Menu> getUserMenu(HttpServletRequest request){
src/main/java/com/whyc/mapper/MenuMapper.java
New file
@@ -0,0 +1,10 @@
package com.whyc.mapper;
import com.whyc.pojo.Menu;
/**
 * @author 张辉
 * @since 2021/5/11
 */
public interface MenuMapper extends CustomMapper<Menu>{
}
src/main/java/com/whyc/mapper/RoleMenuMapper.java
@@ -12,4 +12,6 @@
public interface RoleMenuMapper extends CustomMapper<RoleMenu> {
    List<Menu> getUserMenu(@Param("id") Integer id);
}
src/main/java/com/whyc/pojo/Menu.java
@@ -1,8 +1,11 @@
package com.whyc.pojo;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.models.auth.In;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.ibatis.type.Alias;
import java.util.List;
@@ -13,6 +16,8 @@
@Alias("Menu")
@TableName( schema = "`db_3.5mw_web`",value = "`tb_menu`")
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Menu {
    private Integer id;
    private String name;
@@ -24,6 +29,9 @@
    private Integer ord;
    private Integer menuId;
    private String icon;
    @TableField(exist = false)
    private List<Menu> subMenus;
    @TableField(exist = false)
    private boolean selected;
}
src/main/java/com/whyc/pojo/UserRole.java
@@ -25,6 +25,8 @@
    private String userNames;
    @TableField(exist = false)
    private String roleName;
    @TableField(exist = false)
    private Integer userCount;
    public UserRole() {
    }
@@ -97,4 +99,12 @@
    public void setRoleName(String roleName) {
        this.roleName = roleName;
    }
    public Integer getUserCount() {
        return userCount;
    }
    public void setUserCount(Integer userCount) {
        this.userCount = userCount;
    }
}
src/main/java/com/whyc/service/RoleMenuService.java
@@ -1,7 +1,11 @@
package com.whyc.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.whyc.dto.Response;
import com.whyc.mapper.MenuMapper;
import com.whyc.mapper.RoleMenuMapper;
import com.whyc.pojo.Menu;
import com.whyc.pojo.RoleMenu;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@@ -16,7 +20,31 @@
    @Resource
    private RoleMenuMapper mapper;
    @Resource
    private MenuMapper menuMapper;
    public List<Menu> getUserMenu(Integer id) {
        return mapper.getUserMenu(id);
    }
    public List<Menu> getAllMenus(){
        List<Menu> menus = menuMapper.selectList(null);
        return menus;
    }
    public List<Menu> getRoleMenu(Integer roleId){
        List<Menu> menus = menuMapper.selectList(null);
        QueryWrapper<RoleMenu> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("role_id",roleId);
        List<RoleMenu> roleMenus = mapper.selectList(queryWrapper);
        for (RoleMenu roleMenu:roleMenus) {
            for (Menu menu:menus) {
                if (roleMenu.getMenuId().equals(menu.getId())){
                    menu.setSelected(true);
                    break;
                }
            }
        }
        return menus;
    }
}
src/main/java/com/whyc/service/RoleService.java
@@ -34,10 +34,10 @@
        QueryWrapper<Role> queryWrapper = new QueryWrapper<>(role);
        try {
            if(mapper.selectOne(queryWrapper)!=null){
                return new Response().set(0,"已有此权限组数据");
                return new Response().setMsg(0,"已有此权限组数据");
            }
        }catch (Exception e){
            return new Response().set(0,"已有此权限组数据");
            return new Response().setMsg(0,"已有此权限组数据");
        }
        role.setState(1);
src/main/resources/mapper/RoleMenuMapper.xml
@@ -6,6 +6,7 @@
    <resultMap type="com.whyc.pojo.Menu" id="MenuMap">
        <id property="id" column="id" />
        <result property="name" column="name" />
        <result property="url" column="url" />
        <result property="icon" column="icon"/>
        <result property="level" column="level"/>
        <result property="ord" column="ord"/>
@@ -20,7 +21,7 @@
    </resultMap>
    <select id="getUserMenu" resultMap="MenuMap">
        select pm.id,pm.name,pm.icon,pm.level,pm.ord,m.id mid,m.name mname,m.url murl,m.icon micon,m.level mlevel,m.ord mord
        select pm.id,pm.name,pm.url,pm.icon,pm.level,pm.ord,m.id mid,m.name mname,m.url murl,m.icon micon,m.level mlevel,m.ord mord
        from tb_user u
         inner join tb_user_role ur on u.id=ur.user_id
         inner join tb_role role on ur.role_id=role.id