package com.xcong.excoin.utils;
|
|
import cn.hutool.core.bean.BeanUtil;
|
import com.xcong.excoin.modules.platform.dao.TradeSettingDao;
|
import com.xcong.excoin.modules.platform.entity.PlatformSymbolsSkuEntity;
|
import com.xcong.excoin.modules.platform.entity.PlatformTradeSettingEntity;
|
import org.apache.commons.collections.CollectionUtils;
|
import org.springframework.stereotype.Component;
|
|
import javax.annotation.Resource;
|
import java.math.BigDecimal;
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
/**
|
* @author wzy
|
* @date 2020-05-28
|
**/
|
@Component
|
public class CacheSettingUtils {
|
|
|
/**
|
* 交易设置缓存Key
|
*/
|
private final static String TRADE_SETTING_KEY = "trade_setting_key";
|
|
/**
|
* 币种规格缓存key
|
*/
|
private final static String TRADE_SYMBOL_SKU_KEY = "trade_symbol_sku_key";
|
|
@Resource
|
private TradeSettingDao tradeSettingDao;
|
|
@Resource
|
private RedisUtils redisUtils;
|
|
|
/**
|
* 获取币种规格
|
*
|
* @param symbol
|
* @return
|
*/
|
public BigDecimal getSymbolSku(String symbol) {
|
Object hget = redisUtils.hget(TRADE_SYMBOL_SKU_KEY, symbol);
|
if (hget == null) {
|
List<PlatformSymbolsSkuEntity> symbolSkubySymbol = tradeSettingDao.findAllSymbolSkubySymbol();
|
Map<String, Object> map = new HashMap<String, Object>();
|
if (CollectionUtils.isNotEmpty(symbolSkubySymbol)) {
|
for (PlatformSymbolsSkuEntity symbolSku : symbolSkubySymbol) {
|
map.put(symbolSku.getName(), symbolSku.getLotnumber());
|
}
|
// 存入redis
|
redisUtils.hmset(TRADE_SYMBOL_SKU_KEY, map);
|
}
|
|
hget = redisUtils.hget(TRADE_SYMBOL_SKU_KEY, symbol);
|
}
|
|
return new BigDecimal(hget.toString());
|
}
|
|
/**
|
* 获取交易设置缓存
|
*
|
* @return
|
*/
|
public PlatformTradeSettingEntity getTradeSetting() {
|
Map<Object, Object> hmget = redisUtils.hmget(TRADE_SETTING_KEY);
|
|
if (hmget == null || hmget.size() == 0) {
|
PlatformTradeSettingEntity tradeSetting = tradeSettingDao.findTradeSetting();
|
redisUtils.hmset(TRADE_SETTING_KEY, BeanUtil.beanToMap(tradeSetting));
|
return tradeSetting;
|
}
|
return BeanUtil.mapToBean(hmget, PlatformTradeSettingEntity.class, true);
|
}
|
|
}
|