package com.moral.api.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.moral.api.entity.BenchmarkWindConfig;
import com.moral.api.entity.Device;
import com.moral.api.entity.WindModel;
import com.moral.api.entity.WindModelConfig;
import com.moral.api.mapper.BenchmarkWindConfigMapper;
import com.moral.api.mapper.DeviceMapper;
import com.moral.api.mapper.WindModelConfigMapper;
import com.moral.api.mapper.WindModelMapper;
import com.moral.api.service.WindModelService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.moral.constant.Constants;
import com.moral.util.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import java.util.*;
import java.util.stream.Collectors;
/**
 * 
 *  服务实现类
 * 
 *
 * @author moral
 * @since 2022-08-10
 */
@Service
public class WindModelServiceImpl extends ServiceImpl implements WindModelService {
    @Autowired
    private BenchmarkWindConfigMapper benchmarkWindConfigMapper;
    @Autowired
    private RedisTemplate redisTemplate;
    @Autowired
    private WindModelMapper windModelMapper;
    @Autowired
    private DeviceMapper deviceMapper;
    @Autowired
    private WindModelConfigMapper windModelConfigMapper;
    @Override
    public void windFieldStatistics() {
        QueryWrapper windModelConfigQueryWrapper = new QueryWrapper<>();
        windModelConfigQueryWrapper.eq("is_delete",Constants.NOT_DELETE);
        List windModelConfigs = windModelConfigMapper.selectList(windModelConfigQueryWrapper);
        List orgIdList = windModelConfigs.stream().map(WindModelConfig::getOrganizationId).collect(Collectors.toList());
        QueryWrapper benchmarkWindConfigQueryWrapper = new QueryWrapper<>();
        benchmarkWindConfigQueryWrapper.eq("is_delete",Constants.NOT_DELETE);
        benchmarkWindConfigQueryWrapper.in("organization_id",orgIdList);
        List