PowerStationDataTest.java 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. package com.jiayue.ipfcst.console.service;
  2. import com.alibaba.fastjson.JSON;
  3. import com.jiayue.ipfcst.BaseTest;
  4. import com.jiayue.ipfcst.common.data.abst.equipmentstatus.AbstractEquipmentStatusData;
  5. import com.jiayue.ipfcst.common.data.entity.PowerStationStatusData;
  6. import com.jiayue.ipfcst.common.data.entity.WindTurbineStatusData;
  7. import com.jiayue.ipfcst.console.util.RedisUtils;
  8. import org.junit.Test;
  9. import org.springframework.beans.factory.annotation.Autowired;
  10. import java.lang.reflect.Field;
  11. import java.math.BigDecimal;
  12. import java.util.*;
  13. public class PowerStationDataTest extends BaseTest {
  14. @Autowired
  15. PowerStationDataPackerContainer powerStationDataPackerContainer;
  16. @Autowired
  17. RedisUtils redisUtils;
  18. private final Random random = new Random();
  19. @Test
  20. public void packages() throws Exception {
  21. for (; ; ) {
  22. PowerStationStatusData a = powerStationDataPackerContainer.getDataPacker("Q00002").packageData(BigDecimal.valueOf(0.4));
  23. System.out.println(JSON.toJSONString(a));
  24. Thread.sleep(20000L);
  25. }
  26. }
  27. @Test
  28. public void save() throws Exception {
  29. WindTurbineStatusData data = new WindTurbineStatusData();
  30. data.setStationCode("Q00001");
  31. data.setId(1);
  32. data.setActivePower(BigDecimal.valueOf(random.nextFloat()).multiply(BigDecimal.valueOf(1000)));
  33. saveEquipmentStatusData("FJ-" + data.getStationCode() + "-" + data.getId(), data);
  34. data.setId(2);
  35. data.setActivePower(BigDecimal.valueOf(random.nextFloat()).multiply(BigDecimal.valueOf(1000)));
  36. saveEquipmentStatusData("FJ-" + data.getStationCode() + "-" + data.getId(), data);
  37. data.setId(3);
  38. data.setActivePower(BigDecimal.valueOf(random.nextFloat()).multiply(BigDecimal.valueOf(1000)));
  39. saveEquipmentStatusData("FJ-" + data.getStationCode() + "-" + data.getId(), data);
  40. data.setId(5);
  41. data.setActivePower(BigDecimal.valueOf(random.nextFloat()).multiply(BigDecimal.valueOf(1000)));
  42. saveEquipmentStatusData("FJ-" + data.getStationCode() + "-" + data.getId(), data);
  43. data.setId(7);
  44. data.setActivePower(BigDecimal.valueOf(random.nextFloat()).multiply(BigDecimal.valueOf(1000)));
  45. saveEquipmentStatusData("FJ-" + data.getStationCode() + "-" + data.getId(), data);
  46. data.setId(12);
  47. data.setActivePower(BigDecimal.valueOf(random.nextFloat()).multiply(BigDecimal.valueOf(1000)));
  48. saveEquipmentStatusData("FJ-" + data.getStationCode() + "-" + data.getId(), data);
  49. data.setId(14);
  50. data.setActivePower(BigDecimal.valueOf(random.nextFloat()).multiply(BigDecimal.valueOf(1000)));
  51. saveEquipmentStatusData("FJ-" + data.getStationCode() + "-" + data.getId(), data);
  52. data.setId(16);
  53. data.setActivePower(BigDecimal.valueOf(random.nextFloat()).multiply(BigDecimal.valueOf(1000)));
  54. saveEquipmentStatusData("FJ-" + data.getStationCode() + "-" + data.getId(), data);
  55. data.setId(17);
  56. data.setActivePower(BigDecimal.valueOf(random.nextFloat()).multiply(BigDecimal.valueOf(1000)));
  57. saveEquipmentStatusData("FJ-" + data.getStationCode() + "-" + data.getId(), data);
  58. }
  59. public void saveEquipmentStatusData(String key, AbstractEquipmentStatusData equipmentStatusData) throws IllegalAccessException {
  60. Field[] f1 = equipmentStatusData.getClass().getDeclaredFields();
  61. Field[] f2 = AbstractEquipmentStatusData.class.getDeclaredFields();
  62. List<Field> l = Arrays.asList(f1);
  63. l.addAll(Arrays.asList(f2));
  64. Map<String, String> m = new HashMap<>();
  65. Object o;
  66. for (Field f : l) {
  67. f.setAccessible(true);
  68. o = f.get(equipmentStatusData);
  69. m.put(f.getName(), o.toString());
  70. }
  71. redisUtils.hmset(key, m);
  72. }
  73. }