From 9c7ddd3a1126bdd057300bc9c79e1a83f591212c Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期六, 04 一月 2025 13:53:41 +0800 Subject: [PATCH] 修改管理后台权限bug --- ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java | 83 +++++++++++++++++++++++++++++++++++------ 1 files changed, 70 insertions(+), 13 deletions(-) diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java index 94f5316..aa126fd 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java @@ -1,6 +1,7 @@ package com.ruoyi.system.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.utils.StringUtils; @@ -26,6 +27,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.apache.commons.lang3.ArrayUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -72,6 +74,9 @@ @Resource private TokenService tokenService; + + @Autowired + private ISysMenuService menuService; @@ -121,12 +126,21 @@ } user.setCreateBy(SecurityUtils.getUsername()); user.setPassword(SecurityUtils.encryptPassword("a123456")); - user.setRoleType(1); + user.setRoleType(sysUser1.getRoleType()); userService.insertUser(user); SysUserRole sysUserRole = new SysUserRole(); sysUserRole.setRoleId(user.getRoleId()); sysUserRole.setUserId(user.getUserId()); userRoleService.insertSysUserRole(sysUserRole); + //添加门店员工关系数据 + if(2 == user.getRoleType()){ + UserShop userShop = new UserShop(); + userShop.setUserId(user.getUserId()); + userShop.setShopId(user.getObjectId()); + userShop.setRoleType(2); + userShop.setRoleId(user.getRoleId()); + userShopService.save(userShop); + } return AjaxResult.success(); } @@ -214,6 +228,17 @@ user.setUpdateBy(SecurityUtils.getUsername()); user.setUpdateTime(new Date()); userService.updateUser(user); + + //添加门店员工关系数据 + if(2 == user.getRoleType()){ + userShopService.remove(new LambdaQueryWrapper<UserShop>().eq(UserShop::getUserId, user.getUserId()).eq(UserShop::getShopId, user.getObjectId())); + UserShop userShop = new UserShop(); + userShop.setUserId(user.getUserId()); + userShop.setShopId(user.getObjectId()); + userShop.setRoleType(2); + userShop.setRoleId(user.getRoleId()); + userShopService.save(userShop); + } return success(); } @@ -311,7 +336,7 @@ } // 角色集合 Set<String> roles = permissionService.getRolePermission(sysUser); - // 权限集合 + // 权限集合getRolePermission Set<String> permissions = permissionService.getMenuPermission(sysUser); LoginUser sysUserVo = new LoginUser(); sysUserVo.setSysUser(sysUser); @@ -548,8 +573,7 @@ */ @ResponseBody @PostMapping("/saveShopUser") - public R saveShopUser(@RequestBody SysUser user){ - Integer shopId = user.getObjectId(); + public R<Long> saveShopUser(@RequestBody SysUser user){ SysUser one = userService.getOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getPhonenumber, user.getPhonenumber()).eq(SysUser::getDelFlag, "0") .eq(SysUser::getStatus, "0").eq(SysUser::getRoleType, 2).eq(SysUser::getAppUserId, user.getAppUserId())); if(null == one){ @@ -560,17 +584,50 @@ userRole.setUserId(user.getUserId()); userRole.setRoleId(2L); userRoleService.save(userRole); - }else{ - user = one; } - //添加门店关系数据 - UserShop userShop = userShopService.getOne(new LambdaQueryWrapper<UserShop>().eq(UserShop::getShopId, shopId).eq(UserShop::getUserId, user.getAppUserId())); - if(null == userShop){ - userShop = new UserShop(); - userShop.setUserId(user.getUserId().intValue()); - userShop.setShopId(user.getObjectId()); - userShopService.save(userShop); + return R.ok(user.getUserId()); + } + + + /** + * 删除门店管理员账号 + * @param objectId + * @param roleType + * @return + */ + @PostMapping("/user/delShopUser") + public R delShopUser(@RequestParam("objectId") Integer objectId, @RequestParam("roleType") Integer roleType){ + List<SysUser> list = userService.list(new LambdaUpdateWrapper<SysUser>().eq(SysUser::getObjectId, objectId).eq(SysUser::getRoleType, roleType) + .eq(SysUser::getDelFlag, "0").eq(SysUser::getStatus, "0")); + for (SysUser sysUser : list) { + List<UserShop> list1 = userShopService.list(new LambdaUpdateWrapper<UserShop>().eq(UserShop::getUserId, sysUser.getUserId())); + List<Integer> collect = list1.stream().map(UserShop::getShopId).collect(Collectors.toList()); + if(collect.contains(objectId) && collect.size() == 1){ + sysUser.setDelFlag("2"); + userService.updateById(sysUser); + } + userShopService.remove(new LambdaUpdateWrapper<UserShop>().eq(UserShop::getUserId, sysUser.getUserId()).eq(UserShop::getShopId, objectId)); } return R.ok(); } + + + + @ResponseBody + @GetMapping("/switchShop") + @ApiOperation(value = "切换门店", tags = {"门店后台-首页"}) + public R<Set<String>> switchShop(@PathVariable("shopId") Integer shopId){ + Long userid = tokenService.getLoginUser().getUserid(); + UserShop one = userShopService.getOne(new LambdaQueryWrapper<UserShop>().eq(UserShop::getUserId, userid).eq(UserShop::getShopId, shopId)); + if(null == one){ + return R.fail("切换失败"); + } + SysUser sysUser = userService.getById(userid); + sysUser.setObjectId(shopId); + userService.updateById(sysUser); + //查询用户权限列表 + Long roleId = one.getRoleId(); + Set<String> rolePerms = menuService.selectMenuPermsByRoleId(roleId); + return R.ok(rolePerms); + } } -- Gitblit v1.7.1