package com.huimv.apiservice.task; import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; import com.huimv.apiservice.dao.IndoorEnvironmentDao; import com.huimv.apiservice.dao.OutdoorEnvironmentDao; import com.huimv.apiservice.entity.IndoorEnvironmentEntity; import com.huimv.apiservice.entity.OutdoorEnvironmentEntity; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Configuration; import org.springframework.scheduling.annotation.Async; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.scheduling.annotation.Scheduled; import java.math.BigDecimal; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Random; /** *

* 定时任务 *

* * @author yinhao * @date 2021/5/26 15:16 */ @Configuration @EnableScheduling @EnableAsync public class CreateEverydayDataTask { @Autowired private IndoorEnvironmentDao indoorEnvironmentDao; @Autowired private OutdoorEnvironmentDao outdoorEnvironmentDao; @Async @Scheduled(cron = "1 0 0 * * ?") void createTodayIndoorEnvData() { System.out.println("createTodayIndoorEnvData begin------->"); DateTime today = DateUtil.beginOfDay(new Date()); Date collectTime = today; List gas = new ArrayList<>(); gas.add("优"); gas.add("良"); gas.add("轻度"); gas.add("中度"); gas.add("重度"); gas.add("严重"); Random random = new Random(); List list = new ArrayList<>(); for (int i = 0; i < 288; i++) { IndoorEnvironmentEntity entity = new IndoorEnvironmentEntity(); entity.setDate(today); entity.setPigstyId(1); BigDecimal bigDecimal = new BigDecimal(Math.random() * 3 + 23).setScale(1, BigDecimal.ROUND_HALF_UP); double temperature = bigDecimal.doubleValue(); entity.setTemperature(temperature); BigDecimal bigDecimal2 = new BigDecimal(Math.random() * 0.3 + 0.3).setScale(2, BigDecimal.ROUND_HALF_UP); double humidity = bigDecimal2.doubleValue(); entity.setHumidity(humidity); entity.setGas(gas.get(random.nextInt(5))); entity.setCollectTime(collectTime); collectTime = DateUtil.offsetMinute(collectTime,5); // System.out.println(entity); list.add(entity); } indoorEnvironmentDao.batchInsertData(list); System.out.println("createTodayIndoorEnvData end------->"); } @Async @Scheduled(cron = "1 0 0 * * ?") //@Scheduled(cron = "1 52 18 * * ?") void createTodayOutdoorEnvData() { System.out.println("createTodayOutdoorEnvData begin------->"); DateTime today = DateUtil.beginOfDay(new Date()); Date collectTime = today; List gas = new ArrayList<>(); gas.add("优"); gas.add("良"); gas.add("轻度"); gas.add("中度"); gas.add("重度"); gas.add("严重"); Random random = new Random(); List list = new ArrayList<>(); for (int i = 0; i < 288; i++) { OutdoorEnvironmentEntity entity = new OutdoorEnvironmentEntity(); entity.setDate(today); BigDecimal bigDecimal = new BigDecimal(Math.random() * 3 + 23).setScale(1, BigDecimal.ROUND_HALF_UP); double temperature = bigDecimal.doubleValue(); entity.setTemperature(temperature); BigDecimal bigDecimal2 = new BigDecimal(Math.random() * 0.3 + 0.3).setScale(2, BigDecimal.ROUND_HALF_UP); double humidity = bigDecimal2.doubleValue(); entity.setHumidity(humidity); entity.setGas(gas.get(random.nextInt(4))); entity.setCollectTime(collectTime); collectTime = DateUtil.offsetMinute(collectTime,5); list.add(entity); } outdoorEnvironmentDao.batchInsertData(list); System.out.println("createTodayOutdoorEnvData end------->"); } @Async @Scheduled(cron = "1 0 0 * * ?") //@Scheduled(cron = "1 52 18 * * ?") void callPigHealthData() { System.out.println("callPigHealthData begin------->"); indoorEnvironmentDao.callPigHealthData(); System.out.println("callPigHealthData end------->"); } }