From c5947256b22f2283214258827f61af09966cf490 Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Tue, 31 Dec 2024 17:25:37 +0800
Subject: [PATCH] feat(mall): 添加会员列表直推、团队、业绩统计功能 - 在 MallMember 实体中添加直推数、团队数、业绩金额等字段 - 修改 getMallMemberList 方法,异步计算每个会员的直推、团队和业绩数据 - 在前端列表中显示直推、团队、业绩等列 - 优化数据查询效率,使用 LambdaQueryWrapper 和 CompletableFuture

---
 src/main/java/cc/mrbird/febs/mall/service/impl/AsyncServiceImpl.java |   27 +++++++++++++++++++++++++++
 1 files changed, 27 insertions(+), 0 deletions(-)

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 bef028b..c3585fd 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
@@ -16,6 +16,7 @@
 import org.springframework.stereotype.Service;
 
 import java.math.BigDecimal;
+import java.math.RoundingMode;
 
 @Slf4j
 @Service
@@ -40,4 +41,30 @@
         );
 
     }
+
+    @Override
+    public void releaseNodeCoin(BigDecimal amount, BigDecimal percent, BigDecimal balanceToCoin, Long memberId) {
+        //实际节点助力的碳币
+        BigDecimal multiply = amount.multiply(percent);
+        if(BigDecimal.ZERO.compareTo(multiply) >=0){
+            return;
+        }
+        BigDecimal divide = multiply.divide(balanceToCoin, 2, RoundingMode.DOWN);
+        if(BigDecimal.ZERO.compareTo(divide) >=0){
+            return;
+        }
+        walletService.addBalance(divide,memberId);
+        String orderNo = MallUtils.getOrderNum("JD");
+        mallMoneyFlowService.runVipMoneyFlowAdd(
+                memberId,
+                memberId,
+                orderNo,
+                FlowTypeEnum.BALANCE.getValue(),
+                RunVipMoneyFlowTypeEnum.NODE_BALANCE.getValue(),
+                divide,
+                StrUtil.format(RunVipMoneyFlowTypeEnum.NODE_BALANCE.getDescription(),divide),
+                YesOrNoEnum.YES.getValue()
+        );
+
+    }
 }

--
Gitblit v1.9.1