From 882edc4b8ac7cb11ec9d536b5573df2c7ed512ef Mon Sep 17 00:00:00 2001
From: jiangqs <jiangqs>
Date: 星期四, 20 七月 2023 20:22:12 +0800
Subject: [PATCH] bug

---
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java |   97 +++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 74 insertions(+), 23 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 cf95a7c..f6a8349 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
@@ -84,8 +84,6 @@
     @Resource
     private RemoteOrderService orderService;
 
-    @Resource
-    private MemberNurseService memberNurseService;
 
     @Resource
     private RemoteConfigService remoteConfigService;
@@ -222,6 +220,7 @@
             sysUser.setUserName(memberId);
             sysUser.setUserType("03");
             sysUser.setNickName("鸿瑞堂用户");
+            sysUser.setPhonenumber(mobile);
             sysUser.setAvatar("https://hongruitang.oss-cn-beijing.aliyuncs.com/default.png");
             String password = "hongruitang";
             sysUser.setPassword(SecurityUtils.encryptPassword(password));
@@ -325,27 +324,22 @@
         switch (editType) {
             case 1:
                 member.setNickName(editValue);
-                member.setUpdateTime(new Date());
-                member.setUpdateUserId(appEditUserDto.getUserId());
-                this.saveOrUpdate(member);
                 break;
             case 2:
+                member.setAvatar(editValue);
                 break;
             case 3:
                 member.setGender(Integer.valueOf(editValue));
-                member.setUpdateTime(new Date());
-                member.setUpdateUserId(appEditUserDto.getUserId());
-                this.saveOrUpdate(member);
                 break;
             case 4:
                 member.setBirthday(editValue);
-                member.setUpdateTime(new Date());
-                member.setUpdateUserId(appEditUserDto.getUserId());
-                this.saveOrUpdate(member);
                 break;
             default:
                 break;
         }
+        member.setUpdateTime(new Date());
+        member.setUpdateUserId(appEditUserDto.getUserId());
+        this.saveOrUpdate(member);
         sysUserService.editUserInfo(appEditUserDto);
     }
 
@@ -708,24 +702,51 @@
      */
     @Override
     public void updateMemberGoodsType(AppMemberGoodsTypeDto appMemberGoodsTypeDto) {
+        // 根据用户ID获取会员信息
         Member member = this.getByUserId(appMemberGoodsTypeDto.getUserId());
+        // 获取商品类型集合和商品护理集合
         HashSet<String> goodsTypeSet = appMemberGoodsTypeDto.getGoodsTypeSet();
+        HashSet<String> goodsNurseSet = appMemberGoodsTypeDto.getGoodsNurseSet();
+        // 如果会员存在
         if (member != null) {
-            String goodsType = member.getGoodsType();
+            // 标识是否有变化
             Boolean change = false;
-            for (String str : goodsTypeSet) {
-                if (goodsType != null) {
-                    if (!goodsType.contains(str)) {
-                        goodsType = goodsType + "," + str;
+            // 更新商品类型
+            if (goodsTypeSet != null && goodsTypeSet.size() > 0) {
+                String goodsType = member.getGoodsType();
+                HashSet<String> goodsTypeOldSet = new HashSet<>();
+                // 如果商品类型不为空
+                if (StringUtils.isNotBlank(goodsType)) {
+                    goodsTypeOldSet = new HashSet<>(Arrays.asList(goodsType.split(",")));
+                    // 如果商品类型集合相等
+                    if (!goodsTypeSet.equals(goodsTypeOldSet)) {
                         change = true;
                     }
                 } else {
-                    goodsType = str;
                     change = true;
                 }
+                goodsTypeOldSet.addAll(goodsTypeSet);
+                member.setGoodsType(String.join(",", goodsTypeOldSet));
             }
+            // 更新商品护理
+            if (goodsNurseSet != null && goodsNurseSet.size() > 0) {
+                String memberNurse = member.getMemberNurse();
+                HashSet<String> memberNurseOldSet = new HashSet<>();
+                // 如果会员护理不为空
+                if (StringUtils.isNotBlank(memberNurse)) {
+                    memberNurseOldSet = new HashSet<>(Arrays.asList(memberNurse.split(",")));
+                    // 如果商品护理集合相等
+                    if (!goodsNurseSet.equals(memberNurseOldSet)) {
+                        change = true;
+                    }
+                } else {
+                    change = true;
+                }
+                memberNurseOldSet.addAll(goodsNurseSet);
+                member.setMemberNurse(String.join(",", memberNurseOldSet));
+            }
+            // 如果有变化,则保存或更新会员信息
             if (change) {
-                member.setGoodsType(goodsType);
                 this.saveOrUpdate(member);
             }
         }
@@ -1152,6 +1173,12 @@
             nurseTotalVos = listRemoveNull(nurseTotalVos);
             mgtTotalMemberTotalVo.setNurseTotalVos(nurseTotalVos);
         }
+        //获取不同等级的会员数
+        List<MgtMapIntTotalVo> memberLevelTotalVos = memberMapper.getTotalMemberTotalLevel(mgtBaseShopDto);
+        if (memberLevelTotalVos != null && memberLevelTotalVos.size() > 0) {
+            memberLevelTotalVos = listRemoveNull(memberLevelTotalVos);
+            mgtTotalMemberTotalVo.setMemberLevelTotalVos(memberLevelTotalVos);
+        }
         // 获取不同商品类型的会员数
         List<MgtMapIntTotalVo> goodsTypeTotalVos = memberMapper.getTotalMemberTotalGoodsType(mgtBaseShopDto);
         if (goodsTypeTotalVos != null && goodsTypeTotalVos.size() > 0) {
@@ -1257,6 +1284,12 @@
         if (nurseTotalVos != null && nurseTotalVos.size() > 0) {
             nurseTotalVos = listRemoveNull(nurseTotalVos);
             plTotalMemberTotalVo.setNurseTotalVos(nurseTotalVos);
+        }
+        //获取不同等级的会员数
+        List<MgtMapIntTotalVo> memberLevelTotalVos = memberMapper.getPlTotalMemberTotalLevel(mgtBasePlatformDto);
+        if (memberLevelTotalVos != null && memberLevelTotalVos.size() > 0) {
+            memberLevelTotalVos = listRemoveNull(memberLevelTotalVos);
+            plTotalMemberTotalVo.setMemberLevelTotalVos(memberLevelTotalVos);
         }
         // 获取不同商品类型的会员数
         List<MgtMapIntTotalVo> goodsTypeTotalVos = memberMapper.getPlTotalMemberTotalGoodsType(mgtBasePlatformDto);
@@ -1514,6 +1547,12 @@
             nurseTotalVos = listRemoveNull(nurseTotalVos);
             memberFixedTotalVo.setNurseTotalVos(nurseTotalVos);
         }
+        //获取不同等级的会员数
+        List<MgtMapIntTotalVo> memberLevelTotalVos = memberMapper.getMerMemberTotalLevel(merTotalDto);
+        if (memberLevelTotalVos != null && memberLevelTotalVos.size() > 0) {
+            memberLevelTotalVos = listRemoveNull(memberLevelTotalVos);
+            memberFixedTotalVo.setMemberLevelTotalVos(memberLevelTotalVos);
+        }
         // 获取不同商品类型的会员数
         List<MgtMapIntTotalVo> goodsTypeTotalVos = memberMapper.getMerMemberTotalGoodsType(merTotalDto);
         if (goodsTypeTotalVos != null && goodsTypeTotalVos.size() > 0) {
@@ -1765,7 +1804,7 @@
             case 1:
                 changeIntegral = appOtherConfigGetVo.getShareIntegral();
                 integralRecord.setChangeIntegral(changeIntegral);
-                integralRecord.setSurpIntegral(integralRecord.getSurpIntegral()+changeIntegral);
+                integralRecord.setSurpIntegral(memberTotal.getUseableIntegral()+changeIntegral);
                 integralRecord.setChangeReason("每日任务【分享小程序】获得积分");
                 memberTotal.setTotalIntegral(memberTotal.getTotalIntegral()+changeIntegral);
                 memberTotal.setUseableIntegral(memberTotal.getUseableIntegral()+changeIntegral);
@@ -1774,7 +1813,7 @@
             case 2:
                 changeIntegral = appOtherConfigGetVo.getSuggestPlatformIntegral();
                 integralRecord.setChangeIntegral(changeIntegral);
-                integralRecord.setSurpIntegral(integralRecord.getSurpIntegral()+changeIntegral);
+                integralRecord.setSurpIntegral(memberTotal.getUseableIntegral()+changeIntegral);
                 integralRecord.setChangeReason("每日任务【提交平台建议】获得积分");
                 memberTotal.setTotalIntegral(memberTotal.getTotalIntegral()+changeIntegral);
                 memberTotal.setUseableIntegral(memberTotal.getUseableIntegral()+changeIntegral);
@@ -1783,7 +1822,7 @@
             case 3:
                 changeIntegral = appOtherConfigGetVo.getSuggestShopIntegral();
                 integralRecord.setChangeIntegral(changeIntegral);
-                integralRecord.setSurpIntegral(integralRecord.getSurpIntegral()+changeIntegral);
+                integralRecord.setSurpIntegral(memberTotal.getUseableIntegral()+changeIntegral);
                 integralRecord.setChangeReason("每日任务【提交门店建议】获得积分");
                 memberTotal.setTotalIntegral(memberTotal.getTotalIntegral()+changeIntegral);
                 memberTotal.setUseableIntegral(memberTotal.getUseableIntegral()+changeIntegral);
@@ -1792,7 +1831,7 @@
             case 4:
                 changeIntegral = appOtherConfigGetVo.getSignInIntegral();
                 integralRecord.setChangeIntegral(changeIntegral);
-                integralRecord.setSurpIntegral(integralRecord.getSurpIntegral()+changeIntegral);
+                integralRecord.setSurpIntegral(memberTotal.getUseableIntegral()+changeIntegral);
                 integralRecord.setChangeReason("每日任务【签到】获得积分");
                 memberTotal.setTotalIntegral(memberTotal.getTotalIntegral()+changeIntegral);
                 memberTotal.setUseableIntegral(memberTotal.getUseableIntegral()+changeIntegral);
@@ -1800,7 +1839,7 @@
                 break;
             case 5:
                 integralRecord.setChangeIntegral(changeIntegral);
-                integralRecord.setSurpIntegral(integralRecord.getSurpIntegral()+changeIntegral);
+                integralRecord.setSurpIntegral(memberTotal.getUseableIntegral()+changeIntegral);
                 integralRecord.setChangeReason("订单【"+integralChangeDto.getOrderNo()+"】获得积分");
                 integralRecord.setOrderId(integralChangeDto.getOrderId());
                 integralRecord.setOrderNo(integralChangeDto.getOrderNo());
@@ -1815,4 +1854,16 @@
         integralRecordService.saveOrUpdate(integralRecord);
         return completeFlag;
     }
+
+    /**
+     * @description  统计商户今日新增会员
+     * @author  jqs
+     * @date    2023/7/14 19:54
+     * @param shopIdList
+     * @return  Integer
+     */
+    @Override
+    public Integer getAreaNewMember(List<Long> shopIdList){
+        return memberMapper.getAreaNewMember(shopIdList);
+    }
 }

--
Gitblit v1.7.1