From 37add75366d13ed10fcb8e2db890cbccd7555cb7 Mon Sep 17 00:00:00 2001 From: KKSU <15274802129@163.com> Date: Mon, 15 Jan 2024 11:28:44 +0800 Subject: [PATCH] 修改联系人。异步更新所有用户的上下级关系 --- src/main/java/cc/mrbird/febs/mall/service/AsyncService.java | 2 src/main/java/cc/mrbird/febs/mall/service/impl/AsyncServiceImpl.java | 55 +++++++++++---------------- src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java | 9 ++++ 3 files changed, 32 insertions(+), 34 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/service/AsyncService.java b/src/main/java/cc/mrbird/febs/mall/service/AsyncService.java index 8ca6dda..622804b 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/AsyncService.java +++ b/src/main/java/cc/mrbird/febs/mall/service/AsyncService.java @@ -11,5 +11,5 @@ public interface AsyncService extends IService<MallMember> { @Async(FebsConstant.ASYNC_POOL) - void updateAllMemberReferrerId(); + void updateAllMemberReferrerId(MallMember mallMember); } 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 a1d3be2..e1f7b00 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 @@ -621,7 +621,14 @@ this.baseMapper.updateById(child); } - asyncService.updateAllMemberReferrerId(); + log.info("异步更新用户信息"); + List<MallMember> mallMembers = this.baseMapper.selectList(null); + if(CollUtil.isEmpty(mallMembers)){ + return; + } + for(MallMember mallMemberDown : mallMembers){ + asyncService.updateAllMemberReferrerId(mallMemberDown); + } } @Override diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AsyncServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AsyncServiceImpl.java index 1770c3a..768bde2 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/AsyncServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AsyncServiceImpl.java @@ -3,52 +3,43 @@ import cc.mrbird.febs.mall.entity.MallMember; import cc.mrbird.febs.mall.mapper.MallMemberMapper; import cc.mrbird.febs.mall.service.AsyncService; -import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; -import java.util.List; @Slf4j @Service @RequiredArgsConstructor public class AsyncServiceImpl extends ServiceImpl<MallMemberMapper, MallMember> implements AsyncService { @Override - public void updateAllMemberReferrerId() { - log.info("异步更新用户信息"); - List<MallMember> mallMembers = this.baseMapper.selectList(null); - if(CollUtil.isEmpty(mallMembers)){ - return; + public void updateAllMemberReferrerId(MallMember mallMember){ + boolean flag = false; + String parentId = mallMember.getReferrerId(); + if (StrUtil.isBlank(parentId)) { + flag = true; } - for(MallMember mallMember : mallMembers){ - boolean flag = false; - String parentId = mallMember.getReferrerId(); - if (StrUtil.isBlank(parentId)) { + String ids = ""; + while (!flag) { + if (StrUtil.isBlank(ids)) { + ids += parentId; + } else { + ids += ("," + parentId); + } + MallMember parentMember = this.baseMapper.selectInfoByInviteId(parentId); + if (parentMember == null) { + break; + } + parentId = parentMember.getReferrerId(); + if (StrUtil.isBlank(parentMember.getReferrerId())) { flag = true; } - String ids = ""; - while (!flag) { - if (StrUtil.isBlank(ids)) { - ids += parentId; - } else { - ids += ("," + parentId); - } - MallMember parentMember = this.baseMapper.selectInfoByInviteId(parentId); - if (parentMember == null) { - break; - } - parentId = parentMember.getReferrerId(); - if (StrUtil.isBlank(parentMember.getReferrerId())) { - flag = true; - } - } - - if (StrUtil.isNotBlank(ids)) { - mallMember.setReferrerIds(ids); - } - this.baseMapper.updateById(mallMember); } + + if (StrUtil.isNotBlank(ids)) { + mallMember.setReferrerIds(ids); + } + this.baseMapper.updateById(mallMember); } } -- Gitblit v1.9.1