From 55517e16da5e7205770bf61fc27c3d06b7d189b5 Mon Sep 17 00:00:00 2001 From: ludc Date: 星期四, 15 六月 2023 21:03:16 +0800 Subject: [PATCH] bug修改 --- Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/enumpck/BaseEnum.java | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 48 insertions(+), 0 deletions(-) diff --git a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/enumpck/BaseEnum.java b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/enumpck/BaseEnum.java index ebdc3f2..a9422a1 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/enumpck/BaseEnum.java +++ b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/enumpck/BaseEnum.java @@ -1,7 +1,55 @@ package com.vci.ubcs.starter.web.enumpck; +import com.alibaba.druid.util.StringUtils; + public interface BaseEnum { String getValue(); String getText(); + + + /** + * 浣跨敤鏋氫妇鐨勫�艰幏鍙栨灇涓惧璞$殑閫氱敤鏂规硶 + * @param clazz 鏋氫妇鎵�灞炵被 + * @param value 鏋氫妇鐨勫�� + * @param <T> 绫诲瀷 + * @return 缁撴灉 + */ + public static <T extends BaseEnum> T getEnumByValue(Class<T> clazz,Object value){ + if(value == null){ + return null; + } + T[] enums = clazz.getEnumConstants(); + if (enums == null || enums.length == 0) { + return null; + } + + for (T e : enums) { + if (value instanceof String) { + if (StringUtils.equalsIgnoreCase((String) value, (String) ((BaseEnum) e).getValue())) { + return e; + } + } else { + if (value.equals(e.getValue())) { + return e; + } + } + } + return null; + } + + /** + * 浣跨敤鏋氫妇鐨勫�艰幏鍙栨樉绀烘枃鏈殑鏂规硶 + * @param clazz 鏋氫妇鎵�灞炵殑绫� + * @param value 鏋氫妇鐨勫�� + * @param <T> 绫诲瀷 + * @return 缁撴灉 + */ + public static <T extends BaseEnum> String getTextByValue(Class<T> clazz,String value){ + T e = getEnumByValue(clazz, value); + if (e == null) { + return ""; + } + return ((BaseEnum) e).getText(); + } } -- Gitblit v1.9.3