From 148af6b2f57be264c84d0991237fbd7ddea491a4 Mon Sep 17 00:00:00 2001 From: yujian <yujian@123.com> Date: 星期一, 04 十一月 2019 09:55:55 +0800 Subject: [PATCH] Merge branch 'div' of ssh://193.112.35.168:29418/fanli-server into div --- fanli/src/main/java/com/yeshi/fanli/service/impl/config/ConfigServiceImpl.java | 67 ++++++++++++++++++++++++++++++++- 1 files changed, 64 insertions(+), 3 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/config/ConfigServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/config/ConfigServiceImpl.java index b2b7b79..6c687a2 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/config/ConfigServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/config/ConfigServiceImpl.java @@ -7,6 +7,7 @@ import org.springframework.cache.annotation.CacheEvict; import org.springframework.cache.annotation.Cacheable; +import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.yeshi.utils.entity.ProxyIP; @@ -19,6 +20,7 @@ import com.yeshi.fanli.service.inter.config.ConfigService; import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.StringUtil; +import com.yeshi.fanli.util.dataoke.DaTaoKeApiUtil; import net.sf.json.JSONArray; @@ -61,7 +63,24 @@ @Cacheable(value = "config", key = "#p0+'Str'") public String get(String key) { - List<Config> list = configMapper.listByKey(key); + List<Config> list = configMapper.listByKey(key, null, null); + if (list.size() == 0) { + return null; + } + String value = list.get(0).getValue(); + return value; + } + + @Cacheable(value = "config", key = "'getByVersion'+'-'+#key+'-'+#platform+'-'+#version ") + public String getByVersion(String key, String platform, int version) { + Integer minAndroidVersion = null; + Integer minIosVersion = null; + if ("android".equalsIgnoreCase(platform)) { + minAndroidVersion = version; + } else + minIosVersion = version; + + List<Config> list = configMapper.listByKey(key, minAndroidVersion, minIosVersion); if (list.size() == 0) { return null; } @@ -71,7 +90,7 @@ @Cacheable(value = "config", key = "#p0") public Config getConfig(String key) { - List<Config> list = configMapper.listByKey(key); + List<Config> list = configMapper.listByKey(key, null, null); if (list.size() == 0) { return null; } @@ -186,10 +205,52 @@ @Override public void save(Config config) { - List<Config> list = configMapper.listByKey(config.getKey()); + List<Config> list = configMapper.listByKey(config.getKey(), null, null); if (list == null || list.size() == 0) { configMapper.insertSelective(config); } } + @Cacheable(value = "config", key = "'getSearchDiscoveryKeys'") + @Override + public String getSearchDiscoveryKeys() { + List<Config> list = configMapper.listByKey("search_discovery_keys", null, null); + if (list == null || list.size() == 0) + return null; + + Config config = list.get(0); + if (config == null) + return null; + + // 鏇存柊 + updateSearchDiscoveryKeys(config); + + String value = config.getValue(); + return value; + } + + /** + * 鏇存柊鎼滅储鍙戠幇璇� + * + * @param config + */ + @Async + private void updateSearchDiscoveryKeys(Config config) { + long currentTime = java.lang.System.currentTimeMillis(); + + String createtime = config.getCreatetime(); + if (!StringUtil.isNullOrEmpty(createtime)) { + long diff = currentTime - Long.parseLong(createtime); + if (diff < 1000 * 60 * 60) + return; // 瓒呰繃涓�涓皬鏃舵洿鏂� + } + + String hotWords = DaTaoKeApiUtil.getHotWords(); + if (StringUtil.isNullOrEmpty(hotWords)) + return; + + config.setValue(hotWords); + config.setCreatetime(currentTime + ""); + configMapper.updateByPrimaryKeySelective(config); + } } -- Gitblit v1.8.0