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()); // } } 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({ 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; } 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; } 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; 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())); 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; } 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,6 +213,21 @@ public Long transfer(TransferDto transferDto) { DappMemberEntity member = LoginUserUtil.getAppUser(); member = dappMemberDao.selectById(member.getId()); if (member.getActiveStatus() == 1) { throw new FebsException("Do not repeat purchase"); } 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 { if (transferDto.getId() == null) { DappFundFlowEntity fundFlow = new DappFundFlowEntity(member.getId(), transferDto.getAmount(), transferDto.getType(), 1, transferDto.getFee(), transferDto.getTxHash()); dappFundFlowDao.insert(fundFlow); @@ -235,6 +244,7 @@ dappFundFlowDao.deleteById(transferDto.getId()); } } } return null; } 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; }