From 3ed7fcd25a5233a8fc1a00e5602e89e92ebe82ae Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期一, 09 十二月 2024 10:58:47 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/CommissionServiceImpl.java | 54 +++++++++++++++++++++++++++++++++++++-----------------
1 files changed, 37 insertions(+), 17 deletions(-)
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/CommissionServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/CommissionServiceImpl.java
index d8fa0ef..a2d00ce 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/CommissionServiceImpl.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/CommissionServiceImpl.java
@@ -9,8 +9,8 @@
import com.ruoyi.order.service.OrderService;
import com.ruoyi.other.api.domain.Shop;
import com.ruoyi.other.api.feignClient.ShopClient;
-import model.Order;
-import model.OrderGood;
+import com.ruoyi.order.model.Order;
+import com.ruoyi.order.model.OrderGood;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
@@ -20,6 +20,7 @@
import java.time.ZoneId;
import java.util.List;
import java.util.Map;
+import java.util.Set;
import java.util.stream.Collectors;
@Service
@@ -49,7 +50,7 @@
}
@Override
- public void calculationCommission(List<Long> orderIds) {
+ public void calculationCommission(Set<String> orderIds) {
List<OrderGood> orderGoods = orderGoodService.list(new LambdaQueryWrapper<OrderGood>()
.in(OrderGood::getOrderId, orderIds));
@@ -77,32 +78,51 @@
throw new RuntimeException("获取用户信息失败");
}
Long inviteUserId = appUser.getInviteUserId();
+ // 直推上级用户
AppUser inviteUser = appUserClient.getAppUserById(inviteUserId);
+
+ // 获取直帮上级用户
+ R<AppUser> superiorLeaderR = appUserClient.getSuperiorLeader(appUserId);
+ if (!R.isSuccess(superiorLeaderR)) {
+ throw new RuntimeException("获取直帮上级信息失败");
+ }
+ AppUser superiorLeader = superiorLeaderR.getData();
for (OrderGood og : v) {// 累计分销金额
- // 上级分销金额
- if (inviteUser != null){
+ // 直推上级分佣金额
+ Integer superiorType = og.getSuperiorType();
+ if (superiorType == 1 && inviteUser != null){
+ // 分佣金额
BigDecimal superiorSubcommission = og.getSuperiorSubcommission();
BigDecimal totalDistributionAmount = inviteUser.getTotalDistributionAmount();
totalDistributionAmount = totalDistributionAmount.add(superiorSubcommission);
- //
- Integer superiorType = og.getSuperiorType();
+ inviteUser.setTotalDistributionAmount(totalDistributionAmount);
+
+ // 分佣积分
Integer sharePoint = inviteUser.getSharePoint();
- if (superiorType == 1) {
+ Integer superiorRebatePoints = og.getSuperiorRebatePoints();
+ sharePoint = sharePoint + superiorRebatePoints;
+ inviteUser.setSharePoint(sharePoint);
+
+ appUserClient.editAppUserById(inviteUser);
+ }else
+ // 直帮上级分佣金额
+ if (superiorType == 2 && superiorLeader != null){
+ // 分佣金额
+ BigDecimal superiorSubcommission = og.getSuperiorSubcommission();
+ BigDecimal totalDistributionAmount = superiorLeader.getTotalDistributionAmount();
+ totalDistributionAmount = totalDistributionAmount.add(superiorSubcommission);
+ superiorLeader.setTotalDistributionAmount(totalDistributionAmount);
+
+ // 分佣积分
+ Integer sharePoint = superiorLeader.getSharePoint();
Integer superiorRebatePoints = og.getSuperiorRebatePoints();
sharePoint = sharePoint + superiorRebatePoints;
- } else if (superiorType == 2) {
+ superiorLeader.setSharePoint(sharePoint);
- } else {
- continue;
+ appUserClient.editAppUserById(superiorLeader);
}
- inviteUser.setTotalDistributionAmount(totalDistributionAmount);
- inviteUser.setSharePoint(sharePoint);
- }
-
- // 门店分销金额
- og.getBoundShopCharges()
}
}
--
Gitblit v1.7.1