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