xiaoyong931011
2022-12-15 3058676b12d695e34e7add83165fb64f2840baed
src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java
@@ -29,6 +29,7 @@
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.web3j.utils.Convert;
import java.math.BigDecimal;
import java.math.BigInteger;
@@ -353,22 +354,24 @@
                DataDictionaryCustom memberLevelSet = dataDictionaryCustomMapper.selectDicDataByTypeAndCode("MEMBER_LEVEL", accountType);
                BigDecimal memberLevel = new BigDecimal(memberLevelSet.getValue());
                BigDecimal memberLevelProfit = levelProfitTotal.multiply(profit).multiply(memberLevel);
//                BigDecimal memberLevelProfit = levelProfitTotal.multiply(profit).multiply(memberLevel);
                BigDecimal memberLevelProfit = profit.multiply(memberLevel);
                DappFundFlowEntity fundFlow = new DappFundFlowEntity(refererMember.getId(), memberLevelProfit, 4, 1, BigDecimal.ZERO,null,dappSystemProfit.getId());
                dappFundFlowDao.insert(fundFlow);
                //发送转币消息
//                chainProducer.sendBnbTransferMsg(fundFlow.getId());
                chainProducer.sendBnbTransferMsg(fundFlow.getId());
                systemProfitTotal = systemProfitTotal.add(memberLevelProfit);
            }
        }
        //如果还有剩余给技术方
        if(levelProfitTotal.compareTo(systemProfitTotal) > 0){
            BigDecimal avaProfit = levelProfitTotal.subtract(systemProfitTotal);
            DappFundFlowEntity fundFlow = new DappFundFlowEntity(1L, avaProfit, 5, 1, BigDecimal.ZERO,null,dappSystemProfit.getId());
            DappFundFlowEntity fundFlow = new DappFundFlowEntity(2L, avaProfit, 5, 1, BigDecimal.ZERO,null,dappSystemProfit.getId());
            dappFundFlowDao.insert(fundFlow);
            //发送转币消息
//            chainProducer.sendBnbTransferMsg(fundFlow.getId());
            chainProducer.sendBnbTransferMsg(fundFlow.getId());
        }
        dappSystemProfitDao.updateLevelProfitById(DappSystemProfit.ENUM_YES,dappSystemProfit.getId());
@@ -422,7 +425,7 @@
        DappSystemProfit dappSystemProfitNow = dappSystemProfitDao.selectByIdForUpdate(dappSystemProfit.getId(),DappSystemProfit.STATE_IN);
        dappSystemProfitDao.updateStateById(DappSystemProfit.STATE_OUT,dappSystemProfitNow.getId());
        //todo 直接拿走0.95ge
        // 直接拿走0.95ge
        DataDictionaryCustom investAmountProfitSet = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.INVEST_AMOUNT_PROFIT.getType(), DataDictionaryEnum.INVEST_AMOUNT_PROFIT.getCode());
        BigDecimal investAmountProfit = new BigDecimal(investAmountProfitSet.getValue());
@@ -547,12 +550,15 @@
    @Override
    public void bnbTransferTest(Long id) {
        DappFundFlowEntity dappFundFlow = dappFundFlowDao.selectById(id);
        if(ObjectUtil.isEmpty(dappFundFlow)){
            return;
        }
        if(DappFundFlowEntity.WITHDRAW_STATUS_ING != dappFundFlow.getIsReturn()){
            return;
        }
        //用户已经加入动能队列
        DappSystemProfit dappSystemProfit = dappSystemProfitDao.selectById(dappFundFlow.getSystemProfitId()==null ? 0L : dappFundFlow.getSystemProfitId());
        if(ObjectUtil.isEmpty(dappSystemProfit)){
            return;
        }
        if(ObjectUtil.isEmpty(dappFundFlow)){
            return;
        }
        //金额
@@ -565,7 +571,10 @@
        }
        String address = dappMemberEntity.getAddress();
        log.info("{}",address);
        String hash = contractMain.trans(new BigInteger(amount.toString()),address);
//        BigInteger bigInteger = new BigInteger(Convert.toWei("0.000001", Convert.Unit.ETHER).setScale(0).toString());
        BigInteger bigInteger = new BigInteger(Convert.toWei(amount.toString(), Convert.Unit.ETHER).setScale(0).toString());
        log.info("{}",bigInteger);
        String hash = contractMain.trans(bigInteger,address);
        if(StrUtil.isEmpty(hash)){
            return;
        }