From 179867dab4554547ecc1def684989c2d6f0ef850 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Fri, 26 Aug 2022 10:46:55 +0800
Subject: [PATCH] fix

---
 src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java |   75 ------------------
 src/main/java/cc/mrbird/febs/dapp/controller/ApiCommonController.java     |   10 +-
 src/main/java/cc/mrbird/febs/dapp/controller/ApiDappMemberController.java |   16 ++--
 src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java |   50 +++++++-----
 src/main/java/cc/mrbird/febs/dapp/vo/WalletInfoVo.java                    |   28 +-----
 src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java |    4 
 src/main/java/cc/mrbird/febs/dapp/dto/TransferDto.java                    |    3 
 src/main/java/cc/mrbird/febs/dapp/entity/DappFundFlowEntity.java          |    2 
 src/main/java/cc/mrbird/febs/dapp/dto/SystemDto.java                      |   24 -----
 9 files changed, 58 insertions(+), 154 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/dapp/controller/ApiCommonController.java b/src/main/java/cc/mrbird/febs/dapp/controller/ApiCommonController.java
index 78929e2..5def91a 100644
--- a/src/main/java/cc/mrbird/febs/dapp/controller/ApiCommonController.java
+++ b/src/main/java/cc/mrbird/febs/dapp/controller/ApiCommonController.java
@@ -51,9 +51,9 @@
         return new FebsResponse().success();
     }
 
-    @ApiOperation(value = "头部数据", notes = "头部数据")
-    @GetMapping(value = "/totalIncome")
-    public FebsResponse totalIncome() {
-        return new FebsResponse().success().data(dappSystemService.findTotalInComeAndList());
-    }
+//    @ApiOperation(value = "头部数据", notes = "头部数据")
+//    @GetMapping(value = "/totalIncome")
+//    public FebsResponse totalIncome() {
+//        return new FebsResponse().success().data(dappSystemService.findTotalInComeAndList());
+//    }
 }
diff --git a/src/main/java/cc/mrbird/febs/dapp/controller/ApiDappMemberController.java b/src/main/java/cc/mrbird/febs/dapp/controller/ApiDappMemberController.java
index 77197f5..10a44fc 100644
--- a/src/main/java/cc/mrbird/febs/dapp/controller/ApiDappMemberController.java
+++ b/src/main/java/cc/mrbird/febs/dapp/controller/ApiDappMemberController.java
@@ -64,14 +64,14 @@
         return new FebsResponse().success().data(dappWalletService.recordInPage(recordInPageDto));
     }
 
-    @ApiOperation(value = "系统参数", notes = "系统参数")
-    @ApiResponses({
-            @ApiResponse(code = 200, message = "success", response = SystemDto.class)
-    })
-    @GetMapping(value = "/system")
-    public FebsResponse system() {
-        return new FebsResponse().success().data(dappSystemService.system());
-    }
+//    @ApiOperation(value = "系统参数", notes = "系统参数")
+//    @ApiResponses({
+//            @ApiResponse(code = 200, message = "success", response = SystemDto.class)
+//    })
+//    @GetMapping(value = "/system")
+//    public FebsResponse system() {
+//        return new FebsResponse().success().data(dappSystemService.system());
+//    }
 
     @ApiOperation(value = "我的团队", notes = "我的团队")
     @ApiResponses({
diff --git a/src/main/java/cc/mrbird/febs/dapp/dto/SystemDto.java b/src/main/java/cc/mrbird/febs/dapp/dto/SystemDto.java
index 6545a98..82cb34c 100644
--- a/src/main/java/cc/mrbird/febs/dapp/dto/SystemDto.java
+++ b/src/main/java/cc/mrbird/febs/dapp/dto/SystemDto.java
@@ -14,27 +14,9 @@
 @ApiModel(value = "SystemDto", description = "系统参数接口返回参数类")
 public class SystemDto {
 
-    @ApiModelProperty(value = "今天可卖总数")
-    private BigDecimal saleTotal;
-
-    @ApiModelProperty(value = "今日可卖剩余")
-    private BigDecimal saleRemain;
-
-    @ApiModelProperty(value = "今天可买总数")
-    private BigDecimal buyTotal;
-
-    @ApiModelProperty(value = "今天可买剩余")
-    private BigDecimal buyRemain;
-
-    @ApiModelProperty(value = "出USDT总数")
-    private BigDecimal usdtTotal;
-
-    @ApiModelProperty(value = "出USDT剩余")
-    private BigDecimal usdtRemain;
-
-    @ApiModelProperty(value = "滑点(%)")
+    @ApiModelProperty(value = "提现滑点(%)")
     private BigDecimal feeRatio;
 
-    @ApiModelProperty(value = "买入滑点(%)")
-    private BigDecimal buyFeeRatio;
+    @ApiModelProperty(value = "购买金额")
+    private BigDecimal buyAmount;
 }
diff --git a/src/main/java/cc/mrbird/febs/dapp/dto/TransferDto.java b/src/main/java/cc/mrbird/febs/dapp/dto/TransferDto.java
index fc37a8f..eea3bed 100644
--- a/src/main/java/cc/mrbird/febs/dapp/dto/TransferDto.java
+++ b/src/main/java/cc/mrbird/febs/dapp/dto/TransferDto.java
@@ -34,4 +34,7 @@
 
     @ApiModelProperty(value = "success/fail", example = "success")
     private String flag;
+
+    @ApiModelProperty(value = "1-余额 2-钱包")
+    private Integer buyType;
 }
diff --git a/src/main/java/cc/mrbird/febs/dapp/entity/DappFundFlowEntity.java b/src/main/java/cc/mrbird/febs/dapp/entity/DappFundFlowEntity.java
index 05b44a6..30a2062 100644
--- a/src/main/java/cc/mrbird/febs/dapp/entity/DappFundFlowEntity.java
+++ b/src/main/java/cc/mrbird/febs/dapp/entity/DappFundFlowEntity.java
@@ -47,7 +47,7 @@
     private BigDecimal amount;
 
     /**
-     * 类型 1-买入 2-卖出 3-采矿 4-返利 5-获取盲盒 6-开盲盒获取卡牌 7-推荐奖励 8-激活盲盒
+     * 类型 1-买入 2-矩阵收益 3-直推收益
      */
     private Integer type;
 
diff --git a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java
index ce7042d..e48676d 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java
@@ -280,7 +280,7 @@
         member.setAddress(address);
         member.setChainType(chainType);
         member.setAccountType(accountType);
-        member.setActiveStatus(1);
+        member.setActiveStatus(2);
         member.setBalance(ChainService.getInstance(ChainEnum.BSC_TFC.name()).balanceOf(address));
         member.setUsdtBalance(ChainService.getInstance(ChainEnum.BSC_USDT.name()).balanceOf(address));
 
@@ -293,7 +293,7 @@
         if (StrUtil.isEmpty(refererId)) {
             refererId = "0";
             // 若没有推荐人,则直接激活
-            member.setActiveStatus(1);
+            member.setActiveStatus(2);
         }
 
         member.setInviteId(ShareCodeUtil.toSerialCode(member.getId()));
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 033e34e..4491e60 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
@@ -103,80 +103,7 @@
         DappMemberEntity member = LoginUserUtil.getAppUser();
 
         SystemDto system = new SystemDto();
-        String hasStart = redisUtils.getString(AppContants.SYSTEM_START_FLAG);
-        // 启动未启动
-        if (!"start".equals(hasStart)) {
-            system.setFeeRatio(new BigDecimal("7"));
-            system.setBuyFeeRatio(new BigDecimal("3"));
-            system.setUsdtRemain(BigDecimal.ZERO);
-            system.setUsdtTotal(BigDecimal.ZERO);
-            system.setSaleRemain(BigDecimal.ZERO);
-            system.setSaleTotal(BigDecimal.ZERO);
-            Object makePoolObj = redisUtils.get(AppContants.REDIS_KEY_MAKE_POOL_CNT);
-            BigDecimal balance;
-            if (makePoolObj == null) {
-                balance = ChainService.getInstance(ChainEnum.BSC_TFC.name()).balanceOf(ChainEnum.BSC_TFC.getAddress());
-                redisUtils.set(AppContants.REDIS_KEY_MAKE_POOL_CNT, balance);
-            } else {
-                balance = (BigDecimal) makePoolObj;
-            }
-            system.setBuyRemain(balance);
-            system.setBuyTotal(balance);
-
-
-            Object maxDailyBuy = redisUtils.get(AppContants.REDIS_KEY_IDO_USDT_MAX_BUY_DAILY + member.getAddress());
-            if (maxDailyBuy == null) {
-                DateTime tomorrow = DateUtil.beginOfDay(DateUtil.tomorrow());
-                long time = DateUtil.between(new Date(), tomorrow, DateUnit.SECOND, true);
-
-                redisUtils.set(AppContants.REDIS_KEY_IDO_USDT_MAX_BUY_DAILY + member.getAddress(), new BigDecimal("1000"), time);
-            }
-
-            return system;
-        }
-
-        RedisTransferPoolVo transferPool = (RedisTransferPoolVo) redisUtils.get(AppContants.REDIS_KEY_TRANSFER_POOL_VOL);
-        BigDecimal poolRemain = (BigDecimal) redisUtils.get(AppContants.REDIS_KEY_TRANSFER_POOL_VOL_REMAIN);
-        // 买币数量
-        system.setBuyTotal(transferPool.getTodayVol());
-        system.setBuyRemain(poolRemain);
-
-        ContractChainService instance = ChainService.getInstance(ChainEnum.BSC_TFC.name());
-        BigDecimal balance = instance.balanceOf(member.getAddress());
-
-        Object o = redisUtils.get(AppContants.REDIS_KEY_COIN_REMAIN + member.getAddress());
-
-        BigDecimal minLimit = new BigDecimal(50);
-        BigDecimal coinTotal;
-        if (balance.compareTo(minLimit) > 0) {
-            coinTotal = balance.multiply(BigDecimal.valueOf(0.3)).setScale(instance.decimals(), RoundingMode.HALF_DOWN);
-        } else {
-            coinTotal = new BigDecimal(50);
-        }
-
-        BigDecimal remain;
-        if (o == null) {
-            DateTime tomorrow = DateUtil.beginOfDay(DateUtil.tomorrow());
-            long time = DateUtil.between(new Date(), tomorrow, DateUnit.SECOND, true);
-
-            remain = coinTotal;
-            redisUtils.set(AppContants.REDIS_KEY_COIN_REMAIN + member.getAddress(), remain, time);
-        } else {
-            remain = (BigDecimal) o;
-        }
-        // 卖币数量
-        system.setSaleTotal(coinTotal);
-        system.setSaleRemain(remain);
-
-        BigDecimal usdtRemain = (BigDecimal) redisUtils.get(AppContants.REDIS_KEY_USDT_OUT_LIMIT_REMAIN);
-        BigDecimal usdtTotal = (BigDecimal) redisUtils.get(AppContants.REDIS_KEY_USDT_OUT_LIMIT);
-
-        // usdt数量
-        system.setUsdtTotal(usdtTotal);
-        system.setUsdtRemain(usdtRemain);
-
-        system.setFeeRatio(new BigDecimal("7"));
-        system.setBuyFeeRatio(new BigDecimal("3"));
+        system.setBuyAmount(new BigDecimal("100"));
         return system;
     }
 
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 d3799dc..015bfa6 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
@@ -59,21 +59,15 @@
     public WalletInfoVo walletInfo() {
         DappMemberEntity member = LoginUserUtil.getAppUser();
 
-        Map<String, BigDecimal> map = dappFundFlowDao.selectAmountTotalByType(member.getId());
+        DappMemberEntity memberInfo = dappMemberDao.selectById(member.getId());
         WalletInfoVo walletInfo = new WalletInfoVo();
         List<DappMemberEntity> direct = dappMemberDao.selectChildMemberDirectOrNot(member.getInviteId(), 1);
-        List<DappMemberEntity> notDirect = dappMemberDao.selectChildMemberDirectOrNot(member.getInviteId(), 2);
-        BigDecimal childHoldAmount = dappMemberDao.selectChildHoldAmount(member.getInviteId());
-
         DappWalletCoinEntity walletCoin = dappWalletCoinDao.selectByMemberId(member.getId());
 
-        walletInfo.setTotalChild(notDirect.size());
         walletInfo.setDirectCnt(direct.size());
-        walletInfo.setTotalChildCoin(childHoldAmount);
-        walletInfo.setTeamReward(map.get("teamReward"));
-        walletInfo.setMiningAmount(map.get("mine"));
         walletInfo.setInviteId(member.getInviteId());
-        walletInfo.setBoxCnt(walletCoin.getBoxCnt());
+        walletInfo.setBalance(walletCoin.getAvailableAmount());
+        walletInfo.setHasBuy(memberInfo.getActiveStatus());
         return walletInfo;
     }
 
@@ -219,20 +213,36 @@
     public Long transfer(TransferDto transferDto) {
         DappMemberEntity member = LoginUserUtil.getAppUser();
 
-        if (transferDto.getId() == null) {
-            DappFundFlowEntity fundFlow = new DappFundFlowEntity(member.getId(), transferDto.getAmount(), transferDto.getType(), 1, transferDto.getFee(), transferDto.getTxHash());
-            dappFundFlowDao.insert(fundFlow);
-            return fundFlow.getId();
+        member = dappMemberDao.selectById(member.getId());
+        if (member.getActiveStatus() == 1) {
+            throw new FebsException("Do not repeat purchase");
         }
 
-        if ("success".equals(transferDto.getFlag())) {
-            DappFundFlowEntity flow = dappFundFlowDao.selectById(transferDto.getId());
-            flow.setFromHash(transferDto.getTxHash());
-            dappFundFlowDao.updateById(flow);
+        if (transferDto.getBuyType() == 1) {
+            DappWalletCoinEntity walletCoin = dappWalletCoinDao.selectByMemberId(member.getId());
+            if (transferDto.getAmount().compareTo(walletCoin.getAvailableAmount()) > 0) {
+                throw new FebsException("Balance Not Enough");
+            }
+            walletCoin.setTotalAmount(walletCoin.getTotalAmount().subtract(transferDto.getAmount()));
+            walletCoin.setAvailableAmount(walletCoin.getAvailableAmount().subtract(transferDto.getAmount()));
+
+            dappWalletCoinDao.updateById(walletCoin);
         } else {
-            DappFundFlowEntity flow = dappFundFlowDao.selectById(transferDto.getId());
-            if (flow.getStatus() == 1) {
-                dappFundFlowDao.deleteById(transferDto.getId());
+            if (transferDto.getId() == null) {
+                DappFundFlowEntity fundFlow = new DappFundFlowEntity(member.getId(), transferDto.getAmount(), transferDto.getType(), 1, transferDto.getFee(), transferDto.getTxHash());
+                dappFundFlowDao.insert(fundFlow);
+                return fundFlow.getId();
+            }
+
+            if ("success".equals(transferDto.getFlag())) {
+                DappFundFlowEntity flow = dappFundFlowDao.selectById(transferDto.getId());
+                flow.setFromHash(transferDto.getTxHash());
+                dappFundFlowDao.updateById(flow);
+            } else {
+                DappFundFlowEntity flow = dappFundFlowDao.selectById(transferDto.getId());
+                if (flow.getStatus() == 1) {
+                    dappFundFlowDao.deleteById(transferDto.getId());
+                }
             }
         }
         return null;
diff --git a/src/main/java/cc/mrbird/febs/dapp/vo/WalletInfoVo.java b/src/main/java/cc/mrbird/febs/dapp/vo/WalletInfoVo.java
index 1862428..0b78718 100644
--- a/src/main/java/cc/mrbird/febs/dapp/vo/WalletInfoVo.java
+++ b/src/main/java/cc/mrbird/febs/dapp/vo/WalletInfoVo.java
@@ -14,33 +14,15 @@
 @ApiModel(value = "WalletInfoVo", description = "钱包信息返回参数类")
 public class WalletInfoVo {
 
-//    @ApiModelProperty(value = "总产量")
-//    private BigDecimal totalMine;
-//
-//    @ApiModelProperty(value = "可兑换")
-//    private BigDecimal availableMine;
-//
-//    @ApiModelProperty(value = "收入余额")
-//    private BigDecimal availableWallet;
-//
     @ApiModelProperty(value = "邀请码")
     private String inviteId;
 
-    @ApiModelProperty(value = "总关联数")
-    private Integer totalChild;
-
-    @ApiModelProperty(value = "关联持币")
-    private BigDecimal totalChildCoin;
-
-    @ApiModelProperty(value = "直推关联数")
+    @ApiModelProperty(value = "直推数量")
     private Integer directCnt;
 
-    @ApiModelProperty(value = "挖矿数量")
-    private BigDecimal miningAmount;
+    @ApiModelProperty(value = "余额")
+    private BigDecimal balance;
 
-    @ApiModelProperty(value = "团队奖励数量")
-    private BigDecimal teamReward;
-
-    @ApiModelProperty(value = "盲盒数量")
-    private Integer boxCnt;
+    @ApiModelProperty(value = "是否购买")
+    private Integer hasBuy;
 }

--
Gitblit v1.9.1