From d1f26741bddf6f512d62c0100d42c52be8d37e76 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期六, 06 二月 2021 15:35:40 +0800
Subject: [PATCH] 工具类优化

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/config/ConfigServiceImpl.java |  641 +++++++++++++++++++++++++++++----------------------------
 1 files changed, 326 insertions(+), 315 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 aa3ad81..22ae9c7 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,315 +1,326 @@
-package com.yeshi.fanli.service.impl.config;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.List;
-
-import javax.annotation.Resource;
-
-import com.yeshi.fanli.entity.SystemEnum;
-import com.yeshi.fanli.util.ThreadUtil;
-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;
-
-import com.google.gson.Gson;
-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.log.LogHelper;
-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;
-
-@Service
-public class ConfigServiceImpl implements ConfigService {
-
-    @Resource
-    private ConfigMapper configMapper;
-
-
-    @Override
-    @Cacheable(value = "config")
-    public List<Config> getAllList(SystemEnum system) {
-        return configMapper.listAll(system);
-    }
-
-    @Override
-    public List<Config> listObjects(String key, int page, SystemEnum system) {
-        int start = (page - 1) * Constant.PAGE_SIZE;
-        return configMapper.listSearchByName(key, start, Constant.PAGE_SIZE, system);
-    }
-
-    @Override
-    public int getCount(String key, SystemEnum system) {
-        return (int) configMapper.countSearchByName(key, system);
-    }
-
-    @CacheEvict(value = "config", allEntries = true)
-    @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);
-        }
-    }
-
-    @CacheEvict(value = "config", allEntries = true)
-    public void update(Config config) {
-        if (config.getValue() == null)
-            config.setValue("");
-
-        config.setCreatetime(new Date().getTime() + "");
-        configMapper.updateByPrimaryKeySelective(config);
-    }
-
-    @Override
-    @Cacheable(value = "config", key = "'getValue-'+#key+'-'+#system")
-    public String getValue(String key, SystemEnum system) {
-        List<Config> list = configMapper.listByKey(key, null, null,system);
-        if (list.size() == 0) {
-            return null;
-        }
-        String value = list.get(0).getValue();
-        return value;
-    }
-
-    @Cacheable(value = "config", key = "'getByVersion'+'-'+#key+'-'+#platform+'-'+#version+'-'+#system ")
-    public String getByVersion(String key, String platform, int version, SystemEnum system) {
-        Integer minAndroidVersion = null;
-        Integer minIosVersion = null;
-        if ("android".equalsIgnoreCase(platform)) {
-            minAndroidVersion = version;
-        } else
-            minIosVersion = version;
-
-        List<Config> list = configMapper.listByKey(key, minAndroidVersion, minIosVersion,system);
-        if (list.size() == 0) {
-            return null;
-        }
-        String value = list.get(0).getValue();
-        return value;
-    }
-
-    @Cacheable(value = "config", key = "'getConfig-'+ #key+'-'+#system")
-    public Config getConfig(String key, SystemEnum system) {
-        List<Config> list = configMapper.listByKey(key, null, null,system);
-        if (list.size() == 0) {
-            return null;
-        }
-        return list.get(0);
-    }
-
-    @Override
-    public boolean xcxShow(String appId, Integer version,SystemEnum system) {
-        if (version == null)
-            return false;
-
-        String value = getValue(ConfigKeyEnum.xcxSetting.getKey(),system);
-        if (StringUtil.isNullOrEmpty(value))
-            return false;
-        JSONArray array = JSONArray.fromObject(value);
-        for (int i = 0; i < array.size(); i++) {
-            XCXSettingConfig config = new Gson().fromJson(array.optJSONObject(i).toString(), XCXSettingConfig.class);
-            if (config.getAppId().equalsIgnoreCase(appId)) {
-                if (version > config.getVersion())
-                    return config.isShow();
-                else
-                    return true;
-            }
-        }
-        return false;
-    }
-
-    @Override
-    public XCXSettingConfig getXCXInfoByGhId(String ghId,SystemEnum system) {
-        String value = getValue(ConfigKeyEnum.xcxSetting.getKey(),system);
-        JSONArray array = JSONArray.fromObject(value);
-        for (int i = 0; i < array.size(); i++) {
-            XCXSettingConfig config = new Gson().fromJson(array.optJSONObject(i).toString(), XCXSettingConfig.class);
-            if (config.getGhId().equalsIgnoreCase(ghId)) {
-                return config;
-            }
-        }
-        return null;
-    }
-
-    @Override
-    public String getH5Host(SystemEnum system) {
-        String value = getValue(ConfigKeyEnum.h5Url.getKey(),system);
-        String[] sts = value.split(",");
-        value = sts[(int) (sts.length * Math.random())];
-        return value.trim();
-    }
-
-    @Cacheable(value = "config", key = "'iosOnLining'+#version+'-'+#system")
-    @Override
-    public boolean iosOnLining(int version, SystemEnum system) {
-        String value = getValue(ConfigKeyEnum.iosOnlingVersion.getKey(),system);
-        if (StringUtil.isNullOrEmpty(value))
-            return false;
-        return version >= Integer.parseInt(value);
-    }
-
-    @Cacheable(value = "config", key = "'isConvertTaoBaoLinkInServer-'+#system")
-    @Override
-    public boolean isConvertTaoBaoLinkInServer( SystemEnum system) {
-        String value = getValue(ConfigKeyEnum.convertTaoBaoLinkInServer.getKey(),system);
-        if (StringUtil.isNullOrEmpty(value))
-            return false;
-        if ("1".equalsIgnoreCase(value.trim()))
-            return true;
-        else
-            return false;
-    }
-
-    @Cacheable(value = "config", key = "'getAppHomeFloatImg-'+#system")
-    @Override
-    public AppHomeFloatImg getAppHomeFloatImg( SystemEnum system) {
-        String value = getValue(ConfigKeyEnum.appFloatImg.getKey(),system);
-        if (!StringUtil.isNullOrEmpty(value)) {
-            Gson gson = new Gson();
-            AppHomeFloatImg appHomeFloatImg = gson.fromJson(value, AppHomeFloatImg.class);
-            if (appHomeFloatImg.getShow())
-                return appHomeFloatImg;
-        }
-
-        return null;
-    }
-
-
-
-    @Cacheable(value = "config", key = "'isRobotCloudOpen'+'-'+#key+'-'+#platform+'-'+#version+'-'+#system")
-    @Override
-    public boolean isRobotCloudOpen(String key, String platform, String version, SystemEnum system) {
-        String value = getByVersion(key, platform, Integer.parseInt(version),system);
-        if (StringUtil.isNullOrEmpty(value))
-            return false;
-        if ("1".equalsIgnoreCase(value.trim())) {
-            return true;
-        } else {
-            return false;
-        }
-    }
-
-
-    @Cacheable(value = "config", key = "'getTestUsers'")
-    @Override
-    public List<String> getTestUsers( SystemEnum system) {
-        String value = getValue(ConfigKeyEnum.testUserArray.getKey(),system);
-        if (StringUtil.isNullOrEmpty(value))
-            return null;
-        try {
-            return Arrays.asList(value.split(","));
-        } catch (Exception e) {
-            LogHelper.errorDetailInfo(e);
-        }
-        return null;
-    }
-
-
-    @Override
-    public Config getConfig(long id) {
-        return configMapper.selectByPrimaryKey(id);
-    }
-
-    @Override
-    public ProxyIP getTaoBaoProxyIP( SystemEnum system) {
-        String value = getValue(ConfigKeyEnum.taobaoProxyIP.getKey(),system);
-        try {
-            String[] sts = value.split(":");
-            return new ProxyIP(sts[0], Integer.parseInt(sts[1]));
-        } catch (Exception e) {
-        }
-        return null;
-    }
-
-    @Override
-    public String getAppHomeFloatNotifyImg( SystemEnum system) {
-        return getValue(ConfigKeyEnum.homeFloatNotifyImg.getKey(),system);
-    }
-
-    @Override
-    public void save(Config config) {
-        List<Config> list = configMapper.listByKey(config.getKey(), null, null,config.getSystem());
-        if (list == null || list.size() == 0) {
-            configMapper.insertSelective(config);
-        }
-    }
-
-    @Cacheable(value = "config", key = "'getSearchDiscoveryKeys'")
-    @Override
-    public String getSearchDiscoveryKeys( SystemEnum system) {
-        List<Config> list = configMapper.listByKey(ConfigKeyEnum.searchDiscoveryKeys.getKey(), null, null,system);
-        if (list == null || list.size() == 0)
-            return null;
-
-        Config config = list.get(0);
-        if (config == null)
-            return null;
-
-        ThreadUtil.run(new Runnable() {
-            @Override
-            public void run() {
-                // 鏇存柊
-                updateSearchDiscoveryKeys(config);
-            }
-        });
-        String value = config.getValue();
-        return value;
-    }
-
-    /**
-     * 鏇存柊鎼滅储鍙戠幇璇�
-     *
-     * @param config
-     */
-    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;
-        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, SystemEnum system) {
-        List<Config> list = configMapper.listByKey(key, null, null,system);
-        if (list.size() == 0) {
-            return null;
-        }
-        return list.get(0);
-    }
-}
+package com.yeshi.fanli.service.impl.config;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Date;
+import java.util.List;
+
+import javax.annotation.Resource;
+
+import com.yeshi.fanli.entity.SystemEnum;
+import com.yeshi.fanli.util.ThreadUtil;
+import org.springframework.cache.annotation.CacheEvict;
+import org.springframework.cache.annotation.Cacheable;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.yeshi.utils.entity.ProxyIP;
+
+import com.google.gson.Gson;
+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.log.LogHelper;
+import com.yeshi.fanli.service.inter.config.ConfigService;
+import com.yeshi.fanli.util.Constant;
+import com.yeshi.fanli.util.StringUtil;
+import com.yeshi.goods.facade.utils.taobao.DaTaoKeApiUtil;
+
+import net.sf.json.JSONArray;
+
+@Service
+public class ConfigServiceImpl implements ConfigService {
+
+    @Resource
+    private ConfigMapper configMapper;
+
+
+    @Override
+    @Cacheable(value = "config")
+    public List<Config> getAllList(SystemEnum system) {
+        return configMapper.listAll(system);
+    }
+
+    @Override
+    public List<Config> listObjects(String key, int page, SystemEnum system) {
+        int start = (page - 1) * Constant.PAGE_SIZE;
+        return configMapper.listSearchByName(key, start, Constant.PAGE_SIZE, system);
+    }
+
+    @Override
+    public int getCount(String key, SystemEnum system) {
+        return (int) configMapper.countSearchByName(key, system);
+    }
+
+    @CacheEvict(value = "config", allEntries = true)
+    @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);
+        }
+    }
+
+    @CacheEvict(value = "config", allEntries = true)
+    public void update(Config config) {
+        if (config.getValue() == null)
+            config.setValue("");
+
+        config.setCreatetime(new Date().getTime() + "");
+        configMapper.updateByPrimaryKeySelective(config);
+    }
+
+    @Override
+    @Cacheable(value = "config", key = "'getValue-'+#key+'-'+#system")
+    public String getValue(String key, SystemEnum system) {
+        List<Config> list = configMapper.listByKey(key, null, null,system);
+        if (list.size() == 0) {
+            return null;
+        }
+        String value = list.get(0).getValue();
+        return value;
+    }
+
+    @Override
+    @Cacheable(value = "config", key = "'getValueByKey-'+#key+'-'+#system")
+    public String getValue(ConfigKeyEnum key, SystemEnum system) {
+        List<Config> list = configMapper.listByKey(key.getKey(), null, null,system);
+        if (list.size() == 0) {
+            return null;
+        }
+        String value = list.get(0).getValue();
+        return value;
+    }
+
+
+    @Cacheable(value = "config", key = "'getByVersion'+'-'+#key+'-'+#platform+'-'+#version+'-'+#system ")
+    public String getByVersion(String key, String platform, int version, SystemEnum system) {
+        Integer minAndroidVersion = null;
+        Integer minIosVersion = null;
+        if ("android".equalsIgnoreCase(platform)) {
+            minAndroidVersion = version;
+        } else
+            minIosVersion = version;
+
+        List<Config> list = configMapper.listByKey(key, minAndroidVersion, minIosVersion,system);
+        if (list.size() == 0) {
+            return null;
+        }
+        String value = list.get(0).getValue();
+        return value;
+    }
+
+    @Cacheable(value = "config", key = "'getConfig-'+ #key+'-'+#system")
+    public Config getConfig(String key, SystemEnum system) {
+        List<Config> list = configMapper.listByKey(key, null, null,system);
+        if (list.size() == 0) {
+            return null;
+        }
+        return list.get(0);
+    }
+
+    @Override
+    public boolean xcxShow(String appId, Integer version,SystemEnum system) {
+        if (version == null)
+            return false;
+
+        String value = getValue(ConfigKeyEnum.xcxSetting.getKey(),system);
+        if (StringUtil.isNullOrEmpty(value))
+            return false;
+        JSONArray array = JSONArray.fromObject(value);
+        for (int i = 0; i < array.size(); i++) {
+            XCXSettingConfig config = new Gson().fromJson(array.optJSONObject(i).toString(), XCXSettingConfig.class);
+            if (config.getAppId().equalsIgnoreCase(appId)) {
+                if (version > config.getVersion())
+                    return config.isShow();
+                else
+                    return true;
+            }
+        }
+        return false;
+    }
+
+    @Override
+    public XCXSettingConfig getXCXInfoByGhId(String ghId,SystemEnum system) {
+        String value = getValue(ConfigKeyEnum.xcxSetting.getKey(),system);
+        JSONArray array = JSONArray.fromObject(value);
+        for (int i = 0; i < array.size(); i++) {
+            XCXSettingConfig config = new Gson().fromJson(array.optJSONObject(i).toString(), XCXSettingConfig.class);
+            if (config.getGhId().equalsIgnoreCase(ghId)) {
+                return config;
+            }
+        }
+        return null;
+    }
+
+    @Override
+    public String getH5Host(SystemEnum system) {
+        String value = getValue(ConfigKeyEnum.h5Url.getKey(),system);
+        String[] sts = value.split(",");
+        value = sts[(int) (sts.length * Math.random())];
+        return value.trim();
+    }
+
+    @Cacheable(value = "config", key = "'iosOnLining'+#version+'-'+#system")
+    @Override
+    public boolean iosOnLining(int version, SystemEnum system) {
+        String value = getValue(ConfigKeyEnum.iosOnlingVersion.getKey(),system);
+        if (StringUtil.isNullOrEmpty(value))
+            return false;
+        return version >= Integer.parseInt(value);
+    }
+
+    @Cacheable(value = "config", key = "'isConvertTaoBaoLinkInServer-'+#system")
+    @Override
+    public boolean isConvertTaoBaoLinkInServer( SystemEnum system) {
+        String value = getValue(ConfigKeyEnum.convertTaoBaoLinkInServer.getKey(),system);
+        if (StringUtil.isNullOrEmpty(value))
+            return false;
+        if ("1".equalsIgnoreCase(value.trim()))
+            return true;
+        else
+            return false;
+    }
+
+    @Cacheable(value = "config", key = "'getAppHomeFloatImg-'+#system")
+    @Override
+    public AppHomeFloatImg getAppHomeFloatImg( SystemEnum system) {
+        String value = getValue(ConfigKeyEnum.appFloatImg.getKey(),system);
+        if (!StringUtil.isNullOrEmpty(value)) {
+            Gson gson = new Gson();
+            AppHomeFloatImg appHomeFloatImg = gson.fromJson(value, AppHomeFloatImg.class);
+            if (appHomeFloatImg.getShow())
+                return appHomeFloatImg;
+        }
+
+        return null;
+    }
+
+
+
+    @Cacheable(value = "config", key = "'isRobotCloudOpen'+'-'+#key+'-'+#platform+'-'+#version+'-'+#system")
+    @Override
+    public boolean isRobotCloudOpen(String key, String platform, String version, SystemEnum system) {
+        String value = getByVersion(key, platform, Integer.parseInt(version),system);
+        if (StringUtil.isNullOrEmpty(value))
+            return false;
+        if ("1".equalsIgnoreCase(value.trim())) {
+            return true;
+        } else {
+            return false;
+        }
+    }
+
+
+    @Cacheable(value = "config", key = "'getTestUsers'")
+    @Override
+    public List<String> getTestUsers( SystemEnum system) {
+        String value = getValue(ConfigKeyEnum.testUserArray.getKey(),system);
+        if (StringUtil.isNullOrEmpty(value))
+            return null;
+        try {
+            return Arrays.asList(value.split(","));
+        } catch (Exception e) {
+            LogHelper.errorDetailInfo(e);
+        }
+        return null;
+    }
+
+
+    @Override
+    public Config getConfig(long id) {
+        return configMapper.selectByPrimaryKey(id);
+    }
+
+    @Override
+    public ProxyIP getTaoBaoProxyIP( SystemEnum system) {
+        String value = getValue(ConfigKeyEnum.taobaoProxyIP.getKey(),system);
+        try {
+            String[] sts = value.split(":");
+            return new ProxyIP(sts[0], Integer.parseInt(sts[1]));
+        } catch (Exception e) {
+        }
+        return null;
+    }
+
+    @Override
+    public String getAppHomeFloatNotifyImg( SystemEnum system) {
+        return getValue(ConfigKeyEnum.homeFloatNotifyImg.getKey(),system);
+    }
+
+    @Override
+    public void save(Config config) {
+        List<Config> list = configMapper.listByKey(config.getKey(), null, null,config.getSystem());
+        if (list == null || list.size() == 0) {
+            configMapper.insertSelective(config);
+        }
+    }
+
+    @Cacheable(value = "config", key = "'getSearchDiscoveryKeys'+#system")
+    @Override
+    public String getSearchDiscoveryKeys( SystemEnum system) {
+        List<Config> list = configMapper.listByKey(ConfigKeyEnum.searchDiscoveryKeys.getKey(), null, null,system);
+        if (list == null || list.size() == 0)
+            return null;
+
+        Config config = list.get(0);
+        if (config == null)
+            return null;
+
+        ThreadUtil.run(new Runnable() {
+            @Override
+            public void run() {
+                // 鏇存柊
+                updateSearchDiscoveryKeys(config);
+            }
+        });
+        String value = config.getValue();
+        return value;
+    }
+
+    /**
+     * 鏇存柊鎼滅储鍙戠幇璇�
+     *
+     * @param config
+     */
+    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;
+        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, SystemEnum system) {
+        List<Config> list = configMapper.listByKey(key, null, null,system);
+        if (list.size() == 0) {
+            return null;
+        }
+        return list.get(0);
+    }
+}

--
Gitblit v1.8.0