cjl
2023-08-21 ac8bf95409ef0fe471e0fc195b2af1f36daf6676
fix:部分配置修改
6 files modified
54 ■■■■■ changed files
screen-api/src/main/java/com/moral/api/mapper/DeviceMapper.java 3 ●●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/service/DeviceService.java 2 ●●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java 9 ●●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/service/impl/HistoryFiveMinutelyServiceImpl.java 19 ●●●● patch | view | raw | blame | history
screen-api/src/main/resources/mapper/DeviceMapper.xml 19 ●●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/kafka/consumer/DeviceConsumer.java 2 ●●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/mapper/DeviceMapper.java
@@ -5,6 +5,7 @@
import com.moral.api.entity.Device;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import io.lettuce.core.dynamic.annotation.Param;
/**
 * <p>
@@ -19,4 +20,6 @@
    /*监测因子趋势图数据*/
    List<Map<String, Object>> getTrendChartData(Map<String, Object> params);
    List<Device> deviceList(@Param("organizationId") int organizationId,@Param("regionCode")  int regionCode,@Param("region")  String region);
}
screen-api/src/main/java/com/moral/api/service/DeviceService.java
@@ -19,6 +19,8 @@
    //根据站点id获取设备列表
    List<Device> getDevicesByMonitorPointId(Integer monitorPointId);
    List<Device> getDevicesByMonitorPointId(List<Integer> monitorPointId);
    //根据macs获取公有因子信息
    Map<String, Object> getSensorsByMac(Map<String,Object> params);
screen-api/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java
@@ -71,6 +71,15 @@
    }
    @Override
    public List<Device> getDevicesByMonitorPointId(List<Integer> monitorPointId) {
        QueryWrapper<Device> wrapper = new QueryWrapper();
        wrapper.in("monitor_point_id", monitorPointId);
        wrapper.eq("is_delete", Constants.NOT_DELETE);
        wrapper.orderByAsc("dev_num");
        return deviceMapper.selectList(wrapper);
    }
    @Override
    public Map<String, Object> getSensorsByMac(Map<String, Object> params) {
        List<String> sensorCodes = Arrays.asList(Constants.SENSOR_CODE_PM25
                , Constants.SENSOR_CODE_PM10
screen-api/src/main/java/com/moral/api/service/impl/HistoryFiveMinutelyServiceImpl.java
@@ -5,6 +5,7 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.moral.api.config.mybatis.MybatisPlusConfig;
import com.moral.api.entity.*;
import com.moral.api.mapper.DeviceMapper;
import com.moral.api.mapper.HistoryFiveMinutelyMapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.moral.api.mapper.HistoryHourlyMapper;
@@ -21,6 +22,7 @@
import com.moral.constant.SeparateTableType;
import com.moral.util.DateUtils;
import com.moral.util.MybatisPLUSUtils;
import com.moral.util.RegionCodeUtils;
import io.lettuce.core.GeoCoordinates;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@@ -53,6 +55,8 @@
    HistoryHourlyMapper historyHourlyMapper;
    @Autowired
    DeviceService deviceService;
    @Autowired
    DeviceMapper deviceMapper;
    @Override
    public List<DeviceAndFiveMinuteDataDTO> queryDeviceAndFiveMinuteData(QueryDeviceAndFiveMinuteDataForm form) {
@@ -60,8 +64,16 @@
        Integer organizationId = form.getOrganizationId();
        Integer regionCode = form.getRegionCode();
        String sensorCode = form.getSensorCode();
        Map<String, Object> params = new HashMap<>();
        String region = null;
        if (regionCode != null && organizationId!=24) {
            region = RegionCodeUtils.regionCodeConvertToName(regionCode);
            params.put("region",region);
            params.put("regionCode",regionCode);
        }
        params.put("organizationId",organizationId);
        //查询组织在对应地区下的站点以及设备
        List<MonitorPoint> monitorPoints = monitorPointService.queryByOrgIdAndRegionCode(new MonitorPointQueryForm(organizationId, regionCode));
        /*List<MonitorPoint> monitorPoints = monitorPointService.queryByOrgIdAndRegionCode(new MonitorPointQueryForm(organizationId, regionCode));
        List<Device> devices = new ArrayList<>();
        for (MonitorPoint monitorPoint : monitorPoints) {
            List<Device> monitorPointDevices = monitorPoint.getDevices();
@@ -73,8 +85,9 @@
                }
            }
        }
        }*/
        //查询所有设备对应的数据
        List<Device> devices = deviceMapper.deviceList(organizationId,regionCode,region);
        List<DeviceAndFiveMinuteDataDTO> dtos = new ArrayList<>();
        if (form.getChooseTime().equals("true")) {
            String time = form.getTime();
@@ -96,10 +109,12 @@
            }
            return dtos;
        }
        //List<Map<String, Object>> sensorValuess = (List<Map<String, Object>>) redisTemplate.opsForValue().multiGet(Arrays.asList("data_five_minutes:p5dnd7a0245400","data_five_minutes:p5dnd7a0245412"));
        for (Device device : devices) {
            DeviceAndFiveMinuteDataDTO dto = new DeviceAndFiveMinuteDataDTO();
            String mac = device.getMac();
            Map<String, Object> sensorValues = queryLastDataByMac(mac);
            String dbDataStr = JSON.toJSONString(sensorValues);
            sensorValues = JSON.parseObject(dbDataStr, HashMap.class);
            Map<String, Object> sensorValue = new HashMap<>();
screen-api/src/main/resources/mapper/DeviceMapper.xml
@@ -43,4 +43,23 @@
        AND `time` <![CDATA[<]]> #{end}
        ORDER BY `time`
    </select>
    <select id="deviceList" resultMap="BaseResultMap">
        SELECT
            t.latitude,
            t.longitude,
            t.mac,
            t.state
        FROM
            device t
                inner JOIN monitor_point p on p.id = t.monitor_point_id and p.is_delete = 0
                and p.organization_id in (
                    SELECT t1.id FROM organization t1
                    where t1.id = #{organizationId} or t1.parent_id = #{organizationId})
        <if test="region != null">
            and ${region} = #{regionCode}
        </if>
        WHERE
            t.state <![CDATA[ <> ]]> '0'  and t.is_delete = 0
        order by t.id desc
    </select>
</mapper>
screen-manage/src/main/java/com/moral/api/kafka/consumer/DeviceConsumer.java
@@ -1,3 +1,4 @@
/*
package com.moral.api.kafka.consumer;
import com.moral.api.service.*;
@@ -200,3 +201,4 @@
        }
    }
}
*/