CreateEverydayDataTask.java 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. package com.huimv.apiservice.task;
  2. import cn.hutool.core.date.DateTime;
  3. import cn.hutool.core.date.DateUtil;
  4. import com.huimv.apiservice.dao.IndoorEnvironmentDao;
  5. import com.huimv.apiservice.dao.OutdoorEnvironmentDao;
  6. import com.huimv.apiservice.entity.IndoorEnvironmentEntity;
  7. import com.huimv.apiservice.entity.OutdoorEnvironmentEntity;
  8. import org.springframework.beans.factory.annotation.Autowired;
  9. import org.springframework.context.annotation.Configuration;
  10. import org.springframework.scheduling.annotation.Async;
  11. import org.springframework.scheduling.annotation.EnableAsync;
  12. import org.springframework.scheduling.annotation.EnableScheduling;
  13. import org.springframework.scheduling.annotation.Scheduled;
  14. import java.math.BigDecimal;
  15. import java.util.ArrayList;
  16. import java.util.Date;
  17. import java.util.List;
  18. import java.util.Random;
  19. /**
  20. * <p>
  21. * 定时任务
  22. * </p>
  23. *
  24. * @author yinhao
  25. * @date 2021/5/26 15:16
  26. */
  27. @Configuration
  28. @EnableScheduling
  29. @EnableAsync
  30. public class CreateEverydayDataTask {
  31. @Autowired
  32. private IndoorEnvironmentDao indoorEnvironmentDao;
  33. @Autowired
  34. private OutdoorEnvironmentDao outdoorEnvironmentDao;
  35. @Async
  36. @Scheduled(cron = "1 0 0 * * ?")
  37. void createTodayIndoorEnvData() {
  38. System.out.println("createTodayIndoorEnvData begin------->");
  39. DateTime today = DateUtil.beginOfDay(new Date());
  40. Date collectTime = today;
  41. List<String> gas = new ArrayList<>();
  42. gas.add("优");
  43. gas.add("良");
  44. gas.add("轻度");
  45. gas.add("中度");
  46. gas.add("重度");
  47. gas.add("严重");
  48. Random random = new Random();
  49. List<IndoorEnvironmentEntity> list = new ArrayList<>();
  50. for (int i = 0; i < 288; i++) {
  51. IndoorEnvironmentEntity entity = new IndoorEnvironmentEntity();
  52. entity.setDate(today);
  53. entity.setPigstyId(1);
  54. BigDecimal bigDecimal = new BigDecimal(Math.random() * 3 + 23).setScale(1, BigDecimal.ROUND_HALF_UP);
  55. double temperature = bigDecimal.doubleValue();
  56. entity.setTemperature(temperature);
  57. BigDecimal bigDecimal2 = new BigDecimal(Math.random() * 0.3 + 0.3).setScale(2, BigDecimal.ROUND_HALF_UP);
  58. double humidity = bigDecimal2.doubleValue();
  59. entity.setHumidity(humidity);
  60. entity.setGas(gas.get(random.nextInt(5)));
  61. entity.setCollectTime(collectTime);
  62. collectTime = DateUtil.offsetMinute(collectTime,5);
  63. // System.out.println(entity);
  64. list.add(entity);
  65. }
  66. indoorEnvironmentDao.batchInsertData(list);
  67. System.out.println("createTodayIndoorEnvData end------->");
  68. }
  69. @Async
  70. @Scheduled(cron = "1 0 0 * * ?")
  71. //@Scheduled(cron = "1 52 18 * * ?")
  72. void createTodayOutdoorEnvData() {
  73. System.out.println("createTodayOutdoorEnvData begin------->");
  74. DateTime today = DateUtil.beginOfDay(new Date());
  75. Date collectTime = today;
  76. List<String> gas = new ArrayList<>();
  77. gas.add("优");
  78. gas.add("良");
  79. gas.add("轻度");
  80. gas.add("中度");
  81. gas.add("重度");
  82. gas.add("严重");
  83. Random random = new Random();
  84. List<OutdoorEnvironmentEntity> list = new ArrayList<>();
  85. for (int i = 0; i < 288; i++) {
  86. OutdoorEnvironmentEntity entity = new OutdoorEnvironmentEntity();
  87. entity.setDate(today);
  88. BigDecimal bigDecimal = new BigDecimal(Math.random() * 3 + 23).setScale(1, BigDecimal.ROUND_HALF_UP);
  89. double temperature = bigDecimal.doubleValue();
  90. entity.setTemperature(temperature);
  91. BigDecimal bigDecimal2 = new BigDecimal(Math.random() * 0.3 + 0.3).setScale(2, BigDecimal.ROUND_HALF_UP);
  92. double humidity = bigDecimal2.doubleValue();
  93. entity.setHumidity(humidity);
  94. entity.setGas(gas.get(random.nextInt(4)));
  95. entity.setCollectTime(collectTime);
  96. collectTime = DateUtil.offsetMinute(collectTime,5);
  97. list.add(entity);
  98. }
  99. outdoorEnvironmentDao.batchInsertData(list);
  100. System.out.println("createTodayOutdoorEnvData end------->");
  101. }
  102. @Async
  103. @Scheduled(cron = "1 0 0 * * ?")
  104. //@Scheduled(cron = "1 52 18 * * ?")
  105. void callPigHealthData() {
  106. System.out.println("callPigHealthData begin------->");
  107. indoorEnvironmentDao.callPigHealthData();
  108. System.out.println("callPigHealthData end------->");
  109. }
  110. }