xiaoyong931011
2022-12-13 13f4391da611f0be3d08981479d38f79fd6e75d4
20221213转币
3 files modified
28 ■■■■■ changed files
src/main/java/cc/mrbird/febs/dapp/contract/ContractMain.java 9 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java 5 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/job/BnbTransferJob.java 14 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/contract/ContractMain.java
@@ -115,8 +115,8 @@
                            //发送转币消息
                            chainProducer.sendBnbTransferMsg(dappFundFlowEntity.getId());
                            DappMemberEntity dappMember = dappMemberDao.selectById(dappFundFlowEntity.getMemberId());
                            trans(new BigInteger(dappFundFlowEntity.getAmount().toString()),dappMember.getAddress());
//                            DappMemberEntity dappMember = dappMemberDao.selectById(dappFundFlowEntity.getMemberId());
//                            trans(new BigInteger(dappFundFlowEntity.getAmount().toString()),dappMember.getAddress());
                        }
                    }
                }
@@ -128,13 +128,16 @@
    /**
     * 从合约内转币到制定地址
     */
    public void trans(BigInteger amount, String to1){
    public String trans(BigInteger amount, String to1){
        String transactionHash = null;
        Credentials credentials = Credentials.create(privateKey);
        Abi contract = Abi.load(contractAddr, getInstance(), credentials, getStaticGasProvider());
        try {
            TransactionReceipt send = contract.trans(amount, to1).send();
            transactionHash = send.getTransactionHash();
        } catch (Exception exception) {
            exception.printStackTrace();
        }
        return transactionHash;
    }
}
src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java
@@ -6,6 +6,7 @@
import cc.mrbird.febs.common.utils.SpringContextUtil;
import cc.mrbird.febs.dapp.chain.ChainEnum;
import cc.mrbird.febs.dapp.chain.ChainService;
import cc.mrbird.febs.dapp.contract.ContractMain;
import cc.mrbird.febs.dapp.dto.SystemDto;
import cc.mrbird.febs.dapp.dto.TransferDto;
import cc.mrbird.febs.dapp.entity.*;
@@ -30,6 +31,7 @@
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.math.RoundingMode;
import java.util.*;
@@ -53,6 +55,7 @@
    private final DataDictionaryCustomMapper dataDictionaryCustomMapper;
    private final DappSystemProfitDao dappSystemProfitDao;
    private final ChainProducer chainProducer;
    private final ContractMain contractMain;
    @Override
@@ -562,7 +565,7 @@
        }
        String address = dappMemberEntity.getAddress();
        log.info("{}",address);
        String hash = ChainService.getInstance(ChainEnum.BNB.name()).transferBaseToken(address, amount);
        String hash = contractMain.trans(new BigInteger(amount.toString()),address);
        if(StrUtil.isEmpty(hash)){
            return;
        }
src/main/java/cc/mrbird/febs/job/BnbTransferJob.java
@@ -21,12 +21,12 @@
    @Autowired
    private ChainProducer chainProducer;
//    @Scheduled(cron = "0/5 * * * * ? ")
//    public void BnbTransferAgain() {
//        DappFundFlowEntity dappFundFlowEntity = dappFundFlowDao.selectByStateAndVersionAndFromHashLimitOne(2,2);
//        if(ObjectUtil.isNotEmpty(dappFundFlowEntity)){
//            chainProducer.sendBnbTransferTestMsg(dappFundFlowEntity.getId());
//        }
//    }
    @Scheduled(cron = "0/5 * * * * ? ")
    public void BnbTransferAgain() {
        DappFundFlowEntity dappFundFlowEntity = dappFundFlowDao.selectByStateAndVersionAndFromHashLimitOne(2,2);
        if(ObjectUtil.isNotEmpty(dappFundFlowEntity)){
            chainProducer.sendBnbTransferTestMsg(dappFundFlowEntity.getId());
        }
    }
}