@Component
@Slf4j
public class DictConfig implements CommandLineRunner {
@Autowired
private SysOptionMapper sysOptionMapper;
private static Map<String, String> dictMap = new HashMap();
public static boolean IS_TEST_SEND_SMS_KEY = false;
public static Map<String, String> getDictMap() {
return dictMap;
}
@Override
public void run(String... strings) throws Exception {
List<SysOption> sysOptions = sysOptionMapper.selectAll();
//加载到map
sysOptions.forEach(sysOption -> {
dictMap.put(sysOption.getKey(), sysOption.getValue());
});
if (dictMap == null || dictMap.size() <= 0) {
log.error("============初始化系统配置信息为空,请检查==============");
return;
}
IS_TEST_SEND_SMS_KEY = Boolean.parseBoolean(dictMap.get(SysOptionConstant.IS_TEST_SEND_SMS_KEY));
}
}
@RequestMapping(value = "/manLoad") @Module(value = "手动加载配置项", checkHead = false, respConverter = false) public void load(HttpServletResponse response) throws Exception { List<SysOption> sysOptions = sysOptionMapper.selectAll(); Map<String, String> dictMap = DictConfig.getDictMap(); log.info("手动加载前配置信息:{}", JSON.toJSONString(dictMap)); dictMap.clear(); //加载到map sysOptions.forEach(sysOption -> { dictMap.put(sysOption.getKey(), sysOption.getValue()); }); log.info("手动加载后配置信息:{}", JSON.toJSONString(dictMap)); response.setContentType("text/html;charset=UTF-8"); response.getWriter().write(JSON.toJSONString(dictMap)); }