From 6801490e3b5b32b97c2ef92df9107900af13a25c Mon Sep 17 00:00:00 2001
From: 疯狂的狮子li <15040126243@163.com>
Date: 星期四, 02 九月 2021 11:29:50 +0800
Subject: [PATCH] update 分页合理化
---
ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/JobInvokeUtil.java | 366 ++++++++++++++++++++++++++--------------------------
1 files changed, 182 insertions(+), 184 deletions(-)
diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/JobInvokeUtil.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/JobInvokeUtil.java
index f017e1b..40a19bd 100644
--- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/JobInvokeUtil.java
+++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/JobInvokeUtil.java
@@ -1,184 +1,182 @@
-package com.ruoyi.quartz.util;
-
-import cn.hutool.core.lang.Validator;
-import cn.hutool.core.util.StrUtil;
-import com.ruoyi.common.utils.spring.SpringUtils;
-import com.ruoyi.quartz.domain.SysJob;
-
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.util.LinkedList;
-import java.util.List;
-
-/**
- * 浠诲姟鎵ц宸ュ叿
- *
- * @author ruoyi
- */
-public class JobInvokeUtil
-{
- /**
- * 鎵ц鏂规硶
- *
- * @param sysJob 绯荤粺浠诲姟
- */
- public static void invokeMethod(SysJob sysJob) throws Exception
- {
- String invokeTarget = sysJob.getInvokeTarget();
- String beanName = getBeanName(invokeTarget);
- String methodName = getMethodName(invokeTarget);
- List<Object[]> methodParams = getMethodParams(invokeTarget);
-
- if (!isValidClassName(beanName))
- {
- Object bean = SpringUtils.getBean(beanName);
- invokeMethod(bean, methodName, methodParams);
- }
- else
- {
- Object bean = Class.forName(beanName).newInstance();
- invokeMethod(bean, methodName, methodParams);
- }
- }
-
- /**
- * 璋冪敤浠诲姟鏂规硶
- *
- * @param bean 鐩爣瀵硅薄
- * @param methodName 鏂规硶鍚嶇О
- * @param methodParams 鏂规硶鍙傛暟
- */
- private static void invokeMethod(Object bean, String methodName, List<Object[]> methodParams)
- throws NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException,
- InvocationTargetException
- {
- if (Validator.isNotNull(methodParams) && methodParams.size() > 0)
- {
- Method method = bean.getClass().getDeclaredMethod(methodName, getMethodParamsType(methodParams));
- method.invoke(bean, getMethodParamsValue(methodParams));
- }
- else
- {
- Method method = bean.getClass().getDeclaredMethod(methodName);
- method.invoke(bean);
- }
- }
-
- /**
- * 鏍¢獙鏄惁涓轰负class鍖呭悕
- *
- * @param str 鍚嶇О
- * @return true鏄� false鍚�
- */
- public static boolean isValidClassName(String invokeTarget)
- {
- return StrUtil.count(invokeTarget, ".") > 1;
- }
-
- /**
- * 鑾峰彇bean鍚嶇О
- *
- * @param invokeTarget 鐩爣瀛楃涓�
- * @return bean鍚嶇О
- */
- public static String getBeanName(String invokeTarget)
- {
- String beanName = StrUtil.subBefore(invokeTarget, "(",false);
- return StrUtil.subBefore(beanName, ".",true);
- }
-
- /**
- * 鑾峰彇bean鏂规硶
- *
- * @param invokeTarget 鐩爣瀛楃涓�
- * @return method鏂规硶
- */
- public static String getMethodName(String invokeTarget)
- {
- String methodName = StrUtil.subBefore(invokeTarget, "(",false);
- return StrUtil.subAfter(methodName, ".",true);
- }
-
- /**
- * 鑾峰彇method鏂规硶鍙傛暟鐩稿叧鍒楄〃
- *
- * @param invokeTarget 鐩爣瀛楃涓�
- * @return method鏂规硶鐩稿叧鍙傛暟鍒楄〃
- */
- public static List<Object[]> getMethodParams(String invokeTarget)
- {
- String methodStr = StrUtil.subBetween(invokeTarget, "(", ")");
- if (StrUtil.isEmpty(methodStr))
- {
- return null;
- }
- String[] methodParams = methodStr.split(",");
- List<Object[]> classs = new LinkedList<>();
- for (int i = 0; i < methodParams.length; i++)
- {
- String str = StrUtil.trimToEmpty(methodParams[i]);
- // String瀛楃涓茬被鍨嬶紝鍖呭惈'
- if (StrUtil.contains(str, "'"))
- {
- classs.add(new Object[] { StrUtil.replace(str, "'", ""), String.class });
- }
- // boolean甯冨皵绫诲瀷锛岀瓑浜巘rue鎴栬�協alse
- else if (StrUtil.equals(str, "true") || StrUtil.equalsIgnoreCase(str, "false"))
- {
- classs.add(new Object[] { Boolean.valueOf(str), Boolean.class });
- }
- // long闀挎暣褰紝鍖呭惈L
- else if (StrUtil.containsIgnoreCase(str, "L"))
- {
- classs.add(new Object[] { Long.valueOf(StrUtil.replaceIgnoreCase(str, "L", "")), Long.class });
- }
- // double娴偣绫诲瀷锛屽寘鍚獶
- else if (StrUtil.containsIgnoreCase(str, "D"))
- {
- classs.add(new Object[] { Double.valueOf(StrUtil.replaceIgnoreCase(str, "D", "")), Double.class });
- }
- // 鍏朵粬绫诲瀷褰掔被涓烘暣褰�
- else
- {
- classs.add(new Object[] { Integer.valueOf(str), Integer.class });
- }
- }
- return classs;
- }
-
- /**
- * 鑾峰彇鍙傛暟绫诲瀷
- *
- * @param methodParams 鍙傛暟鐩稿叧鍒楄〃
- * @return 鍙傛暟绫诲瀷鍒楄〃
- */
- public static Class<?>[] getMethodParamsType(List<Object[]> methodParams)
- {
- Class<?>[] classs = new Class<?>[methodParams.size()];
- int index = 0;
- for (Object[] os : methodParams)
- {
- classs[index] = (Class<?>) os[1];
- index++;
- }
- return classs;
- }
-
- /**
- * 鑾峰彇鍙傛暟鍊�
- *
- * @param methodParams 鍙傛暟鐩稿叧鍒楄〃
- * @return 鍙傛暟鍊煎垪琛�
- */
- public static Object[] getMethodParamsValue(List<Object[]> methodParams)
- {
- Object[] classs = new Object[methodParams.size()];
- int index = 0;
- for (Object[] os : methodParams)
- {
- classs[index] = (Object) os[0];
- index++;
- }
- return classs;
- }
-}
+package com.ruoyi.quartz.util;
+
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.util.LinkedList;
+import java.util.List;
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.common.utils.spring.SpringUtils;
+import com.ruoyi.quartz.domain.SysJob;
+
+/**
+ * 浠诲姟鎵ц宸ュ叿
+ *
+ * @author ruoyi
+ */
+public class JobInvokeUtil
+{
+ /**
+ * 鎵ц鏂规硶
+ *
+ * @param sysJob 绯荤粺浠诲姟
+ */
+ public static void invokeMethod(SysJob sysJob) throws Exception
+ {
+ String invokeTarget = sysJob.getInvokeTarget();
+ String beanName = getBeanName(invokeTarget);
+ String methodName = getMethodName(invokeTarget);
+ List<Object[]> methodParams = getMethodParams(invokeTarget);
+
+ if (!isValidClassName(beanName))
+ {
+ Object bean = SpringUtils.getBean(beanName);
+ invokeMethod(bean, methodName, methodParams);
+ }
+ else
+ {
+ Object bean = Class.forName(beanName).newInstance();
+ invokeMethod(bean, methodName, methodParams);
+ }
+ }
+
+ /**
+ * 璋冪敤浠诲姟鏂规硶
+ *
+ * @param bean 鐩爣瀵硅薄
+ * @param methodName 鏂规硶鍚嶇О
+ * @param methodParams 鏂规硶鍙傛暟
+ */
+ private static void invokeMethod(Object bean, String methodName, List<Object[]> methodParams)
+ throws NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException,
+ InvocationTargetException
+ {
+ if (StringUtils.isNotNull(methodParams) && methodParams.size() > 0)
+ {
+ Method method = bean.getClass().getDeclaredMethod(methodName, getMethodParamsType(methodParams));
+ method.invoke(bean, getMethodParamsValue(methodParams));
+ }
+ else
+ {
+ Method method = bean.getClass().getDeclaredMethod(methodName);
+ method.invoke(bean);
+ }
+ }
+
+ /**
+ * 鏍¢獙鏄惁涓轰负class鍖呭悕
+ *
+ * @param str 鍚嶇О
+ * @return true鏄� false鍚�
+ */
+ public static boolean isValidClassName(String invokeTarget)
+ {
+ return StringUtils.countMatches(invokeTarget, ".") > 1;
+ }
+
+ /**
+ * 鑾峰彇bean鍚嶇О
+ *
+ * @param invokeTarget 鐩爣瀛楃涓�
+ * @return bean鍚嶇О
+ */
+ public static String getBeanName(String invokeTarget)
+ {
+ String beanName = StringUtils.substringBefore(invokeTarget, "(");
+ return StringUtils.substringBeforeLast(beanName, ".");
+ }
+
+ /**
+ * 鑾峰彇bean鏂规硶
+ *
+ * @param invokeTarget 鐩爣瀛楃涓�
+ * @return method鏂规硶
+ */
+ public static String getMethodName(String invokeTarget)
+ {
+ String methodName = StringUtils.substringBefore(invokeTarget, "(");
+ return StringUtils.substringAfterLast(methodName, ".");
+ }
+
+ /**
+ * 鑾峰彇method鏂规硶鍙傛暟鐩稿叧鍒楄〃
+ *
+ * @param invokeTarget 鐩爣瀛楃涓�
+ * @return method鏂规硶鐩稿叧鍙傛暟鍒楄〃
+ */
+ public static List<Object[]> getMethodParams(String invokeTarget)
+ {
+ String methodStr = StringUtils.substringBetween(invokeTarget, "(", ")");
+ if (StringUtils.isEmpty(methodStr))
+ {
+ return null;
+ }
+ String[] methodParams = methodStr.split(",");
+ List<Object[]> classs = new LinkedList<>();
+ for (int i = 0; i < methodParams.length; i++)
+ {
+ String str = StringUtils.trimToEmpty(methodParams[i]);
+ // String瀛楃涓茬被鍨嬶紝鍖呭惈'
+ if (StringUtils.contains(str, "'"))
+ {
+ classs.add(new Object[] { StringUtils.replace(str, "'", ""), String.class });
+ }
+ // boolean甯冨皵绫诲瀷锛岀瓑浜巘rue鎴栬�協alse
+ else if (StringUtils.equals(str, "true") || StringUtils.equalsIgnoreCase(str, "false"))
+ {
+ classs.add(new Object[] { Boolean.valueOf(str), Boolean.class });
+ }
+ // long闀挎暣褰紝鍖呭惈L
+ else if (StringUtils.containsIgnoreCase(str, "L"))
+ {
+ classs.add(new Object[] { Long.valueOf(StringUtils.replaceIgnoreCase(str, "L", "")), Long.class });
+ }
+ // double娴偣绫诲瀷锛屽寘鍚獶
+ else if (StringUtils.containsIgnoreCase(str, "D"))
+ {
+ classs.add(new Object[] { Double.valueOf(StringUtils.replaceIgnoreCase(str, "D", "")), Double.class });
+ }
+ // 鍏朵粬绫诲瀷褰掔被涓烘暣褰�
+ else
+ {
+ classs.add(new Object[] { Integer.valueOf(str), Integer.class });
+ }
+ }
+ return classs;
+ }
+
+ /**
+ * 鑾峰彇鍙傛暟绫诲瀷
+ *
+ * @param methodParams 鍙傛暟鐩稿叧鍒楄〃
+ * @return 鍙傛暟绫诲瀷鍒楄〃
+ */
+ public static Class<?>[] getMethodParamsType(List<Object[]> methodParams)
+ {
+ Class<?>[] classs = new Class<?>[methodParams.size()];
+ int index = 0;
+ for (Object[] os : methodParams)
+ {
+ classs[index] = (Class<?>) os[1];
+ index++;
+ }
+ return classs;
+ }
+
+ /**
+ * 鑾峰彇鍙傛暟鍊�
+ *
+ * @param methodParams 鍙傛暟鐩稿叧鍒楄〃
+ * @return 鍙傛暟鍊煎垪琛�
+ */
+ public static Object[] getMethodParamsValue(List<Object[]> methodParams)
+ {
+ Object[] classs = new Object[methodParams.size()];
+ int index = 0;
+ for (Object[] os : methodParams)
+ {
+ classs[index] = (Object) os[0];
+ index++;
+ }
+ return classs;
+ }
+}
--
Gitblit v1.9.3