diff --git a/src/main/java/com/ycwl/basic/integration/common/manager/ConfigManager.java b/src/main/java/com/ycwl/basic/integration/common/manager/ConfigManager.java index 9570d9d..fb902e6 100644 --- a/src/main/java/com/ycwl/basic/integration/common/manager/ConfigManager.java +++ b/src/main/java/com/ycwl/basic/integration/common/manager/ConfigManager.java @@ -94,6 +94,36 @@ public abstract class ConfigManager { return value != null ? value : defaultValue; } + /** + * 获取长整型配置值 + */ + public Long getLong(String key) { + T config = findConfigByKey(key); + if (config == null) { + return null; + } + Object value = getConfigValue(config); + if (value == null) return null; + if (value instanceof Long) return (Long) value; + if (value instanceof Number) return ((Number) value).longValue(); + if (value instanceof String) { + try { + return Long.parseLong((String) value); + } catch (NumberFormatException e) { + return null; + } + } + return null; + } + + /** + * 获取长整型配置值,如果不存在则返回默认值 + */ + public Long getLong(String key, Long defaultValue) { + Long value = getLong(key); + return value != null ? value : defaultValue; + } + /** * 获取布尔型配置值 */