cn.jiangzeyin.system.cache.SystemParameterCache Maven / Gradle / Ivy
package cn.jiangzeyin.system.cache;
import cn.jiangzeyin.database.run.read.Select;
import cn.jiangzeyin.entity.defaults.SystemParameter;
import cn.jiangzeyin.system.log.LogType;
import cn.jiangzeyin.system.log.SystemLog;
import cn.jiangzeyin.util.system.interfaces.UtilSystemParameterInterface;
import cn.jiangzeyin.util.system.util.UtilSystemCache;
import com.alibaba.fastjson.JSONObject;
import org.springframework.util.Assert;
import java.util.List;
import java.util.concurrent.ConcurrentHashMap;
/**
* @author jiangzeyin
* Created by jiangzeyin on 2017/2/3.
*/
public class SystemParameterCache implements UtilSystemParameterInterface {
/**
* 系统参数缓存
*/
private final static ConcurrentHashMap systemParameterMap = new ConcurrentHashMap<>();
private final static SystemParameterCache systemParameterCache = new SystemParameterCache();
/**
* 加载系统参数
*
* @author jiangzeyin
*/
public static void init() {
long s = System.currentTimeMillis();
SystemLog.LOG(LogType.DEFAULT).info("初始化系统参数");
systemParameterMap.clear();
Select util = new Select() {
};
if (SiteCache.currentSite != null)
util.setWhere("isDelete=0 and (siteId=0 or FIND_IN_SET(" + SiteCache.currentSite.getId() + ",siteId))");
else
util.setWhere("isDelete=0 and siteId=0");
util.setRemove("siteId");
List list = util.run();
if (list != null)
for (SystemParameter parameter : list) {
systemParameterMap.put(parameter.getName(), parameter);
}
//EntitySystemCache.init(systemParameterCache);
UtilSystemCache.init(systemParameterCache);
SystemLog.LOG(LogType.DEFAULT).info("初始化系统参数完成:" + (System.currentTimeMillis() - s));
}
@Override
public String getSystemParameterValue(String name) {
return getParameterValue(name);
}
@Override
public String getSystemParameterValue(String name, String def) {
return getParameterValue(name, def);
}
@Override
public JSONObject systemParameterToJSONObject(String name) {
return getParameter(name).toJSONObject();
}
public static String getParameterValue(String name) {
SystemParameter systemParameter = systemParameterMap.get(name);
Assert.notNull(systemParameter, "not find " + name);
return systemParameter.getValue();
}
public static String getParameterValue(String name, String def) {
SystemParameter systemParameter = systemParameterMap.get(name);
if (systemParameter == null)
return def;
return systemParameter.getValue(def);
}
public static SystemParameter getParameter(String name) {
SystemParameter systemParameter = systemParameterMap.get(name);
Assert.notNull(systemParameter);
return systemParameter;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy