|
@@ -21,6 +21,7 @@ import org.springframework.stereotype.Service;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
import java.math.BigDecimal;
|
|
|
+import java.math.RoundingMode;
|
|
|
import java.time.LocalDateTime;
|
|
|
import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
@@ -426,11 +427,37 @@ public class BizObjMetricsServiceImpl implements IBizObjMetricsService {
|
|
|
//查询当前对象未结束事件列表
|
|
|
Map<Long, HlEvent> eventMap = eventService.selectHlEventListCurr(objId);
|
|
|
|
|
|
+ Random random = new Random();
|
|
|
mList.stream().forEach(om -> {
|
|
|
- Random random = new Random();
|
|
|
- int xxx = (int) (om.getObjMetricsId() % 70);
|
|
|
- float value = (float) random.nextInt(100 - xxx) + xxx;
|
|
|
- om.setDValue(BigDecimal.valueOf(value));
|
|
|
+ double oldV = om.getDValue().floatValue();
|
|
|
+ double modifier = oldV * 0.1;
|
|
|
+ double randomValue = random.nextDouble() * 2 - 1; // 生成-1到1之间的随机数
|
|
|
+
|
|
|
+ double value = oldV + modifier * randomValue;
|
|
|
+ BigDecimal dv = BigDecimal.valueOf(value).setScale(2, RoundingMode.HALF_UP);
|
|
|
+// int xxx = (int) (om.getObjMetricsId() % 70);
|
|
|
+// float value = (float) random.nextInt(100 - xxx) + xxx;
|
|
|
+
|
|
|
+
|
|
|
+ if (dv.doubleValue() < 10) {
|
|
|
+ dv = dv.add(BigDecimal.valueOf(10));
|
|
|
+ }
|
|
|
+
|
|
|
+ if ("1".equals(om.getMetricsDef().getMetricsType())) {
|
|
|
+ dv = dv.setScale(0, RoundingMode.HALF_UP);
|
|
|
+ }
|
|
|
+ if (om.getMetricsCode().endsWith("pp.tot")) {
|
|
|
+ if (dv.doubleValue() < 50) {
|
|
|
+ dv = dv.add(BigDecimal.valueOf(50));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if (om.getMetricsCode().endsWith("pp.error")) {
|
|
|
+ if (dv.doubleValue() > 50) {
|
|
|
+ dv = dv.subtract(BigDecimal.valueOf(50));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ om.setDValue(dv);
|
|
|
BizObjMetricsData data = new BizObjMetricsData();
|
|
|
data.setObjMetricsId(om.getObjMetricsId());
|
|
|
data.setdValue(om.getDValue());
|