package com.huimv.apiservice; 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.dao.PigDao; import com.huimv.apiservice.dao.SowChildbirthDao; import com.huimv.apiservice.entity.IndoorEnvironmentEntity; import com.huimv.apiservice.entity.OutdoorEnvironmentEntity; import com.huimv.apiservice.entity.SowChildbirthEntity; import com.huimv.apiservice.entity.YearPigBaseEntity; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; import java.math.RoundingMode; import java.util.*; @SpringBootTest class HuimvSmartApiserviceApplicationTests { @Autowired private IndoorEnvironmentDao indoorEnvironmentDao; @Autowired private OutdoorEnvironmentDao outdoorEnvironmentDao; @Autowired private PigDao pigDao; @Autowired private SowChildbirthDao sowChildbirthDao; @Test void contextLoads() { } @Test void createIndoorEnv() { DateTime today = DateUtil.beginOfDay(new Date()); System.out.println(today); // BigDecimal bigDecimal = new BigDecimal(Math.random() * 8 + 25).setScale(1, BigDecimal.ROUND_HALF_UP); // double temperature = bigDecimal.doubleValue(); // BigDecimal bigDecimal2 = new BigDecimal(Math.random() * 0.3 + 0.3).setScale(2, BigDecimal.ROUND_HALF_UP); // double humidity = bigDecimal2.doubleValue(); // System.out.println(temperature + " " + humidity); 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); } @Test void createOutdoorEnv() { DateTime today = DateUtil.beginOfDay(new Date()); System.out.println(today); // BigDecimal bigDecimal = new BigDecimal(Math.random() * 8 + 25).setScale(1, BigDecimal.ROUND_HALF_UP); // double temperature = bigDecimal.doubleValue(); // BigDecimal bigDecimal2 = new BigDecimal(Math.random() * 0.3 + 0.3).setScale(2, BigDecimal.ROUND_HALF_UP); // double humidity = bigDecimal2.doubleValue(); // System.out.println(temperature + " " + humidity); 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); } // @Test // void createPigData() { // // String[] breeds = {"黑猪","金华两头乌","杜巴嘉","巴嘉","杜洛克","嘉兴黑猪","大白猪"}; // String[] originPlace = {"金华","杭州"}; // // List all = new ArrayList<>(); // List mothers = new ArrayList<>(); // List fathers = new ArrayList<>(); // // Random random = new Random(); // for (int i = 5; i < 2001; i++) { // YearPigBaseEntity entity = new YearPigBaseEntity(); // String number = String.valueOf(i); // String earTag = "N00000".substring(0, 6 - number.length()) + number; // entity.setEartag(earTag); // int dayAge = random.nextInt(200) + 50; // entity.setDayAge(dayAge); // entity.setUnitId(random.nextInt(4) + 1); // BigDecimal bigDecimal = new BigDecimal(dayAge); // BigDecimal weight = bigDecimal.multiply(new BigDecimal(0.8)).setScale(2, BigDecimal.ROUND_HALF_UP); // entity.setWeight(weight.doubleValue()); // entity.setBreed(breeds[random.nextInt(breeds.length)]); // String sex = i % 2 == 0 ? "公" : "母"; // entity.setSex(sex); // if (dayAge >= 150 && "母".equals(sex)) { // mothers.add(entity); // } // if (dayAge >= 150 && "公".equals(sex)) { // fathers.add(entity); // } // entity.setBirthday(DateUtil.offsetDay(DateUtil.date(),i % 200)); // entity.setOriginPlace(originPlace[random.nextInt(2)]); // //System.out.println(entity.getDayAge() + " " + " " + entity.getUnitId() + " " + entity.getWeight()); // entity.setPigstyId(random.nextInt(4) + 1); // entity.setPeriodId(1); // entity.setInFenceTime(DateUtil.offsetDay(DateUtil.parseDate("2021-01-01"),random.nextInt(91) - 30)); // all.add(entity); // } // // for (YearPigBaseEntity yearPigBaseEntity : all) { // if (yearPigBaseEntity.getDayAge() < 150) { // yearPigBaseEntity.setMotherEartag(mothers.get(random.nextInt(mothers.size())).getEartag()); // yearPigBaseEntity.setFatherEartag(fathers.get(random.nextInt(fathers.size())).getEartag()); // } // } // pigDao.batchInsertData(all); // // List sowChildbirthEntityList = new ArrayList<>(); // for (YearPigBaseEntity mother : mothers) { // SowChildbirthEntity entity = new SowChildbirthEntity(); // entity.setEartag(mother.getEartag()); // entity.setChildbirthWeight(mother.getWeight()); // entity.setPregnancyDate(DateUtil.offsetMonth(mother.getInFenceTime(),3)); // entity.setChildbirthCount(random.nextInt(10) + 5); // sowChildbirthEntityList.add(entity); // } // sowChildbirthDao.batchInsertData(sowChildbirthEntityList); // // // // // } }