1
zj
2024-10-21 a54e43c6d57c82660d46b24b0720175314960d78
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
73
package project.monitor.pledgegalaxy.data.loadcache;
 
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.concurrent.ConcurrentHashMap;
 
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
 
import kernel.util.StringUtils;
import kernel.web.ApplicationUtil;
import project.monitor.pledgegalaxy.PledgeGalaxyConfig;
import project.monitor.pledgegalaxy.PledgeGalaxyOrder;
import project.monitor.pledgegalaxy.PledgeGalaxyRedisKeys;
import project.redis.RedisHandler;
 
/**
 * 质押2.0订单加载缓存
 */
public class PledgeGalaxyLoadCacheService {
    
    protected RedisHandler redisHandler;
    
    private static final Logger logger = LoggerFactory.getLogger(PledgeGalaxyLoadCacheService.class);
    
    public void loadcache() {
        loadPledgeGalaxyConfig();
        logger.info("完成PledgeGalaxyConfig数据加载redis");
        loadPledgeGalaxyOrder();
        logger.info("完成PledgeGalaxyOrder数据加载redis");
    }
    
    public void loadPledgeGalaxyConfig() {
        List<PledgeGalaxyConfig> list = ApplicationUtil.executeSelect(PledgeGalaxyConfig.class);
        for (PledgeGalaxyConfig config : list) {
            String partyId = config.getPartyId();            
            if (null == partyId || StringUtils.isEmptyString(partyId)) {
                partyId = "";
            }            
            redisHandler.setSync(PledgeGalaxyRedisKeys.PLEDGE_GALAXY_CONFIG + partyId, config);
        }
    }
    
    public void loadPledgeGalaxyOrder() {
        List<PledgeGalaxyOrder> list = ApplicationUtil.executeSelect(PledgeGalaxyOrder.class);
        Map<String, Map<String, PledgeGalaxyOrder>> cacheMap = new ConcurrentHashMap<>();
        for (PledgeGalaxyOrder order : list) {
            String partyId = order.getPartyId();
            String orderId = String.valueOf(order.getId());
            if (cacheMap.containsKey(partyId)) {
                Map<String, PledgeGalaxyOrder> map = cacheMap.get(partyId);
                map.put(orderId, order);
                cacheMap.put(partyId, map);
            } else {
                Map<String, PledgeGalaxyOrder> map = new ConcurrentHashMap<>();
                map.put(orderId, order);
                cacheMap.put(partyId, map);
            }
            
            redisHandler.setSync(PledgeGalaxyRedisKeys.PLEDGE_GALAXY_ORDER + orderId, order);
        }
    
        for (Entry<String, Map<String, PledgeGalaxyOrder>> entry : cacheMap.entrySet()) {
            redisHandler.setSync(PledgeGalaxyRedisKeys.PLEDGE_GALAXY_ORDER_PARTYID + entry.getKey(), entry.getValue());
        }
    }
    
    public void setRedisHandler(RedisHandler redisHandler) {
        this.redisHandler = redisHandler;
    }
}