package cc.mrbird.febs.dapp.service.impl; import cc.mrbird.febs.common.contants.AppContants; import cc.mrbird.febs.common.utils.RedisUtils; 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 cn.hutool.core.util.RandomUtil; import cn.hutool.core.util.StrUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import java.math.BigDecimal; import java.math.RoundingMode; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; /** * @author * @date 2022-03-24 **/ @Slf4j @Service @RequiredArgsConstructor public class DappSystemServiceImpl implements DappSystemService { private final DappSystemDao dappSystemDao; private final DappReturnRatioDao dappReturnRatioDao; private final RedisUtils redisUtils; private final String[] ADDRESS_PREFIX = {"T", "0x"}; @Override public Map findTotalInComeAndList() { DappMineDataEntity dataMine = dappSystemDao.selectMineDataForOne(); List> incomeList = new ArrayList<>(); for (int i = 0; i < 15; i++) { Map incomeItem = new HashMap<>(); int index = RandomUtil.randomInt(1, 10); String prefix = ADDRESS_PREFIX[index % 2]; String address = prefix + RandomUtil.randomString(22); incomeItem.put("address", StrUtil.hide(address, 8, address.length() - 6)); incomeItem.put("income", RandomUtil.randomBigDecimal(new BigDecimal("0.001"), new BigDecimal("2")).setScale(6, RoundingMode.HALF_DOWN)); incomeList.add(incomeItem); } Map result = new HashMap<>(); result.put("mineData", dataMine); result.put("userIncome", incomeList); return result; } @Override public Map globalSetting() { BigDecimal newPrice = (BigDecimal) redisUtils.get(AppContants.REDIS_KEY_ETH_NEW_PRICE); Integer changeFee = (Integer) redisUtils.get(AppContants.REDIS_KEY_CHANGE_FEE); List ratios = dappReturnRatioDao.selectList(null); Map result = new HashMap<>(); result.put("newPrice", newPrice); result.put("changeFee", changeFee); result.put("ratio", ratios); return result; } }