Helius
2022-06-09 c7a9e0e2dce79c1edaab846ef359ff4405edfdc0
src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java
@@ -15,6 +15,9 @@
import cc.mrbird.febs.dapp.vo.SlipSettingVo;
import cc.mrbird.febs.rabbit.producer.ChainProducer;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUnit;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.RandomUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONObject;
@@ -108,13 +111,17 @@
        ContractChainService instance = ChainService.getInstance(ChainEnum.BSC_TFC.name());
        BigDecimal balance = instance.balanceOf(member.getAddress());
        Object o = redisUtils.get(AppContants.REDIS_KEY_COIN_REMAIN + member.getAddress());
        BigDecimal coinTotal = balance.multiply(BigDecimal.valueOf(0.3)).setScale(instance.decimals(), RoundingMode.HALF_DOWN);
        BigDecimal remain;
        if (o == null) {
            DateTime tomorrow = DateUtil.beginOfDay(DateUtil.tomorrow());
            long time = DateUtil.between(new Date(), tomorrow, DateUnit.SECOND, true);
            remain = coinTotal;
            redisUtils.set(AppContants.REDIS_KEY_COIN_REMAIN + member.getAddress(), remain);
            redisUtils.set(AppContants.REDIS_KEY_COIN_REMAIN + member.getAddress(), remain, time);
        } else {
            remain = (BigDecimal) o;
        }
@@ -188,6 +195,9 @@
                OnlineTransferUtil.addTransfer(parent.getAddress(), total, fundflow.getType(), 1, ChainEnum.BSC_TFC_SOURCE.name(), AppContants.SYMBOL_COIN, batchNo);
                DappFundFlowEntity distribFlow = new DappFundFlowEntity(parent.getId(), total, 4, 2, BigDecimal.ZERO);
                dappFundFlowDao.insert(distribFlow);
                nodeAmount = nodeAmount.subtract(total);
                i++;
            }
@@ -207,7 +217,6 @@
    @Override
    public void mining() {
        log.info("挖矿");
        ContractChainService contract = ChainService.getInstance(ChainEnum.BSC_TFC.name());
        // 发行量
        BigInteger totalSupply = contract.totalSupply();