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