From 15c200aa7e0ced518364a68769503472b542c9f4 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Tue, 08 Jul 2025 14:03:57 +0800
Subject: [PATCH] feat(mall): 添加会员数据统计功能

---
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java |   17 +++++++++++++++++
 1 files changed, 17 insertions(+), 0 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..2f722a6 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();
@@ -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