whyczh
2021-05-08 f399e33f73953aa4de6f1b073d956d764a6cf0b6
用户菜单和权限
5个文件已修改
51 ■■■■■ 已修改文件
pom.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/controller/UserController.java 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/pojo/Permission.java 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/PermissionService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/RoleMenuMapper.xml 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pom.xml
@@ -142,6 +142,10 @@
                    <groupId>com.google.guava</groupId>
                    <artifactId>guava</artifactId>
                </exclusion>
                <exclusion>
                    <artifactId>javassist</artifactId>
                    <groupId>org.javassist</groupId>
                </exclusion>
            </exclusions>
            <version>4.1.2</version>
        </dependency>
src/main/java/com/whyc/controller/UserController.java
@@ -17,6 +17,8 @@
import com.whyc.util.UserExcelVerify;
import io.swagger.annotations.*;
import lombok.extern.slf4j.Slf4j;
import org.apache.shiro.authz.annotation.Logical;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
@@ -48,12 +50,14 @@
    @PostMapping
    @ApiOperation(value = "添加用户")
    @RequiresPermissions(value = {"user:add","user:update"},logical = Logical.OR)
    public Response add(@RequestBody User user){
        return userService.add(user);
    }
    @GetMapping
    @ApiOperation(value = "查询用户byId")
    @RequiresPermissions(value = {"user:get"})
    public Response getById(@RequestParam int id){
        User user = userService.getById(id);
        if (user==null){
@@ -64,6 +68,7 @@
    @GetMapping("/all")
    @ApiOperation(value = "查询所有用户")
    @RequiresPermissions(value = {"user:get"})
    public List<User> getAll(){
        return userService.getAll();
    }
@@ -76,24 +81,28 @@
    }
    @GetMapping("/search")
    @ApiOperation(value = "查询用户分页-根据筛选条件")
    @RequiresPermissions(value = {"user:get"})
    public Response<IPage<User>> getPageByCondition(@RequestParam int pageNum,@RequestParam int pageSize,@RequestBody User user){
        return userService.getPageByCondition(pageNum,pageSize,user);
    }
    @PutMapping
    @ApiOperation(value = "编辑用户")
    @RequiresPermissions(value = {"user:update"})
    public Response update(@RequestBody User user){
        return userService.update(user);
    }
    @PutMapping("freezeUser")
    @ApiOperation(value = "冻结用户")
    @RequiresPermissions(value = {"user:update"})
    public Response updateUserFreeze(@RequestParam int id){
        return userService.updateUserFreeze(id);
    }
    @PutMapping("deleteUser")
    @ApiOperation(value = "删除用户")
    @RequiresPermissions(value = {"user:delete"})
    public Response delete(@RequestParam int id){
        return userService.deleteUser(id);
    }
@@ -156,14 +165,17 @@
    }
    @SuppressWarnings("AlibabaRemoveCommentedCode")
    @PostMapping("/importUserExcel")
    @ApiOperation(value = "导入用户数据")
    public Response importExcel2(@RequestParam("file") MultipartFile file) {
        Response response = new Response();
        ImportParams importParams = new ImportParams();
        // 数据处理
        importParams.setTitleRows(0);  //设置标题第1行开始
        importParams.setHeadRows(1);    //设置开始行从第3行开始
        //设置标题第1行开始
        importParams.setTitleRows(0);
        //设置开始行从第2行开始
        importParams.setHeadRows(1);
        // 需要验证
        importParams.setNeedVerify(true);
        //设及一个自定义校验 (自定义校验名字不可重复)  使用注解注入
src/main/java/com/whyc/pojo/Permission.java
@@ -1,6 +1,7 @@
package com.whyc.pojo;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import org.apache.ibatis.type.Alias;
/**
@@ -8,24 +9,14 @@
 */
@Alias("Permission")
@TableName( schema = "`db_3.5mw_web`",value = "tb_permission")
@Data
public class Permission {
    private Integer id;
    private String name;
    private String label;
    private String desc;
    private Integer menuId;
    private Integer ord;
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
}
src/main/java/com/whyc/service/PermissionService.java
@@ -23,7 +23,7 @@
        return mapper.insert(permission)>0;
    }
    @Transactional
    @Transactional(rollbackFor = Exception.class)
    public boolean addBatch(List<Permission> permissions) {
        return mapper.insertBatchSomeColumn(permissions)== permissions.size();
    }
src/main/resources/mapper/RoleMenuMapper.xml
@@ -7,22 +7,26 @@
        <id property="id" column="id" />
        <result property="name" column="name" />
        <result property="icon" column="icon"/>
        <result property="level" column="level"/>
        <result property="ord" column="ord"/>
        <collection property="subMenus" ofType="com.whyc.pojo.Menu">
            <id property="id" column="mid" />
            <result property="name" column="mname"/>
            <result property="url" column="murl" />
            <result property="level" column="mlevel"/>
            <result property="ord" column="mord"/>
        </collection>
    </resultMap>
    <select id="getUserMenu" resultMap="MenuMap">
        select pm.id,pm.name,pm.icon,m.id mid,m.name mname,m.url murl
        select pm.id,pm.name,pm.icon,pm.level,pm.ord,m.id mid,m.name mname,m.url murl,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
         inner join tb_role_menu rm on role.id=rm.role_id
         inner join tb_menu m on m.id=rm.menu_id
         inner join tb_menu pm on m.menu_id = pm.id
        where u.id=#{id}
        where u.id=#{id} ORDER BY pm.id,m.ord;
    </select>
</mapper>