From 3d3734ca69d0894e1e1f77db215c0ffc5a8811b2 Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Mon, 22 Apr 2024 10:51:06 +0800
Subject: [PATCH] 滑点权重改成U计算

---
 src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java |   35 ++++++++++++++++++++++++-----------
 1 files changed, 24 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 24cfbb1..28c7560 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,11 +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);
-        objectQueryWrapper.eq("member_id" ,member.getId());
-        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()));
@@ -275,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("暂停质押");
                 }
@@ -317,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)
@@ -375,6 +382,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");
@@ -384,6 +394,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(
@@ -396,9 +409,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