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<String, Object> findTotalInComeAndList() {
|
DappMineDataEntity dataMine = dappSystemDao.selectMineDataForOne();
|
|
List<Map<String, Object>> incomeList = new ArrayList<>();
|
for (int i = 0; i < 15; i++) {
|
Map<String, Object> 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<String, Object> result = new HashMap<>();
|
result.put("mineData", dataMine);
|
result.put("userIncome", incomeList);
|
return result;
|
}
|
|
@Override
|
public Map<String, Object> globalSetting() {
|
BigDecimal newPrice = (BigDecimal) redisUtils.get(AppContants.REDIS_KEY_ETH_NEW_PRICE);
|
Integer changeFee = (Integer) redisUtils.get(AppContants.REDIS_KEY_CHANGE_FEE);
|
|
List<DappReturnRatioEntity> ratios = dappReturnRatioDao.selectList(null);
|
Map<String, Object> result = new HashMap<>();
|
result.put("newPrice", newPrice);
|
result.put("changeFee", changeFee);
|
result.put("ratio", ratios);
|
return result;
|
}
|
}
|