From 7b772959ec96e54a52c1750ebaa7a4409e08e81a Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期五, 26 一月 2024 15:03:06 +0800 Subject: [PATCH] 修改数据权限bug --- ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java | 111 ++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 85 insertions(+), 26 deletions(-) diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java index 4701689..3c3cb57 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java @@ -3031,7 +3031,9 @@ } //数据权限 List<Long> userId = remoteUserService.getScopeOfAuthorityUserId(); - List<Shop> shops = remoteShopService.getShopBySysUserIds(userId); + BoardMemberTotalDto boardMemberTotalDto = new BoardMemberTotalDto(); + boardMemberTotalDto.setUserIds(userId); + List<Shop> shops = remoteShopService.getShopBySysUserIds(boardMemberTotalDto); if (!shops.isEmpty()) { List<Long> collect = shops.stream().map(Shop::getShopId).collect(Collectors.toList()); String join = collect.stream().map(Object::toString).collect(Collectors.joining(",")); @@ -3126,7 +3128,9 @@ } //数据权限 List<Long> userId = remoteUserService.getScopeOfAuthorityUserId(); - List<Shop> shops = remoteShopService.getShopBySysUserIds(userId); + BoardMemberTotalDto boardMemberTotalDto = new BoardMemberTotalDto(); + boardMemberTotalDto.setUserIds(userId); + List<Shop> shops = remoteShopService.getShopBySysUserIds(boardMemberTotalDto); if (!shops.isEmpty()) { List<Long> collect = shops.stream().map(Shop::getShopId).collect(Collectors.toList()); String join = collect.stream().map(Object::toString).collect(Collectors.joining(",")); @@ -3187,7 +3191,9 @@ } //数据权限 List<Long> userId = remoteUserService.getScopeOfAuthorityUserId(); - List<Shop> shops = remoteShopService.getShopBySysUserIds(userId); + BoardMemberTotalDto boardMemberTotalDto = new BoardMemberTotalDto(); + boardMemberTotalDto.setUserIds(userId); + List<Shop> shops = remoteShopService.getShopBySysUserIds(boardMemberTotalDto); if (!shops.isEmpty()) { List<Long> collect = shops.stream().map(Shop::getShopId).collect(Collectors.toList()); String join = collect.stream().map(Object::toString).collect(Collectors.joining(",")); @@ -3360,7 +3366,9 @@ */ @Override public MgtBulletinBoardVo boardOrderTotal(List<Long> userIds) { - List<Shop> shopList = remoteShopService.getShopBySysUserIds(userIds); + BoardMemberTotalDto boardMemberTotalDto = new BoardMemberTotalDto(); + boardMemberTotalDto.setUserIds(userIds); + List<Shop> shopList = remoteShopService.getShopBySysUserIds(boardMemberTotalDto); List<Long> collect = shopList.stream().map(Shop::getShopId).collect(Collectors.toList()); MgtBulletinBoardVo mgtBulletinBoardVo = orderMapper.boardOrderTotal(collect); Integer activityUserTotal = orderMapper.activityUserTotal(collect); @@ -3871,14 +3879,16 @@ } } //数据权限 - List<Long> userIdList = mgtBasePlatformDto.getUserIdList(); List<Long> userIds = remoteUserService.getScopeOfAuthorityUserId(); - if(null != userIdList){ - userIdList.addAll(userIds); - }else{ - userIdList = userIds; + if(null != userIds){ + List<Long> userIdList = mgtBasePlatformDto.getUserIdList(); + if(null != userIdList){ + userIdList.addAll(userIds); + }else{ + userIdList = userIds; + } + mgtBasePlatformDto.setUserIdList(userIdList); } - mgtBasePlatformDto.setUserIdList(userIdList); List<Long> shopIdList = new ArrayList<>(); @@ -3934,14 +3944,52 @@ List<Long> userIdList = new ArrayList<>(); if (mgtBasePlatformDto.getUserId() != null) { userIdList.add(mgtBasePlatformDto.getUserId()); - } else { - MgtUserIdByDept mgtUserIdByDept = new MgtUserIdByDept(); - mgtUserIdByDept.setDeptId(mgtBasePlatformDto.getUserId()); - mgtUserIdByDept = remoteConfigService.getUserIdByDept(mgtUserIdByDept).getData(); - userIdList = mgtUserIdByDept.getUserIdList(); + } + else { + // 如果当前登陆人的可视权限是仅个人 只选择了部门也只能看自己的数据 + SysUser sysUser = SecurityUtils.getSysUser(); + if (sysUser.getDataScope().equals("5")){ + userIdList.add(sysUser.getUserId()); + }else{ + MgtUserIdByDept mgtUserIdByDept = new MgtUserIdByDept(); + mgtUserIdByDept.setDeptId(mgtBasePlatformDto.getDeptId()); + mgtUserIdByDept = remoteConfigService.getUserIdByDept(mgtUserIdByDept).getData(); + userIdList = mgtUserIdByDept.getUserIdList(); + } } if (!userIdList.isEmpty()) { mgtBasePlatformDto.setUserIdList(userIdList); + } + }else{ + // 没有选择筛选部门和员工 获取当前登陆人的可视权限 + SysUser sysUser = SecurityUtils.getSysUser(); + // 如果当前登陆人是查看个人数据 + Long userId1 = null; + // 如果当前登陆人权限是查看部门数据 + List<Long> userList = new ArrayList<>(); + if (sysUser!=null){ + String dataScope = sysUser.getDataScope(); + if (!sysUser.getUserName().equals("admin")){ + if (org.springframework.util.StringUtils.hasLength(dataScope)){ + switch (dataScope){ + case "3": + // 本部门数据 查询当前登陆人属于哪个部门 查询这个部门下所有员工关联的所有店铺 + MgtUserIdByDept mgtUserIdByDept = new MgtUserIdByDept(); + mgtUserIdByDept.setDeptId(sysUser.getDeptId()); + mgtUserIdByDept = remoteConfigService.getUserIdByDept(mgtUserIdByDept).getData(); + userList = mgtUserIdByDept.getUserIdList(); + mgtBasePlatformDto.setDeptId(sysUser.getDeptId()); + mgtBasePlatformDto.setUserIdList(userList); + case "5": + // 仅个人数据 查询当前登陆人关联店铺下的用户 + userId1 = sysUser.getUserId(); + userList.add(userId1); + mgtBasePlatformDto.setDeptId(sysUser.getDeptId()); + mgtBasePlatformDto.setUserIdList(userList); + break; + } + } + } } } //数据权限 @@ -3979,6 +4027,7 @@ mgtTotalOrderTotalVo.setGoodsTypeMoneyList(Lists.newArrayList()); mgtTotalOrderTotalVo.setGoodsRankList(Lists.newArrayList()); mgtTotalOrderTotalVo.setOrderFromRankList(Lists.newArrayList()); + List<Long> shopIdList = remoteShopService.listShopIdByPlTotal(mgtBasePlatformDto).getData(); if (mgtBasePlatformDto.getUserId() != null || StringUtils.isNotBlank(mgtBasePlatformDto.getShopProvinceCode()) || StringUtils.isNotBlank(mgtBasePlatformDto.getShopCityCode()) || StringUtils.isNotBlank(mgtBasePlatformDto.getShopAreaCode())) { if(shopIdList==null||shopIdList.isEmpty()){ @@ -4195,14 +4244,18 @@ } //数据权限 List<Long> userIds = remoteUserService.getScopeOfAuthorityUserId(); - List<Shop> shopList = remoteShopService.getShopBySysUserIds(userIds); - List<Long> collect = shopList.stream().map(Shop::getShopId).collect(Collectors.toList()); - if(null != shopIdList){ - shopIdList.addAll(collect); - }else{ - shopIdList = collect; + if(null != userIds){ + BoardMemberTotalDto boardMemberTotalDto = new BoardMemberTotalDto(); + boardMemberTotalDto.setUserIds(userIds); + List<Shop> shopList = remoteShopService.getShopBySysUserIds(boardMemberTotalDto); + List<Long> collect = shopList.stream().map(Shop::getShopId).collect(Collectors.toList()); + if(null != shopIdList){ + shopIdList.addAll(collect); + }else{ + shopIdList = collect; + } + mgtBasePlatformDto.setShopIdList(shopIdList); } - mgtBasePlatformDto.setShopIdList(shopIdList); //获取基础统计 MgtPlTotalActivityTotalVo mgtTotalActivityTotalVo = orderMapper.getPlTotalActivityTotal(mgtBasePlatformDto); totalActivityTotalVo.setOrderTotal(mgtTotalActivityTotalVo.getOrderTotal()); @@ -4309,8 +4362,10 @@ } HashSet<String> set = new HashSet<>(); // 遍历MgtMemberOrderPageVoList,获取shopId并添加到set中 - for (Long shopId : mgtBasePlatformDto.getShopIdList()) { - set.add(shopId.toString()); + if(null != mgtBasePlatformDto.getShopIdList()){ + for (Long shopId : mgtBasePlatformDto.getShopIdList()) { + set.add(shopId.toString()); + } } // 将set中的shopId转换为逗号分隔的字符串 String joinedString = String.join(",", set); @@ -4411,7 +4466,9 @@ } List<Long> userIds = remoteUserService.getScopeOfAuthorityUserId(); - List<Shop> shopList = remoteShopService.getShopBySysUserIds(userIds); + BoardMemberTotalDto boardMemberTotalDto = new BoardMemberTotalDto(); + boardMemberTotalDto.setUserIds(userIds); + List<Shop> shopList = remoteShopService.getShopBySysUserIds(boardMemberTotalDto); List<Long> collect = shopList.stream().map(Shop::getShopId).collect(Collectors.toList()); if(null != shopIdList){ shopIdList.addAll(collect); @@ -4482,7 +4539,9 @@ } //数据权限 List<Long> userIds = remoteUserService.getScopeOfAuthorityUserId(); - List<Shop> shopList = remoteShopService.getShopBySysUserIds(userIds); + BoardMemberTotalDto boardMemberTotalDto = new BoardMemberTotalDto(); + boardMemberTotalDto.setUserIds(userIds); + List<Shop> shopList = remoteShopService.getShopBySysUserIds(boardMemberTotalDto); List<Long> collect = shopList.stream().map(Shop::getShopId).collect(Collectors.toList()); if(null != shopIdList){ shopIdList.addAll(collect); -- Gitblit v1.7.1