From ae88bca64d28e91341e00913cc2d816f889c5ec8 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Fri, 25 Jul 2025 11:18:59 +0800
Subject: [PATCH] feat(mall): 为幸福社交圈分类添加背景图片功能

---
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java |   19 ++++++++++++++++++-
 1 files changed, 18 insertions(+), 1 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
index 5afa1cb..f6951ea 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
@@ -687,6 +687,7 @@
                 if (ObjectUtil.isEmpty(mallMember)) {
                     // 新增用户
                     mallMember = new MallMember();
+                    mallMember.setName("用户" + openId);
                     mallMember.setAccountStatus(MallMember.ACCOUNT_STATUS_ENABLE);
                     mallMember.setAccountType(MallMember.ACCOUNT_TYPE_NORMAL);
                     mallMember.setOpenId(openId);
@@ -807,6 +808,15 @@
         }
         String phone = apiXcxSaveInfoDto.getPhone();
         if(StrUtil.isNotEmpty(phone)){
+
+            MallMember entity = this.baseMapper.selectOne(
+                    Wrappers.lambdaQuery(MallMember.class)
+                            .eq(MallMember::getPhone, phone)
+                    .last("LIMIT 1")
+            );
+            if(ObjectUtil.isNotNull( entity) && !entity.getId().equals(memberId)){
+                throw new FebsException("手机号码已使用");
+            }
             mallMember.setPhone(phone);
         }
         String avatarUrl = apiXcxSaveInfoDto.getAvatarUrl();
@@ -2000,7 +2010,7 @@
                 apiMemberLabelItemVo.setName(mallMember.getName());
                 apiMemberLabelItemVo.setAvatar(mallMember.getAvatar());
                 apiMemberLabelItemVo.setPhone(mallMember.getPhone());
-                apiMemberLabelItemVo.setScore(prizeScoreMap.get(mallMember.getId()).setScale(0,RoundingMode.DOWN));
+                apiMemberLabelItemVo.setScore(prizeScoreMap.getOrDefault(mallMember.getId(), BigDecimal.ZERO).setScale(0,RoundingMode.DOWN));
                 apiMemberLabelItemVos.add(apiMemberLabelItemVo);
             }
         }
@@ -2058,6 +2068,13 @@
         Long labelId = dto.getLabelId();
         Long insureMemberId = dto.getMemberId();
 
+        List<HappyMemberLabelRecord> happyMemberLabelRecords1 = happyMemberLabelRecordMapper.selectList(Wrappers.lambdaQuery(HappyMemberLabelRecord.class)
+                .eq(HappyMemberLabelRecord::getMemberId, insureMemberId)
+        );
+        if(CollUtil.isNotEmpty(happyMemberLabelRecords1)){
+            throw new FebsException("该用户不能重复加入");
+        }
+
         HappyMemberLabel happyMemberLabel = happyMemberLabelMapper.selectById(labelId);
         if(ObjectUtil.isEmpty(happyMemberLabel)){
             throw new FebsException("会员标签不存在");

--
Gitblit v1.9.1