From 4fcfe5e7ca9557f41d65c0a9bbc45ae9f599e672 Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Tue, 02 Jan 2024 13:14:18 +0800
Subject: [PATCH] 修改推荐人

---
 src/main/resources/templates/febs/views/modules/mallMember/updateRefererId.html |    4 ++--
 src/main/java/cc/mrbird/febs/mall/mapper/MallMemberMapper.java                  |    2 ++
 src/main/resources/mapper/modules/MallMemberMapper.xml                          |    9 +++++++++
 src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java  |   15 +++++++++++----
 4 files changed, 24 insertions(+), 6 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/MallMemberMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/MallMemberMapper.java
index ea962f9..29e8ac8 100644
--- a/src/main/java/cc/mrbird/febs/mall/mapper/MallMemberMapper.java
+++ b/src/main/java/cc/mrbird/febs/mall/mapper/MallMemberMapper.java
@@ -89,4 +89,6 @@
     MallMember selectMemberByOpenId(@Param("openId")String openId);
 
     IPage<MallMember> getsalemanRuleList(Page<MallMember> page, @Param("record")MallMember mallMember);
+
+    void updateReferrerId(@Param("id")Long id);
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java
index c0f98ad..483fb2c 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java
@@ -697,20 +697,27 @@
     @Override
     @Transactional(rollbackFor = Exception.class)
     public void modifyReferer(MallMember member) {
+        if(StrUtil.isEmpty(member.getReferrerId())){
+            this.baseMapper.updateReferrerId(member.getId());
+            return;
+        }
+        String referrerId = member.getReferrerId();//新的推荐人邀请码
         //获取新推荐人信息
-        MallMember referer = this.baseMapper.selectInfoByInviteId(member.getReferrerId());
+        MallMember referer = this.baseMapper.selectInfoByInviteId(referrerId);
         if (referer == null) {
             throw new FebsException("推荐人不存在");
         }
-        String refererId = referer.getInviteId();//新推荐人的邀请码
-
         member = this.baseMapper.selectById(member.getId());//修改的用户
+
+        if(member.getInviteId().equals(referrerId)){
+            throw new FebsException("自己不能推荐自己");
+        }
+        String refererId = referer.getInviteId();//新推荐人的邀请码
         if(StrUtil.isNotEmpty(referer.getReferrerIds())){
             if (referer.getReferrerIds().contains(member.getInviteId())) {
                 throw new FebsException("修改的推荐关系不符合规则");
             }
         }
-
 //        String beforeReferer = member.getReferrerId();
         member.setReferrerId(refererId);//更新用户的上级推荐人为新推荐人的邀请码refererId
         String refererIds = refererIds(refererId);
diff --git a/src/main/resources/mapper/modules/MallMemberMapper.xml b/src/main/resources/mapper/modules/MallMemberMapper.xml
index c16a5e8..1484e3d 100644
--- a/src/main/resources/mapper/modules/MallMemberMapper.xml
+++ b/src/main/resources/mapper/modules/MallMemberMapper.xml
@@ -430,4 +430,13 @@
         order by m.CREATED_TIME desc
     </select>
 
+
+
+    <update id="updateReferrerId">
+        update mall_member
+        set referrer_id = '',
+            referrer_ids = ''
+        where id = #{id}
+    </update>
+
 </mapper>
\ No newline at end of file
diff --git a/src/main/resources/templates/febs/views/modules/mallMember/updateRefererId.html b/src/main/resources/templates/febs/views/modules/mallMember/updateRefererId.html
index 5e4b98e..fc351a0 100644
--- a/src/main/resources/templates/febs/views/modules/mallMember/updateRefererId.html
+++ b/src/main/resources/templates/febs/views/modules/mallMember/updateRefererId.html
@@ -41,9 +41,9 @@
 <!--            </div>-->
 <!--        </div>-->
         <div class="layui-form-item">
-            <label class="layui-form-label febs-form-item-require">修改为:</label>
+            <label class="layui-form-label ">修改为:</label>
             <div class="layui-input-block">
-                <input type="text" name="referrerId" lay-verify="required" autocomplete="off" class="layui-input">
+                <input type="text" name="referrerId" autocomplete="off" class="layui-input">
                 <div class="layui-form-mid layui-word-aux">填写用户的邀请码(会员列表中的邀请码)</div>
             </div>
         </div>

--
Gitblit v1.9.1