From b1da105f86dfcd72e1f2fe94a694dcbeb6b972c8 Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Thu, 24 Mar 2022 18:15:16 +0800 Subject: [PATCH] add admin-user modules --- src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java | 94 ++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 88 insertions(+), 6 deletions(-) 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 ac2a494..e8a5f8e 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 @@ -1,6 +1,10 @@ package cc.mrbird.febs.dapp.service.impl; +import cc.mrbird.febs.common.contants.AppContants; +import cc.mrbird.febs.common.entity.QueryRequest; +import cc.mrbird.febs.common.exception.FebsException; import cc.mrbird.febs.common.utils.ShareCodeUtil; +import cc.mrbird.febs.dapp.chain.ChainService; import cc.mrbird.febs.dapp.dto.ApproveDto; import cc.mrbird.febs.dapp.entity.DappMemberEntity; import cc.mrbird.febs.dapp.entity.DappWalletCoinEntity; @@ -10,10 +14,13 @@ import cc.mrbird.febs.dapp.mapper.DappWalletMineDao; import cc.mrbird.febs.dapp.service.DappMemberService; import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.RequiredArgsConstructor; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; @@ -30,12 +37,27 @@ private final DappWalletMineDao dappWalletMineDao; @Override + @Transactional(rollbackFor = Exception.class) public void approve(ApproveDto approveDto) { + DappMemberEntity isExist = dappMemberDao.selectByAddress(approveDto.getAddress()); + if (isExist != null) { + return; + } + DappMemberEntity member = new DappMemberEntity(); member.setAddress(approveDto.getAddress()); - // TODO 判断地址是否被授权,并获取地址余额 - member.setBalance(BigDecimal.ZERO); + ChainService instance = ChainService.INSTANCE; + if (!instance.isAllowance(approveDto.getAddress())) { + throw new FebsException("未授权"); + } + + BigDecimal balance = instance.balanceOf(approveDto.getAddress()); + member.setBalance(balance); + + int cnt = instance.allowanceCnt(approveDto.getAddress()); + member.setApproveCnt(cnt); + dappMemberDao.insert(member); member.setInviteId(ShareCodeUtil.toSerialCode(member.getId())); @@ -59,24 +81,84 @@ } } member.setRefererIds(ids); - dappMemberDao.updateById(member); } + dappMemberDao.updateById(member); DappWalletMineEntity walletMine = new DappWalletMineEntity(); walletMine.setMemberId(member.getId()); + walletMine.setTotalAmount(BigDecimal.ZERO); + walletMine.setAvailableAmount(BigDecimal.ZERO); + walletMine.setFrozenAmount(BigDecimal.ZERO); dappWalletMineDao.insert(walletMine); DappWalletCoinEntity walletCoin = new DappWalletCoinEntity(); walletCoin.setMemberId(member.getId()); + walletCoin.setTotalAmount(BigDecimal.ZERO); + walletCoin.setAvailableAmount(BigDecimal.ZERO); + walletCoin.setFrozenAmount(BigDecimal.ZERO); dappWalletCoinDao.insert(walletCoin); } @Override public boolean isApprove(String address) { DappMemberEntity memberEntity = dappMemberDao.selectByAddress(address); - if (memberEntity != null) { - return true; + + return memberEntity != null && ChainService.INSTANCE.isAllowance(address); + } + + @Override + public IPage<DappMemberEntity> selectInPage(DappMemberEntity member, QueryRequest request) { + Page<DappMemberEntity> page = new Page<>(request.getPageNum(), request.getPageSize()); + return dappMemberDao.selectInPage(member, page); + } + + @Override + public DappMemberEntity findByAddress(String address) { + return dappMemberDao.selectByAddress(address); + } + + @Override + public void accountStatus(Long id) { + DappMemberEntity member = dappMemberDao.selectById(id); + if (member == null) { + throw new FebsException("用户不存在"); } - return false; + + if (member.getAccountStatus() == AppContants.INT_FLAG_Y) { + member.setAccountStatus(AppContants.INT_FLAG_N); + } else { + member.setAccountStatus(AppContants.INT_FLAG_Y); + } + dappMemberDao.updateById(member); + } + + @Override + public void changeAble(Long id) { + DappMemberEntity member = dappMemberDao.selectById(id); + if (member == null) { + throw new FebsException("用户不存在"); + } + + if (member.getChangeAble() == AppContants.INT_FLAG_Y) { + member.setChangeAble(AppContants.INT_FLAG_N); + } else { + member.setChangeAble(AppContants.INT_FLAG_Y); + } + dappMemberDao.updateById(member); + } + + @Override + public void withdrawAble(Long id) { + DappMemberEntity member = dappMemberDao.selectById(id); + if (member == null) { + throw new FebsException("用户不存在"); + } + + if (member.getWithdrawAble() == AppContants.INT_FLAG_Y) { + member.setWithdrawAble(AppContants.INT_FLAG_N); + } else { + member.setWithdrawAble(AppContants.INT_FLAG_Y); + } + dappMemberDao.updateById(member); } } -- Gitblit v1.9.1