项目总结(五)Controller增删改查

@Controller
@RequestMapping("/role")
public class RoleController {

    @Resource
    private RoleService roleService;

    // 查询角色列表
    @RequestMapping("/query")
    public String queryUserList(Model model, RolePO roleQuery) {
        List<RolePO> roleList = roleService.selectRoles(roleQuery);
        model.addAttribute("roleList", roleList);

        // 保持条件
        model.addAttribute("query", roleQuery);

        return "Role/index";
    }


    // 跳转到添加页面
    @GetMapping("/add")
    public String toAdd(Model model) {
        return "Role/add";
    }

    // 添加角色
    @PostMapping("/add")
    public String addUser(Model model, RolePO rolePO) {

        roleService.insert(rolePO);
        
        return "redirect:/role/query";
    }

    // 跳转到编辑页面
    @GetMapping("/edit")
    public String toEdit(Model model, Integer roleId) {

        // 查询用户对应基础数据
        RolePO editRole = roleService.selectByPrimaryKey(roleId);
        model.addAttribute("editRole", editRole);

        return "Role/edit";
    }

    // 修改角色
    // 使用Dto对象来传递参数
    @PostMapping("/edit")
    public String editUser(Model model, RolePO rolePO) {

        roleService.updateByPrimaryKey(rolePO);

        return "redirect:/role/query";
    }
    
    @Resource
    private MenuService menuService;
    
    // 跳转到分配菜单权限的页面
    @GetMapping("/assignMenu")
    public String toAssignMenuPage(Model model,Integer roleId) {
        
        // 查找到所有的菜单权限列表
        List<MenuPO> menuList = menuService.queryMenusByRoleId(roleId);
        model.addAttribute("menuList", menuList);
        
        // 查询角色数据
        RolePO role = roleService.selectByPrimaryKey(roleId);
        model.addAttribute("role", role);
        
        return "Role/assign";
    }
    
    /**
     * 分配菜单
     * @param model
     * @param roleId         -  分配菜单权限角色id
     * @param checkMenuIds  - 分配的权限id
     * @return
     */
    @PostMapping("/assignMenu")
    public String assignMenu(Model model,Integer roleId,Integer[] checkMenuIds) {
        
        roleService.assign(roleId,checkMenuIds);
        
        return "redirect:/role/query";
    }
    
    /**
     * 删除角色
     * @param model
     * @param roleId
     * @return
     */
    @PostMapping("/delete")
    @ResponseBody
    public ResponseData deleteRole(Model model,Integer roleId) {
        
        // 判断角色是否有被用户使用
        // 获取角色使用过用户数量
        Integer userCount = roleService.getUserCountUseRole(roleId);
        
        System.out.println("userCount========"+userCount);
        
        // 如果没有使用采取删除角色和角色相关信息
        if (userCount == 0) {
            // 删除角色和角色相关信息
            roleService.deleteRoleInfo(roleId);
            return ResponseData.success();
        }
        else {
            // 响应给用户这个角色正在被人使用
            return ResponseData.fail(2, "用户使用了此角色");
        }
    }
}
 

  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值