From eeccae86c34ed71a3ebb3d59900def3f2c1f6fe5 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Thu, 14 Sep 2023 18:21:11 +0800
Subject: [PATCH] 后台修改

---
 src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java |   55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 55 insertions(+), 0 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 c97f2c6..bdda216 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
@@ -14,6 +14,7 @@
 import cc.mrbird.febs.dapp.vo.*;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import lombok.RequiredArgsConstructor;
@@ -94,6 +95,10 @@
          * A币卖币规则,卖出100%销毁,30%回流底池溢价
          */
         DappMemberEntity member = LoginUserUtil.getAppUser();
+        DappMemberEntity dappMemberEntity = dappMemberDao.selectById(member.getId());
+        if(2 == dappMemberEntity.getChangeAble()){
+            throw new FebsException("账号已冻结");
+        }
 
         DataDictionaryCustom systemStateDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
                 PoolEnum.SYSTEM.getType(),
@@ -117,6 +122,26 @@
                 DataDictionaryEnum.WITHDRAW_FEE.getCode()
         );
         BigDecimal withdrawFee = new BigDecimal(withdrawFeeDic.getValue());
+        //最小提现金额
+        DataDictionaryCustom minWithdrawDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                DataDictionaryEnum.MIN_WITHDRAW_AMOUNT.getType(),
+                DataDictionaryEnum.MIN_WITHDRAW_AMOUNT.getCode()
+        );
+        BigDecimal minWithdraw = new BigDecimal(minWithdrawDic.getValue()).setScale(2,BigDecimal.ROUND_DOWN);
+        if (minWithdraw.compareTo(withdrawDto.getAmount()) > 0) {
+            throw new FebsException("最小提现金额为"+minWithdraw);
+        }
+        //今日最大提现金额
+        DataDictionaryCustom maxWithdrawDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                DataDictionaryEnum.MAX_WITHDRAW_AMOUNT.getType(),
+                DataDictionaryEnum.MAX_WITHDRAW_AMOUNT.getCode()
+        );
+        BigDecimal maxWithdraw = new BigDecimal(maxWithdrawDic.getValue()).setScale(2,BigDecimal.ROUND_DOWN);
+        BigDecimal withdrawToday = dappFundFlowDao.selectSumAmountByMemberIdAndType(member.getId(), FundFlowEnum.WITHDRAW_USDT.getCode());
+        withdrawToday = withdrawToday.add(withdrawDto.getAmount());
+        if (maxWithdraw.compareTo(withdrawToday) < 0) {
+            throw new FebsException("今日提现最多可申请"+maxWithdraw);
+        }
         //手续费
         BigDecimal feeAmount = amount.multiply(withdrawFee);
         //减少余额
@@ -771,6 +796,15 @@
         }
         dappFundFlowEntity.setStatus(DappFundFlowEntity.WITHDRAW_STATUS_DISAGREE);
         dappFundFlowDao.updateById(dappFundFlowEntity);
+        DappFundFlowEntity dappFundFlowEntityIn = new DappFundFlowEntity(
+                AccountFlowEnum.AMOUNT.getCode(),
+                dappFundFlowEntity.getMemberId(),
+                dappFundFlowEntity.getAmount().negate(),
+                FundFlowEnum.WITHDRAW_USDT.getCode(),
+                DappFundFlowEntity.WITHDRAW_STATUS_AGREE,
+                BigDecimal.ZERO);
+        dappFundFlowDao.insert(dappFundFlowEntityIn);
+
 
         memberCoinWithdrawEntity.setStatus(MemberCoinWithdrawEntity.STATUS_NO);
         memberCoinWithdrawEntity.setIsInside(MemberCoinWithdrawEntity.ISINSIDE_NO);
@@ -798,4 +832,25 @@
         DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = dappAccountMoneyChangeDao.selectNewOneByMemberId(memberId);
         return new FebsResponse().success().data(dappAccountMoneyChangeEntity);
     }
+
+    @Override
+    public CashOutSettingVo cashOutSetting() {
+        CashOutSettingVo cashOutSettingVo = new CashOutSettingVo();
+        //最小提现金额
+        DataDictionaryCustom minWithdrawDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                DataDictionaryEnum.MIN_WITHDRAW_AMOUNT.getType(),
+                DataDictionaryEnum.MIN_WITHDRAW_AMOUNT.getCode()
+        );
+        BigDecimal minWithdraw = new BigDecimal(minWithdrawDic.getValue()).setScale(2,BigDecimal.ROUND_DOWN);
+
+        cashOutSettingVo.setMinWithdraw(minWithdraw);
+        //今日最大提现金额
+        DataDictionaryCustom maxWithdrawDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                DataDictionaryEnum.MAX_WITHDRAW_AMOUNT.getType(),
+                DataDictionaryEnum.MAX_WITHDRAW_AMOUNT.getCode()
+        );
+        BigDecimal maxWithdraw = new BigDecimal(maxWithdrawDic.getValue()).setScale(2,BigDecimal.ROUND_DOWN);
+        cashOutSettingVo.setMaxWithdraw(maxWithdraw);
+        return cashOutSettingVo;
+    }
 }

--
Gitblit v1.9.1