From 0bdfffaef3b003ea81bc2415ce583e555489ae24 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期日, 24 九月 2023 10:25:17 +0800
Subject: [PATCH] 添加自动查询数据库功能

---
 src/main/java/com/lf/server/config/InitConfig.java                  |   20 +++++++--
 src/main/java/com/lf/server/controller/all/BaseQueryController.java |    4 +-
 src/main/java/com/lf/server/service/show/AutoQueryService.java      |   75 +++++++++++++++++++++++++++++++++++++
 src/main/resources/application.yml                                  |    1 
 4 files changed, 93 insertions(+), 7 deletions(-)

diff --git a/src/main/java/com/lf/server/config/InitConfig.java b/src/main/java/com/lf/server/config/InitConfig.java
index 7ac27e7..7f8fbde 100644
--- a/src/main/java/com/lf/server/config/InitConfig.java
+++ b/src/main/java/com/lf/server/config/InitConfig.java
@@ -4,14 +4,16 @@
 import com.lf.server.helper.*;
 import com.lf.server.service.all.TestService;
 import com.lf.server.service.all.UploadAttachService;
+import com.lf.server.service.show.AutoQueryService;
 import com.lf.server.service.sys.ArgsService;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.ApplicationArguments;
 import org.springframework.boot.ApplicationRunner;
 import org.springframework.core.env.Environment;
 import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
 
 /**
  * 鍒濆鍖栧畬鎴愰厤缃被
@@ -21,17 +23,20 @@
 public class InitConfig implements ApplicationRunner {
     private final static Log log = LogFactory.getLog(InitConfig.class);
 
-    @Autowired
+    @Resource
     PathHelper pathHelper;
 
-    @Autowired
+    @Resource
     ArgsService argsService;
 
-    @Autowired
+    @Resource
     Environment env;
 
-    //@Autowired
+    //@Resource
     //TestService testService;
+
+    @Resource
+    AutoQueryService autoQueryService;
 
     @Override
     public void run(ApplicationArguments args) {
@@ -46,6 +51,11 @@
             argsService.initSettingData();
 
             log.info("***************** 绯荤粺鍚姩瀹屾瘯 *****************" + "\n");
+
+            String autoQuery = env.getProperty("sys.autoQuery");
+            if (StaticData.S1.equals(autoQuery)) {
+                autoQueryService.autoQuery();
+            }
         } catch (Exception ex) {
             log.error(ex.getMessage(), ex);
         }
diff --git a/src/main/java/com/lf/server/controller/all/BaseQueryController.java b/src/main/java/com/lf/server/controller/all/BaseQueryController.java
index 4c47876..3df92e9 100644
--- a/src/main/java/com/lf/server/controller/all/BaseQueryController.java
+++ b/src/main/java/com/lf/server/controller/all/BaseQueryController.java
@@ -119,7 +119,7 @@
     })
     @GetMapping(value = "/selectByPage")
     @PostMapping(value = "/selectByPage")
-    public ResponseMsg<List<Object>> selectByPage(String name, String depcode, String dirs, String filter, String wkt, Integer pageIndex, Integer pageSize, Integer hasGeom) {
+    public ResponseMsg<List<?>> selectByPage(String name, String depcode, String dirs, String filter, String wkt, Integer pageIndex, Integer pageSize, Integer hasGeom) {
         try {
             BasicMapper baseMapper = ClassHelper.getBasicMapper(name);
             if (null == baseMapper) {
@@ -145,7 +145,7 @@
 
             Page<Object> page = new Page<>(pageIndex, pageSize);
             page.addOrder(OrderItem.desc("gid"));
-            IPage<Object> paged = baseMapper.selectPage(page, wrapper);
+            IPage<?> paged = baseMapper.selectPage(page, wrapper);
             if (hasWkt && null != paged.getRecords()) {
                 copeWkt(paged.getRecords());
             }
diff --git a/src/main/java/com/lf/server/service/show/AutoQueryService.java b/src/main/java/com/lf/server/service/show/AutoQueryService.java
new file mode 100644
index 0000000..d907339
--- /dev/null
+++ b/src/main/java/com/lf/server/service/show/AutoQueryService.java
@@ -0,0 +1,75 @@
+package com.lf.server.service.show;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.metadata.OrderItem;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.lf.server.entity.ctrl.TabEntity;
+import com.lf.server.helper.ClassHelper;
+import com.lf.server.mapper.all.BasicMapper;
+import com.lf.server.service.data.DictService;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * 鑷姩鎵ц鏌ヨ鏈嶅姟绫�
+ * @author WWW
+ * @date 2023-09-24
+ */
+@Service
+public class AutoQueryService {
+    @Resource
+    DictService dictService;
+
+    private final static Log log = LogFactory.getLog(AutoQueryService.class);
+
+    /**
+     * 鑷姩鏌ヨ
+     */
+    public void autoQuery() {
+        try {
+            log.info("寮�濮嬭嚜鍔ㄦ煡璇�..");
+            long beginTime = System.currentTimeMillis();
+
+            List<TabEntity> list = dictService.selectDictTab(null, "gid");
+            if (null != list && list.size() > 0) {
+                for (TabEntity tab : list) {
+                    queryTable(tab.getEntity());
+                }
+            }
+
+            double time = (System.currentTimeMillis() - beginTime) / 1000.0;
+            log.info("鑷姩鏌ヨ缁撴潫(" + time + "s).");
+        } catch (Exception ex) {
+            log.error(ex.getMessage(), ex);
+        }
+    }
+
+    /**
+     * 鏌ヨ鏁版嵁琛�
+     */
+    private void queryTable(String name) {
+        try {
+            BasicMapper baseMapper = ClassHelper.getBasicMapper(name);
+            if (null == baseMapper) {
+                log.error("鏌ヨ瀵硅薄涓嶅瓨鍦細" + name);
+                return;
+            }
+
+            Page<Object> page = new Page<>(1, 10);
+            page.addOrder(OrderItem.desc("gid"));
+
+            QueryWrapper wrapper = new QueryWrapper();
+            IPage<?> paged = baseMapper.selectPage(page, wrapper);
+
+            long count = paged.getTotal();
+            List<?> list = paged.getRecords();
+        } catch (Exception ex) {
+            log.error("鏌ヨ鍑洪敊锛�" + name + "\r\n" + ex.getMessage());
+        }
+    }
+}
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 3ddebc2..32b2841 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -126,6 +126,7 @@
 
 # 绯荤粺閰嶇疆
 sys:
+  autoQuery: 0
   # 绠$悊鍛業D
   admin: ad_Lf1122_min
   # IIS鐨勪富鏈哄湴鍧�

--
Gitblit v1.9.3