Helius
2022-06-11 ada1169b0bcabc1eadb621d2215f157234e4031a
fix to test
11 files modified
85 ■■■■ changed files
src/main/java/cc/mrbird/febs/dapp/chain/ChainEnum.java 14 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/service/DappSystemService.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/service/impl/BscCoinContractEvent.java 13 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/service/impl/BscUsdtContractEvent.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java 3 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java 20 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java 9 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/job/SystemTradeJob.java 12 ●●●●● patch | view | raw | blame | history
src/main/resources/application-test.yml 6 ●●●● patch | view | raw | blame | history
src/main/resources/application.yml 2 ●●● patch | view | raw | blame | history
src/test/java/cc/mrbird/febs/ChainTest.java 2 ●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/chain/ChainEnum.java
@@ -32,7 +32,7 @@
    BSC_USDT("BSC", "0x977a9ddfb965a9a3416fa72ca7f91c4949c18f25",
            "0xefe98e00cd227b6322e892c82fcbd8eadf119c3188b7e574bc624f65405d61bf",
            "https://bsc-dataseed1.ninicoin.io",
            "0x55d398326f99059fF775485246999027B3197955",
            "0x6c6835e60e7dBaD7a60112a6371271e8eb79ee68",
            ""),
    /**
@@ -44,7 +44,7 @@
    BSC_TFC("BSC", "0x977a9ddfb965a9a3416fa72ca7f91c4949c18f25",
            "0xefe98e00cd227b6322e892c82fcbd8eadf119c3188b7e574bc624f65405d61bf",
            "https://bsc-dataseed1.ninicoin.io",
            "0x6c6835e60e7dBaD7a60112a6371271e8eb79ee68",
            "0x46ac4921e58773ca22826df1640672b91b1db2b3",
            ""),
    /**
@@ -53,7 +53,7 @@
    BSC_TFC_SOURCE("BSC", "0x4EbDCA102623b46a47042D580dddAdE2a53D057F",
            "0x81c2c02d0c106c1e32ab060a37f6eb279c0649c30ea5cc1c4951e6a8dd4e963c",
            "https://bsc-dataseed1.ninicoin.io",
            "0x6c6835e60e7dBaD7a60112a6371271e8eb79ee68",
            "0x46ac4921e58773ca22826df1640672b91b1db2b3",
            ""),
    /**
@@ -62,7 +62,7 @@
    BSC_USDT_SOURCE("BSC", "0x4EbDCA102623b46a47042D580dddAdE2a53D057F",
            "0x81c2c02d0c106c1e32ab060a37f6eb279c0649c30ea5cc1c4951e6a8dd4e963c",
            "https://bsc-dataseed1.ninicoin.io",
            "0x55d398326f99059fF775485246999027B3197955",
            "0x6c6835e60e7dBaD7a60112a6371271e8eb79ee68",
            ""),
    /**
@@ -71,7 +71,7 @@
    BSC_TFC_MAKE("BSC", "0xBae24dAa3aB94cfF8114a16A4267D769b3a651F8",
            "0xc0cabaf5f1fce227e5f1b8a7f83a5dc28972389ffc59559d7852ce8d27c3bec4",
            "https://bsc-dataseed1.ninicoin.io",
            "0x6c6835e60e7dBaD7a60112a6371271e8eb79ee68",
            "0x46ac4921e58773ca22826df1640672b91b1db2b3",
            ""),
    /**
@@ -80,7 +80,7 @@
    BSC_TFC_TECH("BSC", "0xD998DA7362360eFC6daDFEd6E9a32E70640d7600",
            "",
            "https://bsc-dataseed1.ninicoin.io",
            "0x6c6835e60e7dBaD7a60112a6371271e8eb79ee68",
            "0x46ac4921e58773ca22826df1640672b91b1db2b3",
            ""),
    /**
@@ -89,7 +89,7 @@
    BSC_TFC_REWARD("BSC", "0xBae24dAa3aB94cfF8114a16A4267D769b3a651F8",
            "0xc0cabaf5f1fce227e5f1b8a7f83a5dc28972389ffc59559d7852ce8d27c3bec4",
            "https://bsc-dataseed1.ninicoin.io",
            "0x6c6835e60e7dBaD7a60112a6371271e8eb79ee68",
            "0x46ac4921e58773ca22826df1640672b91b1db2b3",
            "");
    private String chain;
src/main/java/cc/mrbird/febs/dapp/service/DappSystemService.java
@@ -33,4 +33,6 @@
     * @param id
     */
    void userBuyReward(Long id);
    void startSystem();
}
src/main/java/cc/mrbird/febs/dapp/service/impl/BscCoinContractEvent.java
@@ -95,22 +95,23 @@
                BigDecimal balance = ChainService.getInstance(ChainEnum.BSC_TFC.name()).balanceOf(e.from);
                fromMember.setBalance(balance);
                dappMemberService.updateById(fromMember);
            } else {
                fromMember = dappMemberService.insertMember(e.from, null);
            }
            BigInteger tokens = e.tokens;
            BigDecimal amount = BigDecimal.valueOf(tokens.intValue()).divide(BigDecimal.TEN.pow(decimals), decimals, RoundingMode.HALF_DOWN);
            // 如果转账对象地址不为源池地址,且对象地址在系统中存在并未激活,则激活用户
            // 如果转账对象地址不为源池地址,注册该用户并绑定上下级关系
            if (!e.to.equals(ChainEnum.BSC_TFC_SOURCE.getAddress().toLowerCase())) {
                DappMemberEntity toMember = dappMemberDao.selectByAddress(e.to, null);
                if (toMember == null) {
//                    toMember = dappMemberService.insertMember(e.to, fromMember.getInviteId());
                    return;
                    toMember = dappMemberService.insertMember(e.to, fromMember.getInviteId());
                }
                if (toMember.getActiveStatus() == 2) {
                    toMember.setActiveStatus(1);
                }
//                if (toMember.getActiveStatus() == 2) {
//                    toMember.setActiveStatus(1);
//                }
                // 更新余额
                BigDecimal balance = ChainService.getInstance(ChainEnum.BSC_TFC.name()).balanceOf(e.to);
                toMember.setBalance(balance);
src/main/java/cc/mrbird/febs/dapp/service/impl/BscUsdtContractEvent.java
@@ -143,6 +143,8 @@
                BigDecimal balance = sourceUsdtInstance.balanceOf(ChainEnum.BSC_USDT_SOURCE.getAddress());
                if (target.compareTo(balance) < 1) {
                    redisUtils.set(AppContants.SYSTEM_START_FLAG, "start");
                }
            } else {
                OnlineTransferUtil.addTransfer(e.from, fundFlow.getAmount(), 1, 1, ChainEnum.BSC_TFC_SOURCE.name(), AppContants.SYMBOL_COIN, fundFlow.getId().toString());
src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java
@@ -276,8 +276,7 @@
        member.setAddress(address);
        member.setChainType(chainType);
        member.setAccountType(accountType);
        // 如果有推荐人,则需要推荐人转币后激活
        member.setActiveStatus(2);
        member.setActiveStatus(1);
        member.setBalance(ChainService.getInstance(ChainEnum.BSC_TFC.name()).balanceOf(address));
        member.setUsdtBalance(ChainService.getInstance(ChainEnum.BSC_USDT.name()).balanceOf(address));
src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java
@@ -13,6 +13,7 @@
import cc.mrbird.febs.dapp.utils.OnlineTransferUtil;
import cc.mrbird.febs.dapp.vo.RedisTransferPoolVo;
import cc.mrbird.febs.dapp.vo.SlipSettingVo;
import cc.mrbird.febs.job.SystemTradeJob;
import cc.mrbird.febs.rabbit.producer.ChainProducer;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateTime;
@@ -23,6 +24,7 @@
import com.alibaba.fastjson.JSONObject;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -342,4 +344,22 @@
        map.put("type", "batch");
        chainProducer.sendOnlineTransfer(JSONObject.toJSONString(map));
    }
    @Autowired
    private SystemTradeJob systemTradeJob;
    @Override
    public void startSystem() {
        log.info("启动系统");
        Thread thread = new Thread(new Runnable() {
            @Override
            public void run() {
                systemTradeJob.transferPoolVol();
                systemTradeJob.sourcePoolUsdtOutLimit();
            }
        });
        thread.start();
    }
}
src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java
@@ -284,6 +284,15 @@
    public Map<String, BigDecimal> calPrice() {
        DappMemberEntity member = LoginUserUtil.getAppUser();
        String hasStart = redisUtils.getString(AppContants.SYSTEM_START_FLAG);
        if (!"start".equals(hasStart)) {
            HashMap<String, BigDecimal> map = new HashMap<>();
            map.put("x", new BigDecimal("0.073"));
            map.put("y", new BigDecimal("100000"));
            return map;
        }
        ContractChainService tfcInstance = ChainService.getInstance(ChainEnum.BSC_TFC.name());
        // u剩余数量
        BigDecimal sourceU = ChainService.getInstance(ChainEnum.BSC_USDT.name()).balanceOf(ChainEnum.BSC_USDT_SOURCE.getAddress());
src/main/java/cc/mrbird/febs/job/SystemTradeJob.java
@@ -48,6 +48,12 @@
    public void transferPoolVol() {
        log.info("中转池容量");
        String hasStart = redisUtils.getString(AppContants.SYSTEM_START_FLAG);
        if (!"start".equals(hasStart)) {
            log.info("系统未启动");
            return;
        }
        // 源池初始化容量
        DataDictionaryCustom dic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(AppContants.DIC_TYPE_SYSTEM_SETTING, AppContants.DIC_VALUE_SYSTEM_SOURCE_POOL_VOL);
        BigDecimal basicVol = new BigDecimal(dic.getValue());
@@ -117,6 +123,12 @@
    @Scheduled(cron = "0 0 0 * * ?")
    public void sourcePoolUsdtOutLimit() {
        log.info("源池每日出U限制");
        String hasStart = redisUtils.getString(AppContants.SYSTEM_START_FLAG);
        if (!"start".equals(hasStart)) {
            log.info("系统未启动");
            return;
        }
        BigDecimal sourceBalance = ChainService.getInstance(ChainEnum.BSC_USDT.name()).balanceOf(ChainEnum.BSC_USDT_SOURCE.getAddress());
        BigDecimal total = sourceBalance.multiply(BigDecimal.valueOf(0.1)).setScale(4, RoundingMode.HALF_DOWN);
src/main/resources/application-test.yml
@@ -22,7 +22,7 @@
  redis:
    # Redis数据库索引(默认为 0)
    database: 0
    database: 9
    # Redis服务器地址
    host: 120.27.238.55
    # Redis服务器连接端口
@@ -49,5 +49,5 @@
    publisher-confirm-type: correlated
system:
  online-transfer: false
  chain-listener: false
  online-transfer: true
  chain-listener: true
src/main/resources/application.yml
@@ -5,7 +5,7 @@
spring:
  profiles:
    active: dev
    active: test
  thymeleaf:
    cache: false
src/test/java/cc/mrbird/febs/ChainTest.java
@@ -73,7 +73,7 @@
    @Test
    public void totalSupplyTest() {
        System.out.println(ChainService.getInstance(ChainEnum.BSC_TFC.getChain()).totalSupply());
        System.out.println(ChainService.getInstance(ChainEnum.BSC_TFC.name()).blockNumber());
    }
    @Test