CurveTest.java 3.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. package com.gyee.generation;
  2. import com.alibaba.fastjson.JSONObject;
  3. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  4. import com.gyee.generation.init.CacheContext;
  5. import com.gyee.generation.model.auto.ProBasicEquipment;
  6. import com.gyee.generation.model.auto.ProEconWtCurveFitting;
  7. import com.gyee.generation.model.auto.ProEconWtCurveFittingMonth;
  8. import com.gyee.generation.model.auto.ProEconWtCurveFittingYear;
  9. import com.gyee.generation.model.vo.CurveType;
  10. import com.gyee.generation.service.auto.IProEconWtCurveFittingMonthService;
  11. import com.gyee.generation.service.auto.IProEconWtCurveFittingService;
  12. import com.gyee.generation.service.auto.IProEconWtCurveFittingYearService;
  13. import com.gyee.generation.util.DateUtils;
  14. import com.gyee.generation.util.redis.RedisService;
  15. import org.junit.Test;
  16. import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
  17. import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
  18. import org.springframework.boot.test.context.SpringBootTest;
  19. import javax.annotation.Resource;
  20. import java.util.Calendar;
  21. import java.util.Comparator;
  22. import java.util.Date;
  23. import java.util.List;
  24. import java.util.stream.Collectors;
  25. /**
  26. * OpenCSV CSVReader Example, Read line by line
  27. *
  28. * @author pankaj
  29. */
  30. @SpringBootTest
  31. @EnableAutoConfiguration(exclude = {DataSourceAutoConfiguration.class})
  32. public class CurveTest {
  33. @Resource
  34. private RedisService redisService;
  35. @Resource
  36. private IProEconWtCurveFittingMonthService proEconWtCurveFittingMonthService;
  37. @Resource
  38. private IProEconWtCurveFittingYearService proEconWtCurveFittingYearService;
  39. @Resource
  40. private IProEconWtCurveFittingService proEconWtCurveFittingService;
  41. @Test
  42. public void csvTest() throws Exception {
  43. Calendar c = Calendar.getInstance();
  44. Date date = DateUtils.truncate(c.getTime());
  45. for (ProBasicEquipment wt : CacheContext.wtls) {
  46. QueryWrapper<ProEconWtCurveFitting> queryWrapper = new QueryWrapper<>();
  47. queryWrapper.eq("record_date", date)
  48. .eq("windturbine_Id", wt.getId());
  49. List<ProEconWtCurveFitting> dayls = proEconWtCurveFittingService.list(queryWrapper).stream()
  50. .sorted(Comparator.comparing(ProEconWtCurveFitting::getSpeed)).collect(Collectors.toList());
  51. if (!dayls.isEmpty()) {
  52. String s = JSONObject.toJSONString(dayls);
  53. redisService.set(CurveType.dayCurve.id + "_" + wt.getId(), s);
  54. }
  55. QueryWrapper<ProEconWtCurveFittingMonth> queryWrapper2 = new QueryWrapper<>();
  56. queryWrapper2.eq("year", String.valueOf(c.get(Calendar.YEAR)))
  57. .eq("month", String.valueOf(c.get(Calendar.MONTH) + 1))
  58. .eq("windturbine_Id", wt.getId());
  59. List<ProEconWtCurveFittingMonth> monthls = proEconWtCurveFittingMonthService.list(queryWrapper2).stream()
  60. .sorted(Comparator.comparing(ProEconWtCurveFittingMonth::getSpeed)).collect(Collectors.toList());
  61. if (!monthls.isEmpty()) {
  62. String s = JSONObject.toJSONString(monthls);
  63. redisService.set(CurveType.monthCurve.id + "_" + wt.getId(), s);
  64. }
  65. QueryWrapper<ProEconWtCurveFittingYear> queryWrapper3 = new QueryWrapper<>();
  66. queryWrapper3.eq("year", String.valueOf(c.get(Calendar.YEAR)))
  67. .eq("windturbine_Id", wt.getId());
  68. List<ProEconWtCurveFittingYear> yearls = proEconWtCurveFittingYearService.list(queryWrapper3).stream()
  69. .sorted(Comparator.comparing(ProEconWtCurveFittingYear::getSpeed)).collect(Collectors.toList());
  70. if (!dayls.isEmpty()) {
  71. String s = JSONObject.toJSONString(dayls);
  72. redisService.set(CurveType.yearCurve.id + "_" + wt.getId(), s);
  73. }
  74. }
  75. // electricityMeteringService.saveGenerationDatas();
  76. }
  77. }