管道基础大数据平台系统开发-【后端】-Server
13693261870
2023-09-24 0bdfffaef3b003ea81bc2415ce583e555489ae24
添加自动查询数据库功能
已添加1个文件
已修改3个文件
100 ■■■■■ 文件已修改
src/main/java/com/lf/server/config/InitConfig.java 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/lf/server/controller/all/BaseQueryController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/lf/server/service/show/AutoQueryService.java 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application.yml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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);
        }
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());
            }
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());
        }
    }
}
src/main/resources/application.yml
@@ -126,6 +126,7 @@
# ç³»ç»Ÿé…ç½®
sys:
  autoQuery: 0
  # ç®¡ç†å‘˜ID
  admin: ad_Lf1122_min
  # IIS的主机地址