|
@@ -0,0 +1,49 @@
|
|
|
+package com.xynet.marketing.utils;
|
|
|
+
|
|
|
+import com.xynet.marketing.service.factory.plus.impl.base.PlusFactoryBase;
|
|
|
+import com.xynet.marketing.service.factory.plus.impl.v2.PlusFactoryV2;
|
|
|
+import lombok.AllArgsConstructor;
|
|
|
+import lombok.Getter;
|
|
|
+
|
|
|
+public class FactoryUtils {
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取服务
|
|
|
+ *
|
|
|
+ * @param classT 接口
|
|
|
+ * @param value 匹配值
|
|
|
+ * @param <T> 服务class
|
|
|
+ * @return 服务
|
|
|
+ */
|
|
|
+ public static <T> T getService(Class<T> classT, String value) {
|
|
|
+ EnumMenuClientType enumMenuClientType = EnumMenuClientType.getEnum(value);
|
|
|
+ if (enumMenuClientType == null) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ return (T) SpringBeanUtils.getBean(enumMenuClientType.getClassInfo());
|
|
|
+ }
|
|
|
+
|
|
|
+ @Getter
|
|
|
+ @AllArgsConstructor
|
|
|
+ public enum EnumMenuClientType {
|
|
|
+
|
|
|
+ PLUS_BASE("plus_base", PlusFactoryBase.class),
|
|
|
+ PLUS_V2("plus_v2", PlusFactoryV2.class),
|
|
|
+
|
|
|
+ ;
|
|
|
+
|
|
|
+ private final String value;
|
|
|
+
|
|
|
+ private final Class<?> classInfo;
|
|
|
+
|
|
|
+ public static EnumMenuClientType getEnum(String value) {
|
|
|
+ EnumMenuClientType[] values = EnumMenuClientType.values();
|
|
|
+ for (EnumMenuClientType enums : values) {
|
|
|
+ if (enums.value.equals(value)) {
|
|
|
+ return enums;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|