fxi
wzy
2022-07-30 05c0dd66f75504c162022a9c21b76aeb44ee8498
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
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;
    }
}