class SystemGeneralConfigServiceImpl extends AbstractGeneralConfigServiceImpl<SystemConfig> {
    
    private static final Integer LANG_REGION_LENGTH = 2;
    
    @Resource
    private ApplicationContext applicationContext;
    
    /**
     * 构造方法，传入GeneralConfigDao、ObjectMapper和type。
     *
     * <p>Constructor, passing in GeneralConfigDao, ObjectMapper and type.</p>
     *
     * @param generalConfigDao 配置Dao对象
     * @param objectMapper     JSON工具类对象
     */
    protected SystemGeneralConfigServiceImpl(GeneralConfigDao generalConfigDao, ObjectMapper objectMapper) {
        super(generalConfigDao, objectMapper);
    }
    
    @Override
    public void handler(SystemConfig systemConfig) {
        if (systemConfig != null) {
            if (systemConfig.getTimeZoneId() != null) {
                TimeZone.setDefault(TimeZone.getTimeZone(systemConfig.getTimeZoneId()));
            }
            if (systemConfig.getLocale() != null) {
                String[] arr = systemConfig.getLocale().split(CommonConstants.LOCALE_SEPARATOR);
                if (arr.length == LANG_REGION_LENGTH) {
                    String language = arr[0];
                    String country = arr[1];
                    Locale.setDefault(new Locale(language, country));
                }
            }
            applicationContext.publishEvent(new SystemConfigChangeEvent(applicationContext));
        }
    }
    
    @Override
    public String type() {
        return "system";
    }
    
    @Override
    protected TypeReference<SystemConfig> getTypeReference() {<FILL_FUNCTION_BODY>}
}

        return new TypeReference<>() {
            @Override
            public Type getType() {
                return SystemConfig.class;
            }
        };
    
<methods>public org.apache.hertzbeat.manager.pojo.dto.SystemConfig getConfig() ,public void saveConfig(org.apache.hertzbeat.manager.pojo.dto.SystemConfig) <variables>protected final non-sealed org.apache.hertzbeat.manager.dao.GeneralConfigDao generalConfigDao,protected final non-sealed ObjectMapper objectMapper