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/DappWalletServiceImpl.java | 50 ++++++++++++++++++++++++++++++-------------------- 1 files changed, 30 insertions(+), 20 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 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; -- Gitblit v1.9.1