| | |
| | | package com.yeshi.fanli.service.impl.config;
|
| | |
|
| | | import java.util.ArrayList;
|
| | | import java.util.Date;
|
| | | import java.util.List;
|
| | |
|
| | |
| | |
|
| | | @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;
|
| | | }
|
| | |
| | |
|
| | | @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;
|
| | | }
|
| | |
| | |
|
| | | @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");
|
| | | 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) |
| | | if (diff < 1000 * 60 * 60)
|
| | | return; // 超过一个小时更新
|
| | | }
|
| | | |
| | |
|
| | | String hotWords = DaTaoKeApiUtil.getHotWords();
|
| | | if (StringUtil.isNullOrEmpty(hotWords))
|
| | | return ;
|
| | | |
| | | config.setValue(hotWords);
|
| | | return;
|
| | | JSONArray array = JSONArray.fromObject(hotWords);
|
| | | String reg = "^([\u4E00-\uFA29]|[\uE7C7-\uE7F3]|[a-zA-Z0-9_-]){1,20}$";
|
| | | List<String> list = new ArrayList<>();
|
| | | for (int i = 0; i < array.size(); i++) {
|
| | | String key = array.optString(i);
|
| | | if (key.matches(reg)) {
|
| | | list.add(key);
|
| | | }
|
| | | }
|
| | | config.setValue(new Gson().toJson(list));
|
| | | config.setCreatetime(currentTime + "");
|
| | | configMapper.updateByPrimaryKeySelective(config);
|
| | | }
|