From ee1d39f11b9483b64a88029f1755a6e7166fea15 Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期日, 26 四月 2020 16:49:21 +0800 Subject: [PATCH] 等级显示问题 --- fanli/src/main/java/com/yeshi/fanli/service/impl/config/ConfigServiceImpl.java | 95 ++++++++++++++++++++++++++++++++++------------- 1 files changed, 68 insertions(+), 27 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 b4bd739..2e6ecd1 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 @@ -1,5 +1,6 @@ package com.yeshi.fanli.service.impl.config; +import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -16,6 +17,7 @@ import com.yeshi.fanli.dao.mybatis.ConfigMapper; import com.yeshi.fanli.entity.common.Config; import com.yeshi.fanli.entity.config.AppHomeFloatImg; +import com.yeshi.fanli.entity.system.ConfigKeyEnum; import com.yeshi.fanli.entity.xcx.XCXSettingConfig; import com.yeshi.fanli.service.inter.config.ConfigService; import com.yeshi.fanli.util.Constant; @@ -29,6 +31,7 @@ @Resource private ConfigMapper configMapper; + @Cacheable(value = "config") public List<Config> getAllList() { @@ -50,6 +53,9 @@ @Transactional public void update(List<Config> list) { for (Config config : list) { + if (config.getValue() == null) { + config.setValue(""); + } config.setCreatetime(new Date().getTime() + ""); configMapper.updateByPrimaryKeySelective(config); } @@ -57,13 +63,33 @@ @CacheEvict(value = "config", allEntries = true) public void update(Config config) { + if (config.getValue() == null) + config.setValue(""); + config.setCreatetime(new Date().getTime() + ""); configMapper.updateByPrimaryKeySelective(config); } @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; } @@ -73,7 +99,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; } @@ -85,7 +111,7 @@ if (version == null) return false; - String value = get("xcx_setting"); + String value = get(ConfigKeyEnum.xcxSetting.getKey()); if (StringUtil.isNullOrEmpty(value)) return false; JSONArray array = JSONArray.fromObject(value); @@ -103,7 +129,7 @@ @Override public XCXSettingConfig getXCXInfoByGhId(String ghId) { - String value = get("xcx_setting"); + String value = get(ConfigKeyEnum.xcxSetting.getKey()); JSONArray array = JSONArray.fromObject(value); for (int i = 0; i < array.size(); i++) { XCXSettingConfig config = new Gson().fromJson(array.optJSONObject(i).toString(), XCXSettingConfig.class); @@ -116,7 +142,7 @@ @Override public String getH5Host() { - String value = get("h5_url"); + String value = get(ConfigKeyEnum.h5Url.getKey()); String[] sts = value.split(","); value = sts[(int) (sts.length * Math.random())]; return value.trim(); @@ -125,7 +151,7 @@ @Cacheable(value = "config", key = "'iosOnLining'+#version") @Override public boolean iosOnLining(int version) { - String value = get("ios_onling_version"); + String value = get(ConfigKeyEnum.iosOnlingVersion.getKey()); if (StringUtil.isNullOrEmpty(value)) return false; return version >= Integer.parseInt(value); @@ -134,7 +160,7 @@ @Cacheable(value = "config", key = "'isConvertTaoBaoLinkInServer'") @Override public boolean isConvertTaoBaoLinkInServer() { - String value = get("convert_taobao_link_in_server"); + String value = get(ConfigKeyEnum.convertTaoBaoLinkInServer.getKey()); if (StringUtil.isNullOrEmpty(value)) return false; if ("1".equalsIgnoreCase(value.trim())) @@ -146,7 +172,7 @@ @Cacheable(value = "config", key = "'getAppHomeFloatImg'") @Override public AppHomeFloatImg getAppHomeFloatImg() { - String value = get("app_float_img"); + String value = get(ConfigKeyEnum.appFloatImg.getKey()); if (!StringUtil.isNullOrEmpty(value)) { Gson gson = new Gson(); AppHomeFloatImg appHomeFloatImg = gson.fromJson(value, AppHomeFloatImg.class); @@ -160,7 +186,7 @@ @Cacheable(value = "config", key = "'getHomeWEEXUrl'") @Override public String getHomeWEEXUrl() { - String value = get("home_weex_url"); + String value = get(ConfigKeyEnum.homeWeexUrl.getKey()); return value; } @@ -171,7 +197,7 @@ @Override public ProxyIP getTaoBaoProxyIP() { - String value = get("taobao_proxy_ip"); + String value = get(ConfigKeyEnum.taobaoProxyIP.getKey()); try { String[] sts = value.split(":"); return new ProxyIP(sts[0], Integer.parseInt(sts[1])); @@ -182,60 +208,75 @@ @Override public String getAppHomeFloatNotifyImg() { - - return get("home_float_notify_img"); + return get(ConfigKeyEnum.homeFloatNotifyImg.getKey()); } @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(ConfigKeyEnum.searchDiscoveryKeys.getKey(), 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); } + + + @Override + public Config getConfigBykeyNoCache(String key) { + List<Config> list = configMapper.listByKey(key, null, null); + if (list.size() == 0) { + return null; + } + return list.get(0); + } } -- Gitblit v1.8.0