| New file | 
 |  |  | 
 |  |  | package cc.mrbird.febs; | 
 |  |  |  | 
 |  |  | import cc.mrbird.febs.mall.entity.MallMember; | 
 |  |  | import cc.mrbird.febs.mall.mapper.MallMemberMapper; | 
 |  |  | import cn.hutool.core.collection.CollUtil; | 
 |  |  | import cn.hutool.core.util.StrUtil; | 
 |  |  | import lombok.extern.slf4j.Slf4j; | 
 |  |  | import org.junit.jupiter.api.Test; | 
 |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
 |  |  | import org.springframework.boot.test.context.SpringBootTest; | 
 |  |  |  | 
 |  |  | import java.util.List; | 
 |  |  |  | 
 |  |  | /** | 
 |  |  |  * @author wzy | 
 |  |  |  * @date 2023-06-03 | 
 |  |  |  **/ | 
 |  |  | @Slf4j | 
 |  |  | @SpringBootTest | 
 |  |  | public class MemberTest { | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private MallMemberMapper mallMemberMapper; | 
 |  |  |  | 
 |  |  |     @Test | 
 |  |  |     public void refererIds() { | 
 |  |  |         MallMember member = mallMemberMapper.selectById(1L); | 
 |  |  |  | 
 |  |  |         updateRefererIds(member); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     private void updateRefererIds(MallMember member) { | 
 |  |  |         List<MallMember> mallMembers = mallMemberMapper.selectByRefererId(member.getInviteId()); | 
 |  |  |         if (CollUtil.isEmpty(mallMembers)) { | 
 |  |  |             return; | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         mallMembers.forEach(item -> { | 
 |  |  |             MallMember updateMember = new MallMember(); | 
 |  |  |             updateMember.setId(item.getId()); | 
 |  |  |             String s = refererIds(item.getReferrerId()); | 
 |  |  |             updateMember.setReferrerIds(s); | 
 |  |  |             mallMemberMapper.updateById(updateMember); | 
 |  |  |  | 
 |  |  |             updateRefererIds(item); | 
 |  |  |         }); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     private String refererIds(String parentId) { | 
 |  |  |         boolean flag = false; | 
 |  |  |         if (StrUtil.isBlank(parentId)) { | 
 |  |  |             flag = true; | 
 |  |  |         } | 
 |  |  |         String ids = ""; | 
 |  |  |         while (!flag) { | 
 |  |  |             if (StrUtil.isBlank(ids)) { | 
 |  |  |                 ids += parentId; | 
 |  |  |             } else { | 
 |  |  |                 ids += ("," + parentId); | 
 |  |  |             } | 
 |  |  |             MallMember parentMember = this.mallMemberMapper.selectInfoByInviteId(parentId); | 
 |  |  |             if (parentMember == null) { | 
 |  |  |                 break; | 
 |  |  |             } | 
 |  |  |             parentId = parentMember.getReferrerId(); | 
 |  |  |             if (StrUtil.isBlank(parentMember.getReferrerId())) { | 
 |  |  |                 flag = true; | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         return ids; | 
 |  |  |     } | 
 |  |  | } |