KKSU
2025-03-18 664184af3e070dee665ee736caffa0297804975f
perf(mall): 移除会员利润计算中的异步执行

- 删除了 CompletableFuture.runAsync() 异步执行代码块
- 将直接得分计算和流水记录逻辑移至主线程同步执行
- 注释掉了异步执行的代码块,保留了原始逻辑以便未来参考
1 files modified
21 ■■■■ changed files
src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java 21 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java
@@ -30,7 +30,6 @@
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.*;
import java.util.concurrent.CompletableFuture;
import java.util.stream.Collectors;
/**
@@ -765,7 +764,6 @@
                    continue;
                }
                for (MallMember item : directMembers) {
                    CompletableFuture.runAsync(() -> {
                        BigDecimal realScore = calculateDirectScore(memberRunVip, item, operationDate, runVipMap);
                        if(BigDecimal.ZERO.compareTo(realScore) >= 0){
                            return;
@@ -782,7 +780,24 @@
                                StrUtil.format(RunVipMoneyFlowTypeEnum.DIRECT_SCORE.getDescription(), realScore),
                                YesOrNoEnum.YES.getValue()
                        );
                    },febsConfigure.asyncThreadPoolTaskExecutor());
//                    CompletableFuture.runAsync(() -> {
//                        BigDecimal realScore = calculateDirectScore(memberRunVip, item, operationDate, runVipMap);
//                        if(BigDecimal.ZERO.compareTo(realScore) >= 0){
//                            return;
//                        }
//                        walletService.addScore(realScore, memberId);
//                        String orderNo = MallUtils.getOrderNum("ZLS");
//                        mallMoneyFlowService.runVipMoneyFlowAdd(
//                                memberId,
//                                item.getId(),
//                                orderNo,
//                                FlowTypeEnum.SCORE.getValue(),
//                                RunVipMoneyFlowTypeEnum.DIRECT_SCORE.getValue(),
//                                realScore,
//                                StrUtil.format(RunVipMoneyFlowTypeEnum.DIRECT_SCORE.getDescription(), realScore),
//                                YesOrNoEnum.YES.getValue()
//                        );
//                    },febsConfigure.asyncThreadPoolTaskExecutor());
                }
            }
        } catch (Exception e) {