package com.terra.system.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.terra.system.entity.ctrl.TabEntity;
|
import com.terra.system.helper.ClassHelper;
|
import com.terra.system.mapper.all.BasicMapper;
|
import com.terra.system.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());
|
}
|
}
|
}
|