From 8da101629c47cec91d68f785b0f5e829d4a9bab1 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期三, 24 一月 2024 15:18:46 +0800
Subject: [PATCH] Merge branch '1.1' of http://120.76.84.145:10101/gitblit/r/java/HongRuiTang into 1.1

---
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java |   66 ++++++++++++++++++++++++++++-----
 1 files changed, 56 insertions(+), 10 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 62f8472..2669cc3 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
@@ -625,8 +631,14 @@
         String phoneNumber = merMemberAddDto.getPhonenumber();
         Member oldMember = this.getByMobile(phoneNumber);
         // Check if the member already exists
-        if (oldMember != null) {
+        if (oldMember != null && oldMember.getBindingFlag() == 1) {
             throw new ServiceException(AppErrorConstant.MOBILE_USER_DOUBLE);
+        }
+        if (oldMember != null && oldMember.getBindingFlag() == 0) {
+            oldMember.setRelationShopId(merMemberAddDto.getShopId());
+            oldMember.setBindingFlag(1);
+            this.updateById(oldMember);
+            return oldMember.getUserId();
         }
         // Get the sysUser by mobile number
         SysUser sysUser = sysUserService.getSysUserByMobile(phoneNumber).getData();
@@ -897,6 +909,7 @@
      */
     @Override
     public List<MgtMemberPageVo> pageMgtMember(Page page, MgtMemberPageDto merMemberPageDto) {
+
         List<Activeness> activenessList = remoteConfigService.listActiveness().getData();
         Date nowDay = new Date();
         if (merMemberPageDto.getActivenessId() != null) {
@@ -926,8 +939,37 @@
             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();
+                            scope.addAll(data);
+                            break;
+                        case "5":
+                            // 仅个人数据 查询当前登陆人关联店铺下的用户
+                            List<Long> longs = new ArrayList<>();
+                            longs.add(sysUser.getUserId());
+                            // 获取店铺ids
+                            List<Long> data1 = shopService.getShopIdsByUserIds(longs).getData();
+                            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()) {
@@ -943,7 +985,7 @@
                 //活跃度赋值
                 Date lastPayTime;
                 for (MgtMemberPageVo mgtMemberPageVo : memberPageVoList) {
-                    if(null != mgtMemberPageVo.getRelationShopId()){
+                    if(null != mgtMemberPageVo.getRelationShopId() && 1 == mgtMemberPageVo.getBindingFlag()){
                         R<Shop> shop_r = remoteShopService.getShop(mgtMemberPageVo.getRelationShopId());
                         if(shop_r.getCode() == 200){
                             Shop data = shop_r.getData();
@@ -1154,7 +1196,6 @@
                     mgtMemberGetVo.setRelationShopName(data.getShopName());
                 }
             }
-
         }
         mgtMemberGetVo.setIntegral(memberTotal.getTotalIntegral());
         mgtMemberGetVo.setMemberFrom(member.getCustomerSource());
@@ -1231,10 +1272,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;
     }
 
@@ -1440,6 +1481,10 @@
             }else{
                 return plTotalMemberTotalVo;
             }
+            List<Long> userId = remoteUserService.getScopeOfAuthorityUserId();
+            List<Shop> shops = remoteShopService.getShopBySysUserIds(userId);
+            List<Long> collect = shops.stream().map(Shop::getShopId).collect(Collectors.toList());
+            list.addAll(collect);
             mgtBasePlatformDto.setShopIdList(list);
         }
         //获取基础统计
@@ -2186,12 +2231,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