jinpengyong
2023-08-22 e6f974ca6eab798c2df5c09cdb8320ecf4ff4185
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,15 +55,28 @@
    HistoryHourlyMapper historyHourlyMapper;
    @Autowired
    DeviceService deviceService;
    @Autowired
    DeviceMapper deviceMapper;
    @Override
    public List<DeviceAndFiveMinuteDataDTO> queryDeviceAndFiveMinuteData(QueryDeviceAndFiveMinuteDataForm form) {
    public List<Map<String, Object>> queryDeviceAndFiveMinuteData(QueryDeviceAndFiveMinuteDataForm form) {
        //取参
        String times = DateUtils.dateToDateString(new Date(),DateUtils.yyyyMM_EN);
        Integer organizationId = form.getOrganizationId();
        Integer regionCode = form.getRegionCode();
        String sensorCode = form.getSensorCode();
        String type = "$."+ sensorCode;
        String region = null;
        String endHourlyTime = null;
        if (regionCode != null && organizationId!=24) {
            region = RegionCodeUtils.regionCodeConvertToName(regionCode);
        }
        if (form.getChooseTime().equals("true")) {
            endHourlyTime = form.getTime();
        }
        List<Map<String, Object>> listAll = deviceMapper.deviceList(organizationId,regionCode,region,type,sensorCode,times,endHourlyTime);
        //查询组织在对应地区下的站点以及设备
        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 +88,9 @@
                }
            }
        }
        }*/
        //查询所有设备对应的数据
        /*List<Device> devices = new ArrayList<>();
        List<DeviceAndFiveMinuteDataDTO> dtos = new ArrayList<>();
        if (form.getChooseTime().equals("true")) {
            String time = form.getTime();
@@ -96,10 +112,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<>();
@@ -110,8 +128,8 @@
            dto.setDevice(device);
            dto.setSensorValue(sensorValue);
            dtos.add(dto);
        }
        return dtos;
        }*/
        return listAll;
    }
    @Override