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; 
 | 
  
 | 
@Slf4j 
 | 
@Service("configService") 
 | 
public class ConfigServiceImpl extends ServiceImpl<ConfigMapper, Config> implements ConfigService { 
 | 
  
 | 
    @Override 
 | 
    public Config selectConfigByCode(String code) { 
 | 
        return this.baseMapper.selectConfigByCode(code); 
 | 
    } 
 | 
  
 | 
    ; 
 | 
  
 | 
    @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; 
 | 
    } 
 | 
} 
 |