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 |   52 ++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 40 insertions(+), 12 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 2dbd752..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
@@ -220,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));
@@ -701,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);
             }
         }
@@ -1776,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);
@@ -1785,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);
@@ -1794,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);
@@ -1803,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);
@@ -1811,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());

--
Gitblit v1.7.1