From f267ded363a6e002af651ae119082306db4ca93c Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Tue, 23 Apr 2024 14:28:03 +0800
Subject: [PATCH] 团队推荐改成八层,每层2%

---
 src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java |   43 ++++++++++++++++++++++++++++++++-----------
 1 files changed, 32 insertions(+), 11 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 2e6060e..74263f4 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
@@ -236,10 +236,17 @@
     @Transactional(rollbackFor = Exception.class)
     public Long transfer(TransferDto transferDto) {
         DappMemberEntity member = LoginUserUtil.getAppUser();
-        QueryWrapper<DappFundFlowEntity> objectQueryWrapper = new QueryWrapper<>();
-        objectQueryWrapper.eq("type" ,FlowTypeEnum.ZHI_YA.getValue());
-        objectQueryWrapper.eq("status" ,DappFundFlowEntity.WITHDRAW_STATUS_AGREE);
-        List<DappFundFlowEntity> dappFundFlowEntities = dappFundFlowDao.selectList(objectQueryWrapper);
+//        QueryWrapper<DappFundFlowEntity> objectQueryWrapper = new QueryWrapper<>();
+//        objectQueryWrapper.eq("type" ,FlowTypeEnum.ZHI_YA.getValue());
+//        objectQueryWrapper.eq("status" ,DappFundFlowEntity.WITHDRAW_STATUS_AGREE);
+//        objectQueryWrapper.eq("member_id" ,member.getId());
+//        List<DappFundFlowEntity> dappFundFlowEntities = dappFundFlowDao.selectList(objectQueryWrapper);
+
+        List<DappFundFlowEntity> dappFundFlowEntities = dappFundFlowDao.selectAmountTotalByTypeAndMemberIdAndDateAndState(
+                member.getId(),
+                FlowTypeEnum.ZHI_YA.getValue(),
+                DappFundFlowEntity.WITHDRAW_STATUS_AGREE,
+                new Date());
         BigDecimal zhiyaAmount = new BigDecimal(redisUtils.getString(DataDicEnum.MEMBER_ZHIYA_AMOUNT.getValue()));
 
         Integer zhiyaTime = Integer.parseInt(redisUtils.getString(DataDicEnum.MEMBER_ZHIYA_TIME.getValue()));
@@ -274,9 +281,9 @@
 //                    if (BigDecimal.ZERO.compareTo(gfaDays) >= 0) {
 //                        throw new FebsException("今日暂停质押");
 //                    }
-//                    if (transferDto.getAmount().compareTo(gfaDays) > 0) {
-//                        throw new FebsException("今日最多质押"+gfaDays);
-//                    }
+                    if (transferDto.getAmount().compareTo(zhiyaAmount) > 0) {
+                        throw new FebsException("今日最多质押"+zhiyaAmount);
+                    }
                 } else {
                     throw new FebsException("暂停质押");
                 }
@@ -316,6 +323,7 @@
             //新增一条用户质押记录
             DappAchieve dappAchieve = new DappAchieve();
             dappAchieve.setMemberId(memberId);
+            dappAchieve.setPrice(transferDto.getPrice());
             dappAchieve.setAmount(amount);
             BigDecimal achieveReleasePercent = new BigDecimal("0.01").multiply(
                     new BigDecimal(redisUtils.getString(DataDicEnum.GFA_ACHIEVE_RELEASE.getValue())).setScale(2,BigDecimal.ROUND_DOWN)
@@ -346,7 +354,14 @@
     @Override
     public IPage<DappAchieve> dappAchieveInPage(DappAchieve dappAchieve, QueryRequest request) {
         Page<DappAchieve> page = new Page<>(request.getPageNum(), request.getPageSize());
-        return dappAchieveMapper.selectInPage(page, dappAchieve);
+        IPage<DappAchieve> dappAchieveIPage = dappAchieveMapper.selectInPage(page, dappAchieve);
+        List<DappAchieve> records = dappAchieveIPage.getRecords();
+        if(CollUtil.isNotEmpty(records)){
+            for(DappAchieve dappAchieve1 : records){
+                dappAchieve1.setUsdtAmount(dappAchieve1.getAmount().multiply(dappAchieve1.getPrice()).setScale(2,BigDecimal.ROUND_DOWN));
+            }
+        }
+        return dappAchieveIPage;
     }
 
     @Override
@@ -374,6 +389,9 @@
             }
             flowType = FlowTypeEnum.DAI_BI_OUT.getValue();
             flowDes = FlowTypeEnum.DAI_BI_OUT.getDescrition();
+
+            dappMemberEntity.setBalance(balance.subtract(amount).setScale(2,BigDecimal.ROUND_DOWN));
+            dappMemberDao.updateBalanceWithVersion(dappMemberEntity);
         }else{
             if(new BigDecimal("100").compareTo(amount) > 0){
                 throw new FebsException("最小数量为100");
@@ -383,6 +401,9 @@
             }
             flowType = FlowTypeEnum.USDT_OUT.getValue();
             flowDes = FlowTypeEnum.USDT_OUT.getDescrition();
+
+            dappMemberEntity.setUsdtBalance(usdtBalance.subtract(amount).setScale(2,BigDecimal.ROUND_DOWN));
+            dappMemberDao.updateUsdtBalanceWithVersion(dappMemberEntity);
         }
 
         DappFundFlowEntity fundFlowTuiJian = new DappFundFlowEntity(
@@ -395,9 +416,9 @@
                 dappMemberEntity.getAddress());
         dappFundFlowDao.insert(fundFlowTuiJian);
 
-        dappMemberEntity.setBalance(balance.subtract(amount).setScale(2,BigDecimal.ROUND_DOWN));
-        dappMemberEntity.setUsdtBalance(usdtBalance.subtract(amount).setScale(2,BigDecimal.ROUND_DOWN));
-        dappMemberDao.updateBalanceAndUsdtBalanceWithVersion(dappMemberEntity);
+//        dappMemberEntity.setBalance(balance.subtract(amount).setScale(2,BigDecimal.ROUND_DOWN));
+//        dappMemberEntity.setUsdtBalance(usdtBalance.subtract(amount).setScale(2,BigDecimal.ROUND_DOWN));
+//        dappMemberDao.updateBalanceAndUsdtBalanceWithVersion(dappMemberEntity);
 
         return new FebsResponse().success();
     }

--
Gitblit v1.9.1