From 3a12bbdaab43d249887683223191e57f1092d377 Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期二, 23 一月 2024 10:56:16 +0800 Subject: [PATCH] 新增加管理后台数据权限 --- ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberService.java | 2 ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml | 12 ++ ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/management/MgtOrderController.java | 7 - ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/sys/SysUserController.java | 10 ++ ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderService.java | 2 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteMemberService.java | 2 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/sys/ISysUserService.java | 7 + ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberMapper.xml | 12 ++ ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/OrderMapper.java | 4 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/ShopTaskServiceImpl.java | 17 +++ ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/config/RecommendCooperationMapper.java | 2 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/RecommendCooperationServiceImpl.java | 4 ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/RecommendCooperationMapper.xml | 8 + ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/sys/SysUserServiceImpl.java | 34 ++++++ ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopMapper.xml | 6 + ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/console/ShopController.java | 17 ++ ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteShopService.java | 11 ++ ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/CustomConfigServiceImpl.java | 19 +++ ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopService.java | 11 ++ ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteOrderService.java | 2 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteUserService.java | 8 + ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/shop/ShopMapper.java | 2 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java | 19 +++ ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java | 6 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java | 52 +++++++++ ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/task/ShopTaskService.java | 2 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/config/RecommendCooperationService.java | 2 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/member/MemberMapper.java | 4 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/concole/OrderController.java | 4 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/console/MemberController.java | 4 30 files changed, 248 insertions(+), 44 deletions(-) diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteMemberService.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteMemberService.java index 2c9c9bd..2c67e65 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteMemberService.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteMemberService.java @@ -125,7 +125,7 @@ * @date 2023/6/18 16:45 */ @PostMapping("/member/boardMemberTotal") - public R<MgtBulletinBoardVo> boardMemberTotal(); + public R<MgtBulletinBoardVo> boardMemberTotal(@RequestBody List<Long> userIds); /** * @param mgtActivityAgeDto diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteOrderService.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteOrderService.java index 3f48f4b..9c6d0d0 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteOrderService.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteOrderService.java @@ -31,7 +31,7 @@ * @date 2023/6/18 17:29 */ @PostMapping("/order/boardOrderTotal") - public R<MgtBulletinBoardVo> boardOrderTotal(); + public R<MgtBulletinBoardVo> boardOrderTotal(@RequestBody List<Long> userIds); /** * @description diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteShopService.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteShopService.java index 37a390e..e99156d 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteShopService.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteShopService.java @@ -84,7 +84,7 @@ * @date 2023/6/18 16:45 */ @PostMapping("/shop/boardShopTotal") - public R<MgtBulletinBoardVo> boardShopTotal(); + public R<MgtBulletinBoardVo> boardShopTotal(@RequestBody List<Long> userIds); /** * @description 获取平台统计shopId @@ -198,4 +198,13 @@ */ @PostMapping("/shop/listShopByIds") R<List<Shop>> listShopByIds(@RequestBody List<String> ids); + + + /** + * 根据员工id获取关联到门店 + * @param userIds + * @return + */ + @PostMapping("/shop/getShopBySysUserIds") + List<Shop> getShopBySysUserIds(@RequestBody List<Long> userIds); } diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteUserService.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteUserService.java index 74e925c..4ac8e89 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteUserService.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteUserService.java @@ -126,4 +126,12 @@ */ @PostMapping("/user/getUsersByDeptId") R<List<SysUser>> getUsersByDeptId(@RequestBody Long deptId); + + + /** + * 获取当前用户权限范围内的员工id + * @return + */ + @PostMapping("/user/getScopeOfAuthorityUserId") + List<Long> getScopeOfAuthorityUserId(); } diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/console/MemberController.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/console/MemberController.java index 5d41084..6ca20f8 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/console/MemberController.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/console/MemberController.java @@ -194,9 +194,9 @@ * @date 2023/6/18 16:45 */ @PostMapping("/boardMemberTotal") - public R<MgtBulletinBoardVo> boardMemberTotal() + public R<MgtBulletinBoardVo> boardMemberTotal(@RequestBody List<Long> userIds) { - MgtBulletinBoardVo bulletinBoardVo = memberService.boardMemberTotal(); + MgtBulletinBoardVo bulletinBoardVo = memberService.boardMemberTotal(userIds); return R.ok(bulletinBoardVo); } diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/member/MemberMapper.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/member/MemberMapper.java index d3ba203..3e761ad 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/member/MemberMapper.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/member/MemberMapper.java @@ -120,7 +120,7 @@ * @author jqs34 * @date 2023/6/18 16:46 */ - Integer memberTotal(); + Integer memberTotal(@Param("userIds") List<Long> userIds); /** * @description 今日新增用户数 @@ -129,7 +129,7 @@ * @author jqs34 * @date 2023/6/18 16:47 */ - Integer memberToday(); + Integer memberToday(@Param("userIds") List<Long> userIds); /** diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java index 21f0c1f..7159c62 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java @@ -1236,10 +1236,10 @@ * @date 2023/6/18 16:45 */ @Override - public MgtBulletinBoardVo boardMemberTotal() { + public MgtBulletinBoardVo boardMemberTotal(List<Long> userIds) { MgtBulletinBoardVo mgtBulletinBoardVo = new MgtBulletinBoardVo(); - mgtBulletinBoardVo.setMemberTotal(memberMapper.memberTotal()); - mgtBulletinBoardVo.setMemberToday(memberMapper.memberToday()); + mgtBulletinBoardVo.setMemberTotal(memberMapper.memberTotal(userIds)); + mgtBulletinBoardVo.setMemberToday(memberMapper.memberToday(userIds)); return mgtBulletinBoardVo; } diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberService.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberService.java index bc6985c..c48928f 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberService.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberService.java @@ -220,7 +220,7 @@ * @author jqs34 * @date 2023/6/18 16:47 */ - MgtBulletinBoardVo boardMemberTotal(); + MgtBulletinBoardVo boardMemberTotal(List<Long> userIds); /** * @description 会员人数统计 diff --git a/ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberMapper.xml b/ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberMapper.xml index 512e252..1cd3761 100644 --- a/ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberMapper.xml +++ b/ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberMapper.xml @@ -359,10 +359,22 @@ <select id="memberTotal" resultType="java.lang.Integer"> SELECT COUNT(user_id) FROM t_member WHERE del_flag = 0 + <if test="null != userIds and userIds.size() > 0"> + and user_id in + <foreach collection="userIds" separator="," index="index" item="item" open="(" close=")"> + #{item} + </foreach> + </if> </select> <select id="memberToday" resultType="java.lang.Integer"> SELECT COUNT(user_id) FROM t_member WHERE del_flag = 0 AND Date(create_time) = CURDATE() + <if test="null != userIds and userIds.size() > 0"> + and user_id in + <foreach collection="userIds" separator="," index="index" item="item" open="(" close=")"> + #{item} + </foreach> + </if> </select> <select id="getTotalMemberTotal" resultType="com.ruoyi.member.domain.vo.MgtTotalMemberTotalVo"> diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/concole/OrderController.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/concole/OrderController.java index 4aac451..f708190 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/concole/OrderController.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/concole/OrderController.java @@ -55,9 +55,9 @@ * @date 2023/6/18 17:30 */ @PostMapping("/boardOrderTotal") - public R<MgtBulletinBoardVo> boardOrderTotal(){ + public R<MgtBulletinBoardVo> boardOrderTotal(@RequestBody List<Long> userIds){ MgtBulletinBoardVo mgtBulletinBoardVo = new MgtBulletinBoardVo(); - MgtBulletinBoardVo mgtBulletinBoardVoOrder = orderService.boardOrderTotal(); + MgtBulletinBoardVo mgtBulletinBoardVoOrder = orderService.boardOrderTotal(userIds); mgtBulletinBoardVo.setSalesTotal(mgtBulletinBoardVoOrder.getSalesTotal()); mgtBulletinBoardVo.setUnUseOrderTotal(mgtBulletinBoardVoOrder.getUnUseOrderTotal()); mgtBulletinBoardVo.setActivityOrderTotal(mgtBulletinBoardVoOrder.getActivityOrderTotal()); diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/management/MgtOrderController.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/management/MgtOrderController.java index 387ea83..90fd209 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/management/MgtOrderController.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/management/MgtOrderController.java @@ -118,13 +118,6 @@ Long userId = SecurityUtils.getUserId(); mgtShopOrderPageDto.setUserId(userId); Page<MgtActivityOrderPageVo> page = new Page<>(); -// if(mgtShopOrderPageDto.getPageSize() > 5000){ -// page.setSize(5000); -// page.setCurrent(1); -// }else{ -// page.setSize(mgtShopOrderPageDto.getPageSize()); -// page.setCurrent(mgtShopOrderPageDto.getPageNum()); -// } page.setSize(Integer.MAX_VALUE); page.setCurrent(1); List<MgtActivityOrderPageVo> mgtActivityOrderPageVos = orderService.pageMgtActivityOrder(page,mgtShopOrderPageDto); diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/OrderMapper.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/OrderMapper.java index c80d343..74a124c 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/OrderMapper.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/OrderMapper.java @@ -141,7 +141,7 @@ * @author jqs34 * @date 2023/6/18 17:20 */ - MgtBulletinBoardVo boardOrderTotal(); + MgtBulletinBoardVo boardOrderTotal(@Param("shopIds") List<Long> shopIds); /** * @description 活动人数统计 @@ -150,7 +150,7 @@ * @param * @return Integer */ - Integer activityUserTotal(); + Integer activityUserTotal(@Param("shopIds") List<Long> shopIds); /** * @description getTotalOrderTotalOrderFrom 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 eadda92..4d01b96 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 @@ -3029,6 +3029,22 @@ mgtShopOrderPageDto.setUserIds(mgtUserIdByKeywordVo.getUserIds()); } } + //数据权限 + List<Long> userId = remoteUserService.getScopeOfAuthorityUserId(); + List<Shop> shops = remoteShopService.getShopBySysUserIds(userId); + if (!shops.isEmpty()) { + List<Long> collect = shops.stream().map(Shop::getShopId).collect(Collectors.toList()); + String join = collect.stream().map(Object::toString).collect(Collectors.joining(",")); + String shopIds = mgtShopOrderPageDto.getShopIds(); + if(StringUtils.isNotEmpty(shopIds)){ + shopIds = shopIds + "," + join; + }else{ + shopIds = join; + } + mgtShopOrderPageDto.setShopIds(shopIds); + } + + // 从数据库中获取活动订单列表 List<MgtActivityOrderPageVo> activityOrderPageVoList = orderMapper.pageMgtActivityOrder(page, mgtShopOrderPageDto); // 如果列表不为空 @@ -3108,6 +3124,20 @@ mgtShopOrderPageDto.setUserIds(mgtUserIdByKeywordVo.getUserIds()); } } + //数据权限 + List<Long> userId = remoteUserService.getScopeOfAuthorityUserId(); + List<Shop> shops = remoteShopService.getShopBySysUserIds(userId); + if (!shops.isEmpty()) { + List<Long> collect = shops.stream().map(Shop::getShopId).collect(Collectors.toList()); + String join = collect.stream().map(Object::toString).collect(Collectors.joining(",")); + String shopIds = mgtShopOrderPageDto.getShopIds(); + if(StringUtils.isNotEmpty(shopIds)){ + shopIds = shopIds + "," + join; + }else{ + shopIds = join; + } + mgtShopOrderPageDto.setShopIds(shopIds); + } MgtOrderTotal mgtOrderTotal = new MgtOrderTotal(); MgtOrderTotal mgtOrderTotalFirst = orderMapper.totalOrderFirst(mgtShopOrderPageDto); MgtOrderTotal mgtOrderTotalSecond = orderMapper.totalOrderSecond(mgtShopOrderPageDto); @@ -3154,6 +3184,20 @@ if (StringUtils.isNotBlank(mgtUserIdByKeywordVo.getUserIds())) { mgtShopOrderPageDto.setUserIds(mgtUserIdByKeywordVo.getUserIds()); } + } + //数据权限 + List<Long> userId = remoteUserService.getScopeOfAuthorityUserId(); + List<Shop> shops = remoteShopService.getShopBySysUserIds(userId); + if (!shops.isEmpty()) { + List<Long> collect = shops.stream().map(Shop::getShopId).collect(Collectors.toList()); + String join = collect.stream().map(Object::toString).collect(Collectors.joining(",")); + String shopIds = mgtShopOrderPageDto.getShopIds(); + if(StringUtils.isNotEmpty(shopIds)){ + shopIds = shopIds + "," + join; + }else{ + shopIds = join; + } + mgtShopOrderPageDto.setShopIds(shopIds); } List<MgtShopOrderPageVo> shopOrderPageVoList = orderMapper.pageMgtShopOrder(page, mgtShopOrderPageDto); // 如果列表不为空 @@ -3315,9 +3359,11 @@ * @date 2023/6/18 17:20 */ @Override - public MgtBulletinBoardVo boardOrderTotal() { - MgtBulletinBoardVo mgtBulletinBoardVo = orderMapper.boardOrderTotal(); - Integer activityUserTotal = orderMapper.activityUserTotal(); + public MgtBulletinBoardVo boardOrderTotal(List<Long> userIds) { + List<Shop> shopList = remoteShopService.getShopBySysUserIds(userIds); + List<Long> collect = shopList.stream().map(Shop::getShopId).collect(Collectors.toList()); + MgtBulletinBoardVo mgtBulletinBoardVo = orderMapper.boardOrderTotal(collect); + Integer activityUserTotal = orderMapper.activityUserTotal(collect); mgtBulletinBoardVo.setActivityUserTotal(activityUserTotal); return mgtBulletinBoardVo; } diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderService.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderService.java index f528dc8..55c01d7 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderService.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderService.java @@ -235,7 +235,7 @@ * @author jqs34 * @date 2023/6/18 17:20 */ - MgtBulletinBoardVo boardOrderTotal(); + MgtBulletinBoardVo boardOrderTotal(List<Long> userIds); /** * @description 获取商户订单统计 diff --git a/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml b/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml index 3df5c6e..d355c22 100644 --- a/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml +++ b/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml @@ -756,6 +756,12 @@ IFNULL(SUM(CASE WHEN order_from = 2 THEN 1 ELSE 0 END),0) activityOrderTotal FROM t_order WHERE del_flag = 0 AND order_status IN (2,3) + <if test="null != shopIds and shopIds.size() > 0"> + and shop_id in + <foreach collection="shopIds" index="index" item="item" open="(" separator="," close=")"> + #{item} + </foreach> + </if> </select> <select id="activityUserTotal" resultType="java.lang.Integer"> @@ -763,6 +769,12 @@ COUNT(DISTINCT user_id) FROM t_order WHERE del_flag = 0 AND order_from = 2 AND order_status IN (2,3) + <if test="null != shopIds and shopIds.size() > 0"> + and shop_id in + <foreach collection="shopIds" index="index" item="item" open="(" separator="," close=")"> + #{item} + </foreach> + </if> </select> <select id="getTotalOrderTotalOrderFrom" resultType="com.ruoyi.order.domain.vo.MgtTotalOrderTotalVo"> diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/console/ShopController.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/console/ShopController.java index a2a14b7..a8157b1 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/console/ShopController.java +++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/console/ShopController.java @@ -238,11 +238,11 @@ * @date 2023/6/18 16:45 */ @PostMapping("/boardShopTotal") - public R<MgtBulletinBoardVo> boardShopTotal() + public R<MgtBulletinBoardVo> boardShopTotal(@RequestBody List<Long> userIds) { MgtBulletinBoardVo bulletinBoardVo = new MgtBulletinBoardVo(); - MgtBulletinBoardVo bulletinBoardVoShop = shopService.boardShopTotal(); - MgtBulletinBoardVo bulletinBoardVoTask = shopTaskService.boardTaskTotal(); + MgtBulletinBoardVo bulletinBoardVoShop = shopService.boardShopTotal(userIds); + MgtBulletinBoardVo bulletinBoardVoTask = shopTaskService.boardTaskTotal(userIds); bulletinBoardVo.setShopTotal(bulletinBoardVoShop.getShopTotal()); bulletinBoardVo.setDealerTotal(bulletinBoardVoShop.getDealerTotal()); bulletinBoardVo.setAgencyTotal(bulletinBoardVoShop.getAgencyTotal()); @@ -417,4 +417,15 @@ List<Shop> shopIdList = shopService.listByIds(ids); return R.ok(shopIdList); } + + + /** + * 根据管理员id获取门店 + * @param userIds + * @return + */ + @PostMapping("/getShopBySysUserIds") + public List<Shop> getShopBySysUserIds(@RequestBody List<Long> userIds){ + return shopService.getShopBySysUserIds(userIds); + } } diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/shop/ShopMapper.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/shop/ShopMapper.java index 46899c3..31579bf 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/shop/ShopMapper.java +++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/shop/ShopMapper.java @@ -150,7 +150,7 @@ * @author jqs34 * @date 2023/6/18 17:01 */ - MgtBulletinBoardVo shopTotal(); + MgtBulletinBoardVo shopTotal(@Param("userIds") List<Long> userIds); /** * @description 获取平台商户统计 diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java index 4877a1c..7dc14fa 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java +++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java @@ -1117,8 +1117,8 @@ * @date 2023/6/18 16:59 */ @Override - public MgtBulletinBoardVo boardShopTotal(){ - MgtBulletinBoardVo mgtBulletinBoardVoShop = shopMapper.shopTotal(); + public MgtBulletinBoardVo boardShopTotal(List<Long> userIds){ + MgtBulletinBoardVo mgtBulletinBoardVoShop = shopMapper.shopTotal(userIds); return mgtBulletinBoardVoShop; } @@ -1928,4 +1928,19 @@ public List<Shop> listShopByCityCode(List<String> cityCodes){ return shopMapper.listShopByCityCode(cityCodes); } + + + /** + * 根据员工id获取对应的门店 + * @param userIds + * @return + */ + @Override + public List<Shop> getShopBySysUserIds(List<Long> userIds) { + if(userIds.size() == 0){ + userIds.add(0L); + } + List<Shop> list = this.list(new QueryWrapper<Shop>().eq("del_flag", 0).ne("shop_status", -1).in("belong_user_id", userIds)); + return list; + } } diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/ShopTaskServiceImpl.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/ShopTaskServiceImpl.java index f376d09..5574654 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/ShopTaskServiceImpl.java +++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/ShopTaskServiceImpl.java @@ -1,6 +1,7 @@ package com.ruoyi.shop.service.impl.task; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.core.utils.DateUtils; @@ -12,13 +13,16 @@ import com.ruoyi.shop.domain.pojo.task.TaskFile; import com.ruoyi.shop.domain.vo.StaffShopTaskPageVo; import com.ruoyi.shop.mapper.task.ShopTaskMapper; +import com.ruoyi.shop.service.shop.ShopService; import com.ruoyi.shop.service.task.ShopTaskRecordService; import com.ruoyi.shop.service.task.ShopTaskService; import com.ruoyi.shop.service.task.TaskFileService; +import com.ruoyi.system.api.domain.poji.shop.Shop; import com.ruoyi.system.api.domain.poji.sys.SysStaff; import com.ruoyi.system.api.domain.vo.MgtBulletinBoardVo; import com.ruoyi.system.api.service.RemoteConfigService; import com.ruoyi.system.api.service.RemoteUserService; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -51,6 +55,12 @@ @Resource private RemoteConfigService remoteConfigService; + + @Autowired + private ShopService shopService; + + + /** * 平台跟进商户 @@ -127,12 +137,17 @@ * @date 2023/6/18 17:08 */ @Override - public MgtBulletinBoardVo boardTaskTotal(){ + public MgtBulletinBoardVo boardTaskTotal(List<Long> userIds){ MgtBulletinBoardVo mgtBulletinBoardVo = new MgtBulletinBoardVo(); LambdaQueryWrapper<ShopTask> queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(ShopTask::getDelFlag,0); queryWrapper.eq(ShopTask::getTaskStatus,1); queryWrapper.eq(ShopTask::getTaskDate,DateUtils.getDate()); + if(null != userIds && userIds.size() > 0){ + List<Shop> list = shopService.list(new QueryWrapper<Shop>().eq("del_flag", 0).in("belong_user_id", userIds)); + List<Long> collect = list.stream().map(Shop::getShopId).collect(Collectors.toList()); + queryWrapper.in(ShopTask::getShopId, collect); + } Integer followShopToday = this.count(queryWrapper); mgtBulletinBoardVo.setFollowShopToday(followShopToday); return mgtBulletinBoardVo; diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopService.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopService.java index 9e8683a..b37dce0 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopService.java +++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopService.java @@ -14,6 +14,7 @@ import com.ruoyi.system.api.domain.poji.member.Member; import com.ruoyi.system.api.domain.poji.shop.Shop; import com.ruoyi.system.api.domain.vo.*; +import org.springframework.web.bind.annotation.RequestBody; import java.util.List; @@ -209,7 +210,7 @@ * @author jqs34 * @date 2023/6/18 17:01 */ - MgtBulletinBoardVo boardShopTotal(); + MgtBulletinBoardVo boardShopTotal(List<Long> userIds); /** * @description 商户进件 @@ -451,4 +452,12 @@ * @return List<Long> */ List<Shop> listShopByCityCode(List<String> cityCodes); + + + /** + * 根据员工id获取对应的门店 + * @param userIds + * @return + */ + List<Shop> getShopBySysUserIds(List<Long> userIds); } diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/task/ShopTaskService.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/task/ShopTaskService.java index 01c8d34..e6bdf22 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/task/ShopTaskService.java +++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/task/ShopTaskService.java @@ -35,7 +35,7 @@ * @author jqs34 * @date 2023/6/18 17:09 */ - MgtBulletinBoardVo boardTaskTotal(); + MgtBulletinBoardVo boardTaskTotal(List<Long> userIds); /** * @description 员工端获取进行中商户任务数 diff --git a/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopMapper.xml b/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopMapper.xml index 35a4db4..3512b47 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopMapper.xml +++ b/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopMapper.xml @@ -644,6 +644,12 @@ SUM(CASE WHEN shop_type = 2 THEN 1 ELSE 0 END) AS agencyTotal FROM t_shop WHERE del_flag = 0 + <if test="null != userIds and userIds.size() > 0"> + and belong_user_id in + <foreach collection="userIds" index="index" item="item" open="(" separator="," close=")"> + #{item} + </foreach> + </if> </select> <select id="getPlTotalShopTotal" resultType="com.ruoyi.shop.domain.vo.MgtPlTotalShopTotalVo"> diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/sys/SysUserController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/sys/SysUserController.java index 145ecda..5f6f39b 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/sys/SysUserController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/sys/SysUserController.java @@ -474,4 +474,14 @@ qwH5LoginVo.setSysUser(sysUser); return R.ok(qwH5LoginVo); } + + + /** + * 获取当前用户权限范围内的员工id + * @return + */ + @PostMapping("/getScopeOfAuthorityUserId") + public List<Long> getScopeOfAuthorityUserId(){ + return userService.getScopeOfAuthorityUserId(); + } } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/config/RecommendCooperationMapper.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/config/RecommendCooperationMapper.java index ec614d1..5752d46 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/config/RecommendCooperationMapper.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/config/RecommendCooperationMapper.java @@ -59,6 +59,6 @@ * @author jqs34 * @date 2023/6/18 16:54 */ - MgtBulletinBoardVo customTotal(); + MgtBulletinBoardVo customTotal(@Param("userIds") List<Long> userIds); } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/config/RecommendCooperationService.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/config/RecommendCooperationService.java index 5534863..db1f6d8 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/config/RecommendCooperationService.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/config/RecommendCooperationService.java @@ -63,7 +63,7 @@ * @author jqs34 * @date 2023/6/18 16:47 */ - MgtBulletinBoardVo boardMemberTotal(); + MgtBulletinBoardVo boardMemberTotal(List<Long> userIds); diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/CustomConfigServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/CustomConfigServiceImpl.java index 73e2e9b..01b1a29 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/CustomConfigServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/CustomConfigServiceImpl.java @@ -5,9 +5,11 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.redis.service.RedisService; +import com.ruoyi.common.security.utils.SecurityUtils; import com.ruoyi.system.api.constant.ConfigEnum; import com.ruoyi.system.api.constant.SecurityConstant; import com.ruoyi.system.api.domain.poji.config.Activeness; +import com.ruoyi.system.api.domain.poji.sys.SysUser; import com.ruoyi.system.api.domain.vo.AppOtherConfigGetVo; import com.ruoyi.system.api.domain.vo.MgtBulletinBoardVo; import com.ruoyi.system.api.service.RemoteActivityService; @@ -22,6 +24,8 @@ import com.ruoyi.system.domain.vo.MgtOperLogPageVo; import com.ruoyi.system.mapper.config.CustomConfigMapper; import com.ruoyi.system.service.config.*; +import com.ruoyi.system.service.sys.ISysUserService; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -69,6 +73,12 @@ @Resource private RedisService redisService; + + @Autowired + private ISysUserService sysUserService; + + + /** * @param key @@ -663,25 +673,26 @@ */ @Override public MgtBulletinBoardVo getBulletinBoard(){ + List<Long> userIds = sysUserService.getScopeOfAuthorityUserId(); // 创建 MgtBulletinBoardVo 对象 MgtBulletinBoardVo mgtBulletinBoardVo = new MgtBulletinBoardVo(); // 获取会员信息 - MgtBulletinBoardVo mgtBulletinBoardVoMember = remoteMemberService.boardMemberTotal().getData(); + MgtBulletinBoardVo mgtBulletinBoardVoMember = remoteMemberService.boardMemberTotal(userIds).getData(); mgtBulletinBoardVo.setMemberTotal(mgtBulletinBoardVoMember.getMemberTotal()); mgtBulletinBoardVo.setMemberToday(mgtBulletinBoardVoMember.getMemberToday()); // 获取推荐合作信息 - MgtBulletinBoardVo mgtBulletinBoardVoCustom = recommendCooperationService.boardMemberTotal(); + MgtBulletinBoardVo mgtBulletinBoardVoCustom = recommendCooperationService.boardMemberTotal(userIds); mgtBulletinBoardVo.setCustomTotal(mgtBulletinBoardVoCustom.getCustomTotal()); mgtBulletinBoardVo.setCustomToday(mgtBulletinBoardVoCustom.getCustomToday()); mgtBulletinBoardVo.setFollowUserToday(mgtBulletinBoardVoCustom.getFollowUserToday()); // 获取店铺信息 - MgtBulletinBoardVo mgtBulletinBoardVoShop = remoteShopService.boardShopTotal().getData(); + MgtBulletinBoardVo mgtBulletinBoardVoShop = remoteShopService.boardShopTotal(userIds).getData(); mgtBulletinBoardVo.setShopTotal(mgtBulletinBoardVoShop.getShopTotal()); mgtBulletinBoardVo.setAgencyTotal(mgtBulletinBoardVoShop.getAgencyTotal()); mgtBulletinBoardVo.setDealerTotal(mgtBulletinBoardVoShop.getDealerTotal()); mgtBulletinBoardVo.setFollowShopToday(mgtBulletinBoardVoShop.getFollowShopToday()); // 获取订单信息 - MgtBulletinBoardVo mgtBulletinBoardVoOrder = remoteOrderService.boardOrderTotal().getData(); + MgtBulletinBoardVo mgtBulletinBoardVoOrder = remoteOrderService.boardOrderTotal(userIds).getData(); mgtBulletinBoardVo.setSalesTotal(mgtBulletinBoardVoOrder.getSalesTotal()); mgtBulletinBoardVo.setUnUseOrderTotal(mgtBulletinBoardVoOrder.getUnUseOrderTotal()); mgtBulletinBoardVo.setActivityOrderTotal(mgtBulletinBoardVoOrder.getActivityOrderTotal()); diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/RecommendCooperationServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/RecommendCooperationServiceImpl.java index 703ee14..5a36bd8 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/RecommendCooperationServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/RecommendCooperationServiceImpl.java @@ -106,8 +106,8 @@ * @date 2023/6/18 16:47 */ @Override - public MgtBulletinBoardVo boardMemberTotal(){ - MgtBulletinBoardVo mgtBulletinBoardVo = recommendCooperationMapper.customTotal(); + public MgtBulletinBoardVo boardMemberTotal(List<Long> userIds){ + MgtBulletinBoardVo mgtBulletinBoardVo = recommendCooperationMapper.customTotal(userIds); return mgtBulletinBoardVo; } } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/sys/SysUserServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/sys/SysUserServiceImpl.java index 3ce2700..e66dc81 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/sys/SysUserServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/sys/SysUserServiceImpl.java @@ -1,5 +1,6 @@ package com.ruoyi.system.service.impl.sys; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.core.constant.UserConstants; import com.ruoyi.common.core.exception.ServiceException; @@ -730,4 +731,37 @@ } userMapper.updateUser(sysUser); } + + + /** + * 获取当前员工权限范围内的员工id + * @return + */ + @Override + public List<Long> getScopeOfAuthorityUserId() { + List<Long> userIds = new ArrayList<>(); + Long userId = SecurityUtils.getUserId(); + SysUser user = this.getById(userId); + String dataScope = user.getDataScope(); + //没有配置默认查询自己 + if(!SecurityUtils.isAdmin(userId) && StringUtils.isEmpty(dataScope)){ + userIds.add(userId); + } + //管理员或者全部权限 + if(SecurityUtils.isAdmin(userId) || (StringUtils.isNotEmpty(dataScope) && "1".equals(dataScope))){ + List<SysUser> list = this.list(new QueryWrapper<SysUser>().eq("user_type", "00").eq("status", 0).eq("del_flag", 0)); + userIds.addAll(list.stream().map(SysUser::getUserId).collect(Collectors.toList())); + } + //部分权限 + if(StringUtils.isNotEmpty(dataScope) && "3".equals(dataScope)){ + List<SysUser> list = this.list(new QueryWrapper<SysUser>().eq("user_type", "00").eq("status", 0) + .eq("del_flag", 0).eq("dept_id", user.getDeptId())); + userIds.addAll(list.stream().map(SysUser::getUserId).collect(Collectors.toList())); + } + //个人权限 + if(StringUtils.isNotEmpty(dataScope) && "5".equals(dataScope)){ + userIds.add(userId); + } + return userIds; + } } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/sys/ISysUserService.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/sys/ISysUserService.java index fb6db01..8264879 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/sys/ISysUserService.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/sys/ISysUserService.java @@ -284,4 +284,11 @@ * @return void */ void frozenUser(MgtFrozenMemberDto mgtFrozenMemberDto); + + + /** + * 获取当前用户权限范围内的员工id + * @return + */ + List<Long> getScopeOfAuthorityUserId(); } diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/RecommendCooperationMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/RecommendCooperationMapper.xml index 77edfcc..bbc6bbd 100644 --- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/RecommendCooperationMapper.xml +++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/RecommendCooperationMapper.xml @@ -55,7 +55,13 @@ FROM t_recommend_cooperation WHERE - del_flag = 0; + del_flag = 0 + <if test="null != userIds and userIds.size() > 0"> + and allot_user_id in + <foreach collection="userIds" separator="," index="index" item="item" open="(" close=")"> + #{item} + </foreach> + </if> </select> </mapper> -- Gitblit v1.7.1