package com.matrix.system.common.init;
|
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Locale;
|
import java.util.Map;
|
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentMap;
|
|
import javax.servlet.ServletContext;
|
|
import com.matrix.core.exception.GlobleException;
|
import com.matrix.core.tools.LogUtil;
|
import com.matrix.core.tools.StringUtils;
|
import com.matrix.core.tools.WebUtil;
|
import com.matrix.system.common.bean.SysCompany;
|
import com.matrix.system.common.service.SysCompanyService;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.boot.ApplicationArguments;
|
import org.springframework.boot.ApplicationRunner;
|
import org.springframework.core.Ordered;
|
import org.springframework.core.annotation.Order;
|
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Controller;
|
import org.springframework.web.context.ServletContextAware;
|
|
import com.matrix.core.constance.MatrixConstance;
|
|
/**
|
*
|
* 初始化web容器的类 一些网站启动需要加载的数据和方法在这里配置和执行
|
* @author:姜友瑶
|
* @date 2016年10月18日
|
*/
|
@Component
|
@Order(Ordered.LOWEST_PRECEDENCE)
|
public class InitWebContainer implements ApplicationRunner {
|
|
|
private static final String TRUE = "true";
|
|
static private final String LANGUAGE_ZH = "zh";
|
|
static private final String LANGUAGE_US = "us";
|
|
|
|
@Autowired
|
private SysCompanyService sysCompanyService;
|
|
|
|
/**
|
* 是否为debug模式
|
*/
|
@Value("${debug}")
|
private String debug;
|
|
@Value("${system_language}")
|
private String systemLanguage;
|
|
/**
|
*
|
* 容器启动后加载数据
|
* @author:姜友瑶
|
* @date 2016年10月18日
|
*/
|
@Override
|
public void run(ApplicationArguments args) {
|
|
// 初始化调试模式
|
initDebug();
|
// 初始化语言环境
|
initLanguage();
|
//初始化公司
|
initParams();
|
LogUtil.info("\r\n\r\n**********************************************\r\n"
|
+ "* =========== 成功 ===========\r\n"
|
+ "* DEBUG模式:" + debug+"*\r\n"
|
+ "* 语言环境:" + Locale.getDefault().getLanguage()+"\r\n"
|
|
+ "**********************************************\r\n");
|
}
|
|
private void initDebug() {
|
if (TRUE.equals(debug)) {
|
MatrixConstance.DEBUG = true;
|
} else {
|
MatrixConstance.DEBUG = false;
|
}
|
}
|
|
/**
|
* 初始化语言环境,默认为中文
|
*
|
* @author JIANGYOUYAO
|
* @email 935090232@qq.com
|
* @date 2017年11月30日
|
*/
|
private void initLanguage() {
|
Locale language = Locale.CHINA;
|
if (systemLanguage != null) {
|
if (LANGUAGE_US.equals(systemLanguage)) {
|
language = Locale.US;
|
}
|
} else {
|
LogUtil.warn("没有找到语言环境配置信息,默认配置中文环境");
|
}
|
Locale.setDefault(language);
|
}
|
|
|
/**
|
* 初始化网站的关键词和描述
|
*
|
|
*/
|
public void initParams() {
|
|
//初始化所有的公司
|
List<SysCompany> company=sysCompanyService.findByModel(null);
|
Map<String, SysCompany> companyMap=new HashMap<>();
|
for (SysCompany sysCompany : company) {
|
companyMap.put(sysCompany.getComWebUrl(), sysCompany);
|
}
|
LocalCache.save("companyMap", companyMap);
|
}
|
|
|
|
|
|
}
|