查询慢优化

This commit is contained in:
guoshengxiong 2025-08-25 15:12:24 +08:00
parent 2bdd14aec2
commit fbf14e2502
2 changed files with 13 additions and 2 deletions

View File

@ -82,9 +82,8 @@
limit 1
</select>
<select id="selectDustNoisePageList" resultType="com.zhgd.jeecg.common.mybatis.EntityMap">
SELECT a.*, c.device_name
SELECT a.*
FROM dust_noise_data a
LEFT JOIN environment_dev c ON (a.device_id = c.device_id and a.project_sn = c.project_sn)
where a.project_sn = #{param.projectSn}
<if test="param.deviceId != null and param.deviceId != ''">
and a.device_id = #{param.deviceId}

View File

@ -2,6 +2,7 @@ package com.zhgd.xmgl.modules.environment.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@ -17,6 +18,7 @@ import com.zhgd.xmgl.modules.environment.mapper.EnvironmentDevMapper;
import com.zhgd.xmgl.modules.environment.mapper.EnvironmentWarningMapper;
import com.zhgd.xmgl.modules.environment.service.IDustNoiseDataService;
import com.zhgd.xmgl.modules.environment.service.IEnvironmentAlarmService;
import com.zhgd.xmgl.modules.environment.service.IEnvironmentDevService;
import com.zhgd.xmgl.util.DateUtils;
import com.zhgd.xmgl.util.MessageUtil;
import com.zhgd.xmgl.util.WindDirectionUtils;
@ -27,6 +29,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.CommandLineRunner;
import org.springframework.context.annotation.Lazy;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
import org.springframework.stereotype.Service;
import rk.netDevice.sdk.p2.*;
@ -62,6 +65,9 @@ public class DustNoiseDataServiceImpl extends ServiceImpl<DustNoiseDataMapper, D
private ThreadPoolTaskExecutor threadPoolTaskExecutor;
@Value("${rengzhicekong.hj212.port:}")
private int rengzhicekongHj212Port;
@Lazy
@Autowired
private IEnvironmentDevService environmentDevService;
private static String getWinddirection(float hum) {
int v = (int) (hum * 10);
@ -210,6 +216,12 @@ public class DustNoiseDataServiceImpl extends ServiceImpl<DustNoiseDataMapper, D
int pageSize = Integer.parseInt(map.getOrDefault("pageSize", 10).toString());
Page<EntityMap> page = new Page<>(pageNo, pageSize);
List<EntityMap> list = dustNoiseDataMapper.selectDustNoisePageList(page, map);
String projectSn = MapUtils.getString(map, "projectSn");
Map<String, EnvironmentDev> devMap = environmentDevService.list(new LambdaQueryWrapper<EnvironmentDev>()
.eq(EnvironmentDev::getProjectSn, projectSn)).stream().collect(Collectors.toMap(EnvironmentDev::getDeviceId, Function.identity(), (o1, o2) -> o1));
for (EntityMap entityMap : list) {
entityMap.put("device_name", Optional.ofNullable(devMap.get(entityMap.get("deviceId"))).map(EnvironmentDev::getDeviceName).orElse(null));
}
return page.setRecords(list);
}