package com.moral.api.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
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.HistoryHourlyMapper;
import com.moral.api.mapper.OrganizationUnitAlarmMapper;
import com.moral.api.mapper.UnitConversionMapper;
import com.moral.api.service.DeviceService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.moral.api.service.SensorService;
import com.moral.api.service.UnitConversionService;
import com.moral.constant.Constants;
import com.moral.constant.RedisConstants;
import com.moral.constant.SeparateTableType;
import com.moral.util.DateUtils;
import com.moral.util.MybatisPLUSUtils;
import org.apache.kafka.streams.state.internals.metrics.Sensors;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
import java.util.*;
import java.util.stream.Collectors;
/**
*
* 设备表 服务实现类
*
*
* @author moral
* @since 2021-06-28
*/
@Service
public class DeviceServiceImpl extends ServiceImpl implements DeviceService {
@Autowired
private DeviceMapper deviceMapper;
@Autowired
private RedisTemplate redisTemplate;
@Autowired
OrganizationUnitAlarmMapper organizationUnitAlarmMapper;
@Autowired
SensorService sensorService;
@Autowired
UnitConversionService unitConversionService;
@Autowired
HistoryHourlyMapper historyHourlyMapper;
@Override
public List getDevicesByMonitorPointId(Integer monitorPointId) {
QueryWrapper wrapper = new QueryWrapper();
wrapper.eq("monitor_point_id", monitorPointId);
wrapper.eq("is_delete", Constants.NOT_DELETE);
wrapper.orderByAsc("dev_num");
return deviceMapper.selectList(wrapper);
}
@Override
public Map getSensorsByMac(Map params) {
List sensorCodes = Arrays.asList(Constants.SENSOR_CODE_PM25
, Constants.SENSOR_CODE_PM10
, Constants.SENSOR_CODE_SO2
, Constants.SENSOR_CODE_NO2
, Constants.SENSOR_CODE_CO
, Constants.SENSOR_CODE_O3
, Constants.SENSOR_CODE_TEMP
, "a01002"
, Constants.SENSOR_CODE_WIND_SPEED
, Constants.SENSOR_CODE_WIND_DIR
, "a01006"
, "a00e12"
);
//设备mac
List macs = (List) params.remove("macs");
List