From d51a8cfa10c34d9c1e7d6b4726d31e75ecee5dc6 Mon Sep 17 00:00:00 2001
From: phpcjl <phpcjl@gmail.com>
Date: 星期五, 20 十二月 2024 18:32:03 +0800
Subject: [PATCH] 1

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/CommissionServiceImpl.java |   10 +++++++---
 1 files changed, 7 insertions(+), 3 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 a2d00ce..4bedbeb 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
@@ -13,6 +13,7 @@
 import com.ruoyi.order.model.OrderGood;
 import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
 import java.math.BigDecimal;
@@ -50,6 +51,7 @@
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public void calculationCommission(Set<String> orderIds) {
         List<OrderGood> orderGoods = orderGoodService.list(new LambdaQueryWrapper<OrderGood>()
                 .in(OrderGood::getOrderId, orderIds));
@@ -63,6 +65,8 @@
             if (order.getIsCommission() == 1) {
                 continue;
             }
+            order.setIsCommission(1);
+            orderService.updateById(order);
             R<Shop> r = shopClient.getShopById(order.getShopId());
             if (!R.isSuccess(r)) {
                 throw new RuntimeException("获取门店信息失败");
@@ -91,8 +95,8 @@
             for (OrderGood og : v) {// 累计分销金额
 
                 // 直推上级分佣金额
-                Integer superiorType = og.getSuperiorType();
-                if (superiorType == 1 && inviteUser != null){
+                String superiorType = og.getSuperiorType();
+                if (superiorType.contains("1") && inviteUser != null){
                     // 分佣金额
                     BigDecimal superiorSubcommission = og.getSuperiorSubcommission();
                     BigDecimal totalDistributionAmount = inviteUser.getTotalDistributionAmount();
@@ -108,7 +112,7 @@
                     appUserClient.editAppUserById(inviteUser);
                 }else
                     // 直帮上级分佣金额
-                    if (superiorType == 2 && superiorLeader != null){
+                    if (superiorType.contains("2") && superiorLeader != null){
                         // 分佣金额
                         BigDecimal superiorSubcommission = og.getSuperiorSubcommission();
                         BigDecimal totalDistributionAmount = superiorLeader.getTotalDistributionAmount();

--
Gitblit v1.7.1