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;
|
}
|
}
|