From 6cd32111579f0de8e3908bc985ee493197dc80cb Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期五, 17 十一月 2023 16:29:48 +0800
Subject: [PATCH] 整合代码
---
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