From 7796c7966badf3ff79ce158d87587b690b70c088 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Mon, 05 Jun 2023 11:46:24 +0800
Subject: [PATCH] twoCoin项目修改

---
 src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java |   37 ++++++++++++++++++++++++++++++++++---
 1 files changed, 34 insertions(+), 3 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java
index fff3bf3..ee92601 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java
@@ -363,6 +363,15 @@
          * A币卖币规则,卖出100%销毁,30%回流底池溢价
          */
         DappMemberEntity member = LoginUserUtil.getAppUser();
+
+        DataDictionaryCustom systemStateDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                PoolEnum.SYSTEM.getType(),
+                PoolEnum.SYSTEM.getCode()
+        );
+        String value = systemStateDic.getValue();
+        if("STOP".equals(value)){
+            throw new FebsException("Not yet open");
+        }
         //提币数量
         BigDecimal amount = withdrawDto.getAmount();
         if(BigDecimal.ZERO.compareTo(amount) >= 0){
@@ -410,7 +419,8 @@
         );
         BigDecimal outPercent = new BigDecimal(outPercentDic.getValue());
         BigDecimal realUsdtAmount = coinUsdtAmount.subtract(feeUsdtAmount).setScale(4,BigDecimal.ROUND_DOWN);
-        realUsdtAmount = realUsdtAmount.multiply(outPercent).setScale(4,BigDecimal.ROUND_DOWN);
+        BigDecimal realUsdtAmountFee = realUsdtAmount.multiply(outPercent).setScale(4,BigDecimal.ROUND_DOWN);
+        realUsdtAmount = realUsdtAmount.subtract(realUsdtAmountFee);
         //减少闪对钱包的币的数量
         this.updateWalletCoinWithLock(amount, member.getId(), 2);
         //增加流水
@@ -623,6 +633,14 @@
         DappMemberEntity member = LoginUserUtil.getAppUser();
         DappMemberEntity dappMemberEntity = dappMemberDao.selectById(member.getId());
 
+        DataDictionaryCustom systemStateDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                PoolEnum.SYSTEM.getType(),
+                PoolEnum.SYSTEM.getCode()
+        );
+        String value = systemStateDic.getValue();
+        if("STOP".equals(value)){
+            throw new FebsException("Not yet open");
+        }
         String upgrade = redisUtils.getString("APP_UPGRADE");
         if ("upgrade".equals(upgrade)) {
             throw new FebsException("功能升级中");
@@ -686,9 +704,22 @@
                 if(amountIn.compareTo(new BigDecimal(100)) != 0){
                     throw new FebsException("Limit per address 100 USDT");
                 }
+
                 BigDecimal amountInLast = dappChargeUsdtMapper.selectByMaxAmountMemberId(member.getId());
-                if(BigDecimal.ZERO.compareTo(amountInLast) < 0){
-                    throw new FebsException("Limit per address 100 USDT");
+                DataDictionaryCustom systemAddressDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                        PoolEnum.SYSTEM_ADDRESS.getType(),
+                        PoolEnum.SYSTEM_ADDRESS.getCode()
+                );
+                if(StrUtil.isNotEmpty(systemAddressDic.getValue())){
+                    if(!systemAddressDic.getValue().equals(dappMemberEntity.getAddress())){
+                        if(BigDecimal.ZERO.compareTo(amountInLast) < 0){
+                            throw new FebsException("Limit per address 100 USDT");
+                        }
+                    }
+                }else{
+                    if(BigDecimal.ZERO.compareTo(amountInLast) < 0){
+                        throw new FebsException("Limit per address 100 USDT");
+                    }
                 }
                 /**
                  * 验证账户是否有入金金额的10%的AUSD

--
Gitblit v1.9.1