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