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