From b3b3baf9a3b0147ca38476450ca1823c291abd20 Mon Sep 17 00:00:00 2001 From: KKSU <15274802129@163.com> Date: Fri, 21 Jun 2024 23:02:46 +0800 Subject: [PATCH] 后台矩阵列表 --- src/main/java/cc/mrbird/febs/dapp/service/impl/AdminOperationServiceImpl.java | 90 ++++++++++++++++----------------------------- 1 files changed, 32 insertions(+), 58 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/dapp/service/impl/AdminOperationServiceImpl.java b/src/main/java/cc/mrbird/febs/dapp/service/impl/AdminOperationServiceImpl.java index 13bf4f4..02b6c7a 100644 --- a/src/main/java/cc/mrbird/febs/dapp/service/impl/AdminOperationServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/dapp/service/impl/AdminOperationServiceImpl.java @@ -3,16 +3,12 @@ import cc.mrbird.febs.common.entity.FebsResponse; import cc.mrbird.febs.common.entity.QueryRequest; import cc.mrbird.febs.common.exception.FebsException; -import cc.mrbird.febs.dapp.entity.DappAccountMoneyChangeEntity; -import cc.mrbird.febs.dapp.entity.DappMemberEntity; -import cc.mrbird.febs.dapp.entity.DappWalletCoinEntity; -import cc.mrbird.febs.dapp.entity.MemberCoinWithdrawEntity; -import cc.mrbird.febs.dapp.mapper.DappAccountMoneyChangeDao; -import cc.mrbird.febs.dapp.mapper.DappMemberDao; -import cc.mrbird.febs.dapp.mapper.DappWalletCoinDao; -import cc.mrbird.febs.dapp.mapper.MemberCoinWithdrawDao; +import cc.mrbird.febs.dapp.entity.*; +import cc.mrbird.febs.dapp.mapper.*; import cc.mrbird.febs.dapp.service.AdminOperationService; +import cc.mrbird.febs.dapp.service.DappWalletService; import cc.mrbird.febs.dapp.vo.AdminMemberCoinWithdrawVo; +import cc.mrbird.febs.rabbit.producer.ChainProducer; import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -31,6 +27,9 @@ private final DappWalletCoinDao dappWalletCoinDao; private final DappMemberDao dappMemberDao; private final DappAccountMoneyChangeDao dappAccountMoneyChangeDao; + private final DappWalletService dappWalletService; + private final DappFundFlowDao dappFundFlowDao; + private final ChainProducer chainProducer; @Override public IPage<AdminMemberCoinWithdrawVo> findMemberWithdrawCoinAllOneInPage(MemberCoinWithdrawEntity memberCoinWithdrawEntity, QueryRequest request) { @@ -46,55 +45,18 @@ if(ObjectUtil.isEmpty(memberCoinWithdrawEntity)){ throw new FebsException("刷新页面重试"); } + + if (MemberCoinWithdrawEntity.STATUS_DOING != memberCoinWithdrawEntity.getStatus()) { + throw new FebsException("非可审核状态"); + } memberCoinWithdrawEntity.setStatus(MemberCoinWithdrawEntity.STATUS_YES); memberCoinWithdrawDao.updateById(memberCoinWithdrawEntity); - //转出账户,总额减少,冻结减少 - BigDecimal amount = memberCoinWithdrawEntity.getAmount().setScale(4,BigDecimal.ROUND_DOWN); - Long memberIdOut = memberCoinWithdrawEntity.getMemberId(); - DappWalletCoinEntity dappWalletCoinEntityOut = dappWalletCoinDao.selectByMemberId(memberIdOut); - dappWalletCoinDao.delTotalAndDelFrozenById(dappWalletCoinEntityOut.getId(),amount); - String isInside = memberCoinWithdrawEntity.getIsInside(); - String content = ""; - Integer type = 0; - if(MemberCoinWithdrawEntity.ISINSIDE_NO.equals(isInside)){ - content = "提现"; - type = 2; - }else{ - content = "转账"; - type = 4; - } - //转出账户生成一条账户资金变化记录 - DappAccountMoneyChangeEntity dappAccountMoneyChangeEntityOut = new DappAccountMoneyChangeEntity(memberIdOut, - dappWalletCoinEntityOut.getTotalAmount().setScale(4,BigDecimal.ROUND_DOWN), - amount.negate(), - dappWalletCoinEntityOut.getTotalAmount().setScale(4,BigDecimal.ROUND_DOWN).subtract(amount), - content, - type); - dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntityOut); + DappFundFlowEntity dappFundFlowEntity = dappFundFlowDao.selectById(memberCoinWithdrawEntity.getFlowId()); + dappFundFlowEntity.setStatus(DappFundFlowEntity.WITHDRAW_STATUS_AGREE); + dappFundFlowDao.updateById(dappFundFlowEntity); - //转入账户,总额增加,余额增加 - //转账 -// if(MemberCoinWithdrawEntity.ISINSIDE_YES.equals(isInside)){ -// String addressIn = memberCoinWithdrawEntity.getAddress(); -// DappMemberEntity dappMemberEntityIn = dappMemberDao.selectMemberInfoByInviteId(addressIn); -// if(ObjectUtil.isEmpty(dappMemberEntityIn)){ -// throw new FebsException("系统异常,联系开发人员"); -// } -// DappWalletCoinEntity dappWalletCoinEntityIn = dappWalletCoinDao.selectByMemberId(dappMemberEntityIn.getId()); -// Integer countIn = dappWalletCoinDao.addTotalAndaddAvailableById(dappWalletCoinEntityIn.getId(), memberCoinWithdrawEntity.getAmount()); -// if(1 != countIn){ -// throw new FebsException("系统异常,联系开发人员"); -// } -// //生成流水记录 -// DappAccountMoneyChangeEntity dappAccountMoneyChangeEntityIn = new DappAccountMoneyChangeEntity(dappMemberEntityIn.getId(), -// dappWalletCoinEntityIn.getTotalAmount().setScale(4,BigDecimal.ROUND_DOWN), -// amount, -// dappWalletCoinEntityIn.getTotalAmount().setScale(4,BigDecimal.ROUND_DOWN).add(amount), -// "转账", -// 4); -// dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntityIn); -// } + chainProducer.sendFeeDistributeMsg(dappFundFlowEntity.getId()); return new FebsResponse().success(); } @@ -105,14 +67,26 @@ if(ObjectUtil.isEmpty(memberCoinWithdrawEntity)){ throw new FebsException("刷新页面重试"); } + + if (MemberCoinWithdrawEntity.STATUS_DOING != memberCoinWithdrawEntity.getStatus()) { + throw new FebsException("非可审核状态"); + } + + DappFundFlowEntity dappFundFlowEntity = dappFundFlowDao.selectById(memberCoinWithdrawEntity.getFlowId()); + if (dappFundFlowEntity == null) { + throw new FebsException("审核失败,联系管理员"); + } memberCoinWithdrawEntity.setStatus(MemberCoinWithdrawEntity.STATUS_NO); memberCoinWithdrawDao.updateById(memberCoinWithdrawEntity); - DappWalletCoinEntity dappWalletCoinEntity = dappWalletCoinDao.selectByMemberId(memberCoinWithdrawEntity.getMemberId()); - Integer count = dappWalletCoinDao.addFrozenAndDelAvailableById(dappWalletCoinEntity.getId(),memberCoinWithdrawEntity.getAmount()); - if(1 != count){ - throw new FebsException("系统异常,联系开发人员"); - } + dappFundFlowEntity.setStatus(DappFundFlowEntity.WITHDRAW_STATUS_DISAGREE); + dappFundFlowDao.updateById(dappFundFlowEntity); + + dappWalletService.updateWalletCoinWithLock(memberCoinWithdrawEntity.getAmount(), memberCoinWithdrawEntity.getMemberId(), 1); + dappWalletService.updateWalletMineWithLock(memberCoinWithdrawEntity.getFeeAmount(), memberCoinWithdrawEntity.getMemberId(), 1); + + DappFundFlowEntity feeFlow = new DappFundFlowEntity(memberCoinWithdrawEntity.getMemberId(), memberCoinWithdrawEntity.getFeeAmount(), 7, 2, null, null); + dappFundFlowDao.insert(feeFlow); return new FebsResponse().success(); } } -- Gitblit v1.9.1