fix
Helius
2022-08-30 95324a4bf873ad138cc6315d59f7f2911ff78d18
src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java
@@ -399,7 +399,6 @@
        if (CollUtil.isEmpty(allMembers)) {
            return;
        }
        DataDictionaryCustom miniHoldCoin = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(AppContants.DIC_TYPE_SYSTEM_SETTING, AppContants.DIC_VALUE_MINI_HOLD_COIN_LIMIT);
        String batchNo = RandomUtil.randomString(32);
        ContractChainService instance = ChainService.getInstance(ChainEnum.BSC_TFC.name());
@@ -409,7 +408,9 @@
            }
            BigDecimal balance = instance.balanceOf(member.getAddress());
            if (balance.compareTo(new BigDecimal(miniHoldCoin.getValue())) < 1) {
            // 判断用户是否满足持币价值达80U
            if (!hasProfit(member.getAddress())) {
                continue;
            }
@@ -534,15 +535,15 @@
    public void startSystem() {
        log.info("启动系统");
        Thread thread = new Thread(new Runnable() {
            @Override
            public void run() {
                transferPoolSetting();
                sourcePoolUsdtOutLimitSetting();
            }
        });
//        Thread thread = new Thread(new Runnable() {
//            @Override
//            public void run() {
//            }
//        });
        thread.start();
        transferPoolSetting();
        sourcePoolUsdtOutLimitSetting();
//        thread.start();
    }
    // 最低容量(百分比)
@@ -640,14 +641,7 @@
            lastDayPrice = new BigDecimal(dailyPrice);
        }
        ContractChainService tfcInstance = ChainService.getInstance(ChainEnum.BSC_TFC_SOURCE.name());
        // 源池币种数量
        BigDecimal tfcBalance = tfcInstance.balanceOf(ChainEnum.BSC_TFC_SOURCE.getAddress());
        // 源池USDT数量
        BigDecimal usdtBalance = ChainService.getInstance(ChainEnum.BSC_USDT_SOURCE.name()).balanceOf(ChainEnum.BSC_USDT_SOURCE.getAddress());
        BigDecimal todayPrice = tfcBalance.divide(usdtBalance, tfcInstance.decimals(), RoundingMode.HALF_UP);
        BigDecimal todayPrice = newestPrice();
        DappSymbolDailyPriceEntity dailyPriceEntity = new DappSymbolDailyPriceEntity();
        dailyPriceEntity.setPrice(todayPrice);
@@ -732,8 +726,14 @@
    @Override
    public BigDecimal newestPrice() {
        if (systemHasStart()) {
            String dailyPrice = redisUtils.getString(AppContants.REDIS_KEY_SYMBOL_DAILY_PRICE);
            return StrUtil.isNotBlank(dailyPrice) ? new BigDecimal(dailyPrice) : BigDecimal.ZERO;
            ContractChainService tfcInstance = ChainService.getInstance(ChainEnum.BSC_TFC_SOURCE.name());
            // 源池币种数量
            BigDecimal tfcBalance = tfcInstance.balanceOf(ChainEnum.BSC_TFC_SOURCE.getAddress());
            // 源池USDT数量
            BigDecimal usdtBalance = ChainService.getInstance(ChainEnum.BSC_USDT_SOURCE.name()).balanceOf(ChainEnum.BSC_USDT_SOURCE.getAddress());
            return tfcBalance.divide(usdtBalance, tfcInstance.decimals(), RoundingMode.HALF_UP);
        } else {
            return new BigDecimal("0.05");
        }