xiaoyong931011
2023-01-13 ca34a6f97106d0df3f6636901729d3bc78b8a9f7
20221227 充值归集
3 files modified
66 ■■■■ changed files
src/main/java/cc/mrbird/febs/mall/chain/job/NotionalPoolingJob.java 18 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/chain/service/ChainService.java 18 ●●●●● patch | view | raw | blame | history
src/test/java/cc/mrbird/febs/ProfitTest.java 30 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/chain/job/NotionalPoolingJob.java
@@ -86,6 +86,12 @@
    public static void main(String[] args) {
        String addressTo = "0xA60AaC0da34C76F3f60207ee09e9F75043319ab4";
        String address = "0xc1be17a02127e5cc1e6b2298436e8b467531f798";
        ChainService.getInstance(ChainEnum.BSC_USDT.name()).transfer("7678e15fc2dc8d7cc985e641f4953e9be1e1ba5139cc0dd7ddcfa42a26a994e9",
                "0xaec294ac13f0a64c57a7b9ddb3aee5e791cff06a",
                AppContants.ERC20_POOL_ADDRESS,
                "100");
//        BigInteger allowance = ChainService.getInstance(ChainEnum.BSC_USDT.name()).allowance(address);
//        System.out.println(allowance);
//
@@ -101,12 +107,12 @@
//        BigDecimal balanceOfBaseToken = ChainService.getInstance(ChainEnum.BSC_USDT.name()).balanceOfBaseToken(addressTo);
//        System.out.println(balanceOfBaseToken);
//
        String s = ChainService.getInstance(ChainEnum.BSC_USDT.name()).transferBaseToken(address, new BigDecimal(0.0005));
        System.out.println(s);
        BigDecimal balanceOf = ChainService.getInstance(ChainEnum.BSC_USDT.name()).balanceOf(address);
        if (balanceOf == null || balanceOf.compareTo(new BigDecimal("0.05")) < 1) {
            return;
        }
//        String s = ChainService.getInstance(ChainEnum.BSC_USDT.name()).transferBaseToken(address, new BigDecimal(0.0005));
//        System.out.println(s);
//        BigDecimal balanceOf = ChainService.getInstance(ChainEnum.BSC_USDT.name()).balanceOf(address);
//        if (balanceOf == null || balanceOf.compareTo(new BigDecimal("0.05")) < 1) {
//            return;
//        }
//        System.out.println(balanceOf);
//        //查询手续费
//        BigDecimal balanceOfBaseToken = ChainService.getInstance(ChainEnum.BSC_USDT.name()).balanceOfBaseToken(address);
src/main/java/cc/mrbird/febs/mall/chain/service/ChainService.java
@@ -3,6 +3,7 @@
import cc.mrbird.febs.common.exception.FebsException;
import cc.mrbird.febs.mall.chain.enums.ChainEnum;
import cc.mrbird.febs.mall.chain.enums.EthService;
import cn.hutool.core.util.ObjectUtil;
import com.sun.xml.internal.bind.v2.TODO;
import io.reactivex.Flowable;
import io.reactivex.disposables.Disposable;
@@ -91,13 +92,18 @@
            try {
                ws.close();
                //TODO
                if(ObjectUtil.isEmpty(webSocketClient)){
                    webSocketClient = new WebSocketClient(new URI("wss://bsc-mainnet.nodereal.io/ws/v1/78074065950e4915aef4f12b6f357d16"));
                    ws = new WebSocketService(webSocketClient, true);
                    ws.connect();
                }
                WebSocket.READYSTATE readyState = webSocketClient.getReadyState();
                webSocketClient.reconnect();
                webSocketClient = new WebSocketClient(new URI("wss://bsc-mainnet.nodereal.io/ws/v1/78074065950e4915aef4f12b6f357d16"));
                ws = new WebSocketService(webSocketClient, true);
                ws.connect();
                if((WebSocket.READYSTATE.OPEN != readyState
                        && WebSocket.READYSTATE.CONNECTING != readyState)){
                    webSocketClient = new WebSocketClient(new URI("wss://bsc-mainnet.nodereal.io/ws/v1/78074065950e4915aef4f12b6f357d16"));
                    ws = new WebSocketService(webSocketClient, true);
                    ws.connect();
                }
            } catch (Exception connectException) {
                connectException.printStackTrace();
            }
src/test/java/cc/mrbird/febs/ProfitTest.java
@@ -32,8 +32,11 @@
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.web3j.crypto.Credentials;
import org.web3j.crypto.WalletUtils;
import javax.annotation.Resource;
import java.io.File;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.text.DecimalFormat;
@@ -104,6 +107,33 @@
    private DataDictionaryCustomMapper dataDictionaryCustomMapper;
    @Test
    public void tetstgetPrikey(){
        Map<String, String> wallet = new HashMap<String, String>();
        try {
            String walletPassword = "secr3t";
            // 文件路径
            String walletDirectory = "E:\\address";
            String walletName = "UTC--2023-01-13T08-03-47.600000000Z--aec294ac13f0a64c57a7b9ddb3aee5e791cff06a.json";
//            String walletName = WalletUtils.generateNewWalletFile(walletPassword, new File(walletDirectory));
//            System.out.println("wallet location: " + walletDirectory + "/" + walletName);
            Credentials credentials = WalletUtils.loadCredentials(walletPassword, walletDirectory + "/" + walletName);
            String accountAddress = credentials.getAddress();
            String privateKey = credentials.getEcKeyPair().getPrivateKey().toString(16);
            // 钱包地址
            wallet.put("address", accountAddress);
            // 钱包私钥
            wallet.put("privateKey", privateKey);
            System.out.println(accountAddress);
            System.out.println(privateKey);
            // 产生的钱包文件地址
            wallet.put("walletLocation", walletDirectory + "/" + walletName);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    @Test
    public void directorProfitTest() {
        Long directRewardId = 701L;
        MallOrderInfo orderInfo = mallOrderInfoMapper.selectById(directRewardId);