From 8444084e6aa11efa23287e7f82474ac22378a5c4 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期二, 01 四月 2025 16:03:19 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java |   82 ++++++++++++++++++++++++++++++++++++----
 1 files changed, 73 insertions(+), 9 deletions(-)

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 e974d50..bd779ac 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
@@ -115,6 +115,12 @@
     @Resource
     private RemoteOrderService remoteOrderService;
 
+    @Resource
+    private RemoteUserService remoteUserService;
+
+
+
+
     /**
      * @description: TODO
      * @author jqs34
@@ -631,6 +637,7 @@
         if (oldMember != null && oldMember.getBindingFlag() == 0) {
             oldMember.setRelationShopId(merMemberAddDto.getShopId());
             oldMember.setBindingFlag(1);
+            oldMember.setBindingType(8);
             this.updateById(oldMember);
             return oldMember.getUserId();
         }
@@ -903,6 +910,7 @@
      */
     @Override
     public List<MgtMemberPageVo> pageMgtMember(Page page, MgtMemberPageDto merMemberPageDto) {
+
         List<Activeness> activenessList = remoteConfigService.listActiveness().getData();
         Date nowDay = new Date();
         if (merMemberPageDto.getActivenessId() != null) {
@@ -932,8 +940,46 @@
             DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
             merMemberPageDto.setStartBirthday(startBirthday.format(formatter));
         }
+        // 获取当前登陆人的可视权限
+        SysUser sysUser = SecurityUtils.getSysUser();
+        // 店铺ids
+        List<Long> scope = 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":
+                            // 本部门数据 查询当前登陆人属于哪个部门 查询这个部门下所有员工关联的所有店铺
+                            // 根据用户id 查询同部门下所有员工id
+                            List<Long> userIds = sysUserService.getUserIdsByDept(sysUser.getUserId()).getData();
+                            // 获取店铺ids
+                            List<Long> data = shopService.getShopIdsByUserIds(userIds).getData();
+                            if (data.size()==0){
+                                scope.add(0L);
+                            }else{
+                                scope.addAll(data);
+                            }
+                            break;
+                        case "5":
+                            // 仅个人数据 查询当前登陆人关联店铺下的用户
+                            List<Long> longs = new ArrayList<>();
+                            longs.add(sysUser.getUserId());
+                            // 获取店铺ids
+                            List<Long> data1 = shopService.getShopIdsByUserIds(longs).getData();
+                            if (data1.size()==0){
+                                scope.add(0L);
+                            }else{
+                                scope.addAll(data1);
+                            }
+
+                            break;
+                    }
+                }
+            }
+        }
         //查询获取结果列表
-        List<MgtMemberPageVo> memberPageVoList = memberMapper.pageMgtMember(page, merMemberPageDto);
+        List<MgtMemberPageVo> memberPageVoList = memberMapper.pageMgtMember(page, merMemberPageDto,scope);
         //处理活跃度返回
         if (memberPageVoList != null && !memberPageVoList.isEmpty()) {
             if (activenessList != null && !activenessList.isEmpty()) {
@@ -1196,6 +1242,13 @@
         return memberMapper.listIdBySendType(sendType,shopId);
     }
 
+
+    public List<Long> listIdBySendType2(Long shopId) {
+        //1.手动领取2.全部用户3.会员用户4非会员用户5自定义
+        return memberMapper.listIdBySendType2(shopId);
+    }
+
+
     /**
      * @param userIds
      * @return List<MgtSimpleMemberVo>
@@ -1236,10 +1289,10 @@
      * @date 2023/6/18 16:45
      */
     @Override
-    public MgtBulletinBoardVo boardMemberTotal() {
+    public MgtBulletinBoardVo boardMemberTotal(List<Long> shopIds) {
         MgtBulletinBoardVo mgtBulletinBoardVo = new MgtBulletinBoardVo();
-        mgtBulletinBoardVo.setMemberTotal(memberMapper.memberTotal());
-        mgtBulletinBoardVo.setMemberToday(memberMapper.memberToday());
+        mgtBulletinBoardVo.setMemberTotal(memberMapper.memberTotal(shopIds));
+        mgtBulletinBoardVo.setMemberToday(memberMapper.memberToday(shopIds));
         return mgtBulletinBoardVo;
     }
 
@@ -1431,13 +1484,14 @@
         plTotalMemberTotalVo.setShopMemberRankList(Lists.newArrayList());
         Date nowDay = DateUtils.getNowDate();
         //如果区域代码不为null获取对应的商户id
+        List<Long> list = new ArrayList<>();
         if (StringUtils.isNotBlank(mgtBasePlatformDto.getShopProvinceCode()) || StringUtils.isNotBlank(mgtBasePlatformDto.getShopCityCode()) || StringUtils.isNotBlank(mgtBasePlatformDto.getShopAreaCode())) {
             MgtShopIdByCodeDto mgtShopIdByCodeDto = new MgtShopIdByCodeDto();
             mgtShopIdByCodeDto.setShopProvinceCode(mgtBasePlatformDto.getShopProvinceCode());
             mgtShopIdByCodeDto.setShopCityCode(mgtBasePlatformDto.getShopCityCode());
             mgtShopIdByCodeDto.setShopAreaCode(mgtBasePlatformDto.getShopAreaCode());
             MgtShopIdByCodeVo mgtShopIdByCodeVo = remoteShopService.getShopIdByCode(mgtShopIdByCodeDto).getData();
-            List<Long> list = new ArrayList<>();
+
             if (StringUtils.isNotBlank(mgtShopIdByCodeVo.getShopIds())) {
                 list = Arrays.stream(mgtShopIdByCodeVo.getShopIds().split(","))
                         .map(Long::valueOf)
@@ -1445,8 +1499,17 @@
             }else{
                 return plTotalMemberTotalVo;
             }
-            mgtBasePlatformDto.setShopIdList(list);
         }
+        //数据权限
+        List<Long> userId = remoteUserService.getScopeOfAuthorityUserId();
+        BoardMemberTotalDto boardMemberTotalDto = new BoardMemberTotalDto();
+        boardMemberTotalDto.setUserIds(userId);
+        List<Shop> shops = remoteShopService.getShopBySysUserIds(boardMemberTotalDto);
+        List<Long> collect = shops.stream().map(Shop::getShopId).collect(Collectors.toList());
+        list.addAll(collect);
+        mgtBasePlatformDto.setShopIdList(list);
+
+
         //获取基础统计
         MgtPlTotalMemberTotalVo plTotalMemberTotalByDayVo = memberMapper.getPlTotalMemberTotal(mgtBasePlatformDto);
         plTotalMemberTotalVo.setMemberTotal(plTotalMemberTotalByDayVo.getMemberTotal());
@@ -2191,12 +2254,13 @@
      */
     @Override
     public void sendBirthdayBless(){
-        List<String> mobileList = memberMapper.listTodayBirthday();
+        List<Member> mobileList = memberMapper.listTodayBirthday();
         if(mobileList!=null&&!mobileList.isEmpty()){
             log.info("生日祝福发送短信---"+mobileList.toString());
-            for(String mobile : mobileList){
+            for(Member member : mobileList){
                 try {
-                    MsgUtils.sendMsg(mobile,null,null);
+                    String msg = "{\"name\":\"" + (StringUtils.isEmpty(member.getRealName()) ? member.getNickName() : member.getRealName()) + "\"}";
+                    MsgUtils.sendMsg(member.getMobile(),null, msg);
                 } catch (Exception e) {
                     throw new RuntimeException(e);
                 }

--
Gitblit v1.7.1