From e9391705ed64a34caf08c9f217b498dac3dc59b5 Mon Sep 17 00:00:00 2001 From: KKSU <15274802129@163.com> Date: Tue, 31 Dec 2024 14:30:24 +0800 Subject: [PATCH] refactor(mall): 优化会员利润计算服务 --- src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java | 35 +++++++++++++++++++---------------- 1 files changed, 19 insertions(+), 16 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java index 5e4d4e8..ab288b2 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/MemberProfitServiceImpl.java @@ -29,6 +29,7 @@ import java.math.BigDecimal; import java.math.RoundingMode; import java.util.*; +import java.util.concurrent.CompletableFuture; import java.util.stream.Collectors; /** @@ -719,22 +720,24 @@ continue; } for (MallMember item : directMembers) { - BigDecimal realScore = calculateDirectScore(memberRunVip, item, operationDate, runVipMap); - if(BigDecimal.ZERO.compareTo(realScore) >= 0){ - continue; - } - 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() - ); + 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() + ); + }); } } } catch (Exception e) { -- Gitblit v1.9.1