From 96798c173cd783bc7e641dabbb02d1e8e91318db Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Thu, 14 Jul 2022 17:24:59 +0800
Subject: [PATCH] fix

---
 src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java |   22 +++++++++++++++-------
 1 files changed, 15 insertions(+), 7 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java
index 50a05e5..5723b06 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java
@@ -511,7 +511,17 @@
 
     @Override
     public void idoBuy(DappMemberEntity member, BigDecimal amount) {
+        DappIdoAssetsEntity idoAssets = dappIdoAssetsDao.selectByMemberId(member.getId());
+        BigDecimal count = amount.divide(new BigDecimal(50), 0, RoundingMode.HALF_UP);
+        BigDecimal coinAmount = new BigDecimal(1000).multiply(count);
+        idoAssets.setCoinAmount(idoAssets.getCoinAmount().add(coinAmount));
+        idoAssets.setUsdtAmount(idoAssets.getUsdtAmount().add(amount));
+        dappIdoAssetsDao.updateById(idoAssets);
+
         DappMemberEntity parent = dappMemberDao.selectMemberInfoByInviteId(member.getRefererId());
+        if (parent == null) {
+            return;
+        }
 
         int box = 0;
         Object parentRecommend = redisUtils.hget(AppContants.IDO_MEMBER_RECOMMEND_CNT, parent.getAddress());
@@ -534,12 +544,10 @@
             dappFundFlowDao.insert(boxFundFlow);
         }
 
-        DappIdoAssetsEntity idoAssets = dappIdoAssetsDao.selectByMemberId(member.getId());
-        BigDecimal count = amount.divide(new BigDecimal(50), 0, RoundingMode.HALF_UP);
-        BigDecimal coinAmount = new BigDecimal(1000).multiply(count);
-        idoAssets.setBoxCnt(idoAssets.getBoxCnt() + box);
-        idoAssets.setCoinAmount(idoAssets.getCoinAmount().add(coinAmount));
-        idoAssets.setUsdtAmount(idoAssets.getUsdtAmount().add(amount));
-        dappIdoAssetsDao.updateById(idoAssets);
+        BigDecimal returnCoin = coinAmount.multiply(new BigDecimal(5).divide(new BigDecimal(100), 2, RoundingMode.UP));
+        DappIdoAssetsEntity parentIdoAssets = dappIdoAssetsDao.selectById(parent.getId());
+        parentIdoAssets.setBoxCnt(parentIdoAssets.getBoxCnt() + box);
+        parentIdoAssets.setCoinAmount(parentIdoAssets.getCoinAmount().add(returnCoin));
+        dappIdoAssetsDao.updateById(parentIdoAssets);
     }
 }

--
Gitblit v1.9.1