feat: 实时数据更真实一点

This commit is contained in:
2024-04-09 15:37:11 +08:00
parent 1903e0efcc
commit e34dece155
2 changed files with 15 additions and 4 deletions
@@ -77,7 +77,7 @@ public class KhOilRealtimeDataServiceImpl extends ServiceImpl<KhOilRealtimeDataM
Integer[] arr = {0, 25, 50, 75, 100, 125, 150, 175, 200, 225, 250};
List<Integer> chartTwoX = Arrays.asList(arr);
List<Integer> chartTwoUp = RandomNumberUtil.generateFakeDataList(arr.length, Integer.class);
List<Integer> chartTwoDown = RandomNumberUtil.generateFakeDataList(arr.length, Integer.class);
List<Integer> chartTwoDown = this.getRandomMinusDataList(chartTwoUp);
chartTwo.put("X轴", chartTwoX);
chartTwo.put("上冲程", chartTwoUp);
chartTwo.put("下冲程", chartTwoDown);
@@ -85,7 +85,7 @@ public class KhOilRealtimeDataServiceImpl extends ServiceImpl<KhOilRealtimeDataM
Map<String, List<?>> chartThree = new HashMap<>();
List<String> chartThreeX = RandomNumberUtil.getLast30DaysFormattedDatesAscending();
List<Integer> charThreeMax = RandomNumberUtil.generateFakeDataList(chartThreeX.size(), Integer.class);
List<Integer> chartThreeMin = RandomNumberUtil.generateFakeDataList(chartThreeX.size(), Integer.class);
List<Integer> chartThreeMin = this.getRandomMinusDataList(charThreeMax);
chartThree.put("X轴", chartThreeX);
chartThree.put("最大载荷", charThreeMax);
chartThree.put("最小载荷", chartThreeMin);
@@ -93,5 +93,13 @@ public class KhOilRealtimeDataServiceImpl extends ServiceImpl<KhOilRealtimeDataM
return result;
}
private List<Integer> getRandomMinusDataList(List<Integer> originList) {
List<Integer> data = new ArrayList<>();
for (Integer originData : originList) {
data.add(originData - RandomNumberUtil.getRandomIntBetween(5, 40));
}
return data;
}
}
@@ -22,10 +22,13 @@ public class RandomNumberUtil {
}
public static int getRandomInt() {
// 生成一个在0到100之间,小数点后有2位的随机浮点数
return faker.number().randomDigit();
}
public static int getRandomIntBetween(int min, int max) {
return faker.number().numberBetween(min, max);
}
// 生成指定大小和类型的列表,填充伪随机数据
public static <T> List<T> generateFakeDataList(int size, Class<T> type) {
List<T> resultList = new ArrayList<>();
@@ -33,7 +36,7 @@ public class RandomNumberUtil {
for (int i = 0; i < size; i++) {
if (type.equals(Double.class)) {
// 对于 Double 类型,生成伪随机双精度值
resultList.add(type.cast(faker.number().randomDouble(2, 1, 100)));
resultList.add(type.cast(faker.number().randomDouble(2, 50, 100)));
} else if (type.equals(Integer.class)) {
// 对于 Integer 类型,生成伪随机整数值
resultList.add(type.cast(faker.number().numberBetween(1, 100)));