From b6b0cb226fcf184525ee7b36af3a09471e9c0057 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期一, 25 三月 2024 11:29:33 +0800
Subject: [PATCH] 修改数据统计的查询条件

---
 src/main/java/com/lf/server/helper/ClassHelper.java |   88 ++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 88 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/lf/server/helper/ClassHelper.java b/src/main/java/com/lf/server/helper/ClassHelper.java
index 551980e..6befd3a 100644
--- a/src/main/java/com/lf/server/helper/ClassHelper.java
+++ b/src/main/java/com/lf/server/helper/ClassHelper.java
@@ -1,7 +1,13 @@
 package com.lf.server.helper;
 
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.lf.server.mapper.all.BasicMapper;
+import com.lf.server.mapper.all.GeomBaseMapper;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.springframework.aop.support.AopUtils;
+
+import java.lang.reflect.Type;
 
 /**
  * 绫诲府鍔╃被
@@ -44,4 +50,86 @@
             return null;
         }
     }
+
+    /**
+     * 鑾峰彇鐖禡apper
+     *
+     * @param name Mapper鍚�
+     * @return BaseMapper
+     */
+    public static BasicMapper getBasicMapper(String name) {
+        if (StringHelper.isEmpty(name)) {
+            return null;
+        }
+
+        Object obj = getBean(name.trim() + "Mapper");
+        if (!(obj instanceof BasicMapper)) {
+            return null;
+        }
+
+        return (BasicMapper) obj;
+    }
+
+    /**
+     * 鑾峰彇绌洪棿鐖禡apper
+     *
+     * @param name Mapper鍚�
+     * @return GeomBaseMapper
+     */
+    public static GeomBaseMapper getGeoBaseMapper(String name) {
+        if (StringHelper.isEmpty(name)) {
+            return null;
+        }
+
+        Object obj = getBean(name.trim() + "Mapper");
+        if (!(obj instanceof GeomBaseMapper)) {
+            return null;
+        }
+
+        return (GeomBaseMapper) obj;
+    }
+
+    /**
+     * 鑾峰彇绫诲悕
+     *
+     * @param baseMapper 鐖禡apper
+     * @return 绫诲悕
+     */
+    public static String getClassName(BaseMapper baseMapper) {
+        Type[] genericInterfaces = AopUtils.getTargetClass(baseMapper).getGenericInterfaces();
+
+        return genericInterfaces[0].getTypeName();
+    }
+
+    /**
+     * 鏍规嵁Mapper绫诲悕鑾峰彇瀹炰綋绫荤殑Class
+     *
+     * @param className Mapper绫诲悕
+     * @return 瀹炰綋绫荤殑Class
+     */
+    public static Class getEntityClass(String className) {
+        try {
+            className = className.replace(".mapper", ".entity").replace("Mapper", "Entity");
+            Class clazz = Class.forName(className);
+
+            return clazz;
+        } catch (Exception ex) {
+            log.error(ex.getMessage(), ex);
+            return null;
+        }
+    }
+
+
+    /**
+     * 鏍规嵁BaseMapper鍒涘缓瀹炰綋绫�
+     *
+     * @param baseMapper 鐖禡apper
+     * @return 瀹炰綋绫�
+     */
+    public static Object createEntityByMapper(BaseMapper baseMapper) {
+        String className = getClassName(baseMapper);
+        className = className.replace(".mapper", ".entity").replace("Mapper", "Entity");
+
+        return createInstance(className);
+    }
 }

--
Gitblit v1.9.3