From b8376677b0c6a1c537bbb7bc4bb730201b16dd61 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Mon, 24 May 2021 16:29:18 +0800
Subject: [PATCH] modify

---
 src/main/java/com/xcong/excoin/modules/yunding/service/Impl/XchProfitServiceImpl.java |   24 ++++++++++++++++++++----
 1 files changed, 20 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/xcong/excoin/modules/yunding/service/Impl/XchProfitServiceImpl.java b/src/main/java/com/xcong/excoin/modules/yunding/service/Impl/XchProfitServiceImpl.java
index ea55732..ad88844 100644
--- a/src/main/java/com/xcong/excoin/modules/yunding/service/Impl/XchProfitServiceImpl.java
+++ b/src/main/java/com/xcong/excoin/modules/yunding/service/Impl/XchProfitServiceImpl.java
@@ -110,7 +110,12 @@
             }
         }
 
-        BigDecimal needPower = basicLevelSetting.getCalculationPower().multiply(BigDecimal.valueOf(1024));
+        BigDecimal needPower = BigDecimal.ZERO;
+        if ("P".equals(basicLevelSetting.getUnit())) {
+            needPower = basicLevelSetting.getCalculationPower().multiply(BigDecimal.valueOf(1024));
+        } else {
+            needPower = basicLevelSetting.getCalculationPower();
+        }
         return totalPower.compareTo(needPower) > 0;
     }
 
@@ -217,6 +222,7 @@
     private Map<Long, BigDecimal> buildReturnRatioObj(List<MemberEntity> agents, int type) {
         Map<Long, BigDecimal> returnRatio = new HashMap<Long, BigDecimal>();
         Long lastId = null;
+        int i = 0;
         for (MemberEntity agent : agents) {
             YdBasicLevelSettingEntity settingEntity = agent.getYdBasicLevelSettingEntity();
 
@@ -228,12 +234,20 @@
             }
             if(settingEntity.getLevel() == 1) {
                 if (CollUtil.isNotEmpty(returnRatio)) {
-                    BigDecimal lastRatio = returnRatio.get(lastId);
-                    returnRatio.put(agent.getId(), ratio.subtract(lastRatio));
+                    if (i != 0) {
+                        returnRatio.put(agent.getId(), BigDecimal.valueOf(0.01));
+                    } else {
+                        BigDecimal lastRatio = returnRatio.get(lastId);
+                        returnRatio.put(agent.getId(), ratio.subtract(lastRatio));
+                    }
                 } else {
                     returnRatio.put(agent.getId(), ratio);
                 }
-                break;
+
+                if (i >= 1) {
+                    break;
+                }
+                i++;
             }
 
             if (CollUtil.isEmpty(returnRatio)) {
@@ -281,6 +295,8 @@
                     if ("P".equals(order.getYdProductEntity().getProUnit())) {
                         count = count.multiply(BigDecimal.valueOf(1024));
                     }
+
+                    // 订单总收益
                     BigDecimal orderProfit = count.multiply(unitProfit);
                     BigDecimal remainProfit = orderProfit;
                     if (CollUtil.isNotEmpty(agents)) {

--
Gitblit v1.9.1