fix
Helius
2022-05-30 2ccbfa3ef257c53f9fbc80ab7e7459b09bbfa3d3
src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java
@@ -1,12 +1,18 @@
package cc.mrbird.febs.dapp.service.impl;
import cc.mrbird.febs.common.contants.AppContants;
import cc.mrbird.febs.common.utils.LoginUserUtil;
import cc.mrbird.febs.common.utils.RedisUtils;
import cc.mrbird.febs.dapp.chain.ChainEnum;
import cc.mrbird.febs.dapp.chain.ChainService;
import cc.mrbird.febs.dapp.dto.SystemDto;
import cc.mrbird.febs.dapp.entity.DappMemberEntity;
import cc.mrbird.febs.dapp.entity.DappMineDataEntity;
import cc.mrbird.febs.dapp.entity.DappReturnRatioEntity;
import cc.mrbird.febs.dapp.mapper.DappReturnRatioDao;
import cc.mrbird.febs.dapp.mapper.DappSystemDao;
import cc.mrbird.febs.dapp.service.DappSystemService;
import cc.mrbird.febs.dapp.vo.RedisTransferPoolVo;
import cn.hutool.core.util.RandomUtil;
import cn.hutool.core.util.StrUtil;
import lombok.RequiredArgsConstructor;
@@ -58,4 +64,40 @@
        result.put("ratio", ratios);
        return result;
    }
    @Override
    public SystemDto system() {
        DappMemberEntity member = LoginUserUtil.getAppUser();
        SystemDto system = new SystemDto();
        RedisTransferPoolVo transferPool = (RedisTransferPoolVo) redisUtils.get(AppContants.REDIS_KEY_TRANSFER_POOL_VOL);
        BigDecimal poolRemain = (BigDecimal) redisUtils.get(AppContants.REDIS_KEY_TRANSFER_POOL_VOL_REMAIN);
        // 买币数量
        system.setBuyTotal(transferPool.getTodayVol());
        system.setBuyRemain(poolRemain);
        BigDecimal balance = ChainService.getInstance(ChainEnum.BSC_TFC.name()).balanceOf(member.getAddress());
        Object o = redisUtils.get(AppContants.REDIS_KEY_USDT_OUT_LIMIT_REMAIN);
        BigDecimal remain;
        if (o == null) {
            remain = balance.multiply(BigDecimal.valueOf(0.3));
            redisUtils.set(AppContants.REDIS_KEY_USDT_OUT_LIMIT_REMAIN, remain);
        } else {
            remain = (BigDecimal) o;
        }
        // 卖币数量
        system.setSaleTotal(balance.multiply(BigDecimal.valueOf(0.3)));
        system.setSaleRemain(remain);
        BigDecimal usdtRemain = (BigDecimal) redisUtils.get(AppContants.REDIS_KEY_USDT_OUT_LIMIT_REMAIN);
        BigDecimal usdtTotal = (BigDecimal) redisUtils.get(AppContants.REDIS_KEY_USDT_OUT_LIMIT);
        // usdt数量
        system.setUsdtTotal(usdtTotal);
        system.setUsdtRemain(usdtRemain);
        system.setFeeRatio(BigDecimal.TEN);
        return system;
    }
}