package com.moral.api.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.moral.api.entity.CityAqi;
import com.moral.api.entity.CityAqiDaily;
import com.moral.api.mapper.CityAqiDailyMapper;
import com.moral.api.service.CityAqiDailyService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.moral.api.service.CityAqiService;
import com.moral.constant.Constants;
import com.moral.pojo.AQI;
import com.moral.util.AQIUtils;
import com.moral.util.AmendUtils;
import com.moral.util.ComprehensiveIndexUtils;
import com.moral.util.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.OptionalDouble;
import java.util.stream.Collectors;
import java.util.stream.DoubleStream;
/**
*
* 城市aqi日数据表 服务实现类
*
*
* @author moral
* @since 2021-10-28
*/
@Service
public class CityAqiDailyServiceImpl extends ServiceImpl implements CityAqiDailyService {
@Autowired
private CityAqiDailyMapper cityAqiDailyMapper;
@Autowired
private CityAqiService cityAqiService;
@Override
public void insertCityAqiDaily() {
//需要均值计算的因子
List sensors = Arrays.asList("PM2_5", "PM10", "SO2", "NO2", "CO");
String format = DateUtils.yyyy_MM_dd_EN;
Date now = new Date();
//开始时间,昨日
Date start = DateUtils.dataToTimeStampTime(DateUtils.getDateOfDay(now, -1), format);
//结束时间,今日
Date end = DateUtils.dataToTimeStampTime(now, format);
//获取所有城市aqi小时数据
QueryWrapper wrapper = new QueryWrapper<>();
wrapper.select("city_code", "time", "value")
.ge("time", DateUtils.dateToDateString(start))
.lt("time", DateUtils.dateToDateString(end));
List