package com.zy.system.service.impl;
|
|
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
|
import com.core.common.Cools;
|
import com.zy.system.entity.Config;
|
import com.zy.system.mapper.ConfigMapper;
|
import com.zy.system.service.ConfigService;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.stereotype.Service;
|
|
@Service("configService")
|
@Slf4j
|
public class ConfigServiceImpl extends ServiceImpl<ConfigMapper, Config> implements ConfigService {
|
|
@Override
|
public Config selectConfigByCode(String code) {
|
return this.baseMapper.selectConfigByCode(code);
|
}
|
|
/**
|
* 获取配置信息
|
*
|
* @param key 键值
|
* @param clazz 类型
|
* @param t 默认值
|
* @param <T>
|
* @return
|
*/
|
@Override
|
@SuppressWarnings("unchecked")
|
public <T> T getVal(String key, Class<T> clazz, T t) {
|
try {
|
Config config = this.baseMapper.selectConfigByCode(key);
|
if (config == null || config.getStatus() != 1 || Cools.isEmpty(config.getValue())) {
|
return t;
|
}
|
String val = config.getValue();
|
if (clazz.equals(Boolean.class)) {
|
if (val.equals("1") || val.trim().equalsIgnoreCase("TRUE")) {
|
return (T) Boolean.TRUE;
|
}
|
return (T) Boolean.FALSE;
|
} else if (clazz.equals(Integer.class)) {
|
return (T) Integer.valueOf(val);
|
} else if (clazz.equals(String.class)) {
|
return (T) val;
|
} else if (clazz.equals(Short.class)) {
|
return (T) Short.valueOf(val);
|
} else if (clazz.equals(Long.class)) {
|
return (T) Long.valueOf(val);
|
} else if (clazz.equals(Double.class)) {
|
return (T) Double.valueOf(val);
|
}
|
} catch (Exception e) {
|
log.error("参数加载异常,配置参数={}", key);
|
}
|
return t;
|
}
|
|
}
|