forked from github/dataease
Merge pull request #12810 from dataease/pr@dev-v2@perf_threshold_dynamic_date_perf
perf(X-Pack): 阈值告警-日期类型字段动态值
This commit is contained in:
commit
65ad3dd750
@ -19,7 +19,6 @@ import org.apache.commons.lang3.ObjectUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.*;
|
||||
@ -189,7 +188,7 @@ public class ChartViewThresholdManage {
|
||||
suffixText = "后";
|
||||
}
|
||||
String timeText = "";
|
||||
if (StringUtils.equalsAnyIgnoreCase(format, "HH")) {
|
||||
if (StringUtils.containsIgnoreCase(format, "HH")) {
|
||||
timeText = " " + time;
|
||||
}
|
||||
return count + " " + unitText + suffixText + timeText;
|
||||
@ -316,7 +315,7 @@ public class ChartViewThresholdManage {
|
||||
if ((Objects.equals(fieldDTO.getDeType(), DeTypeConstants.DE_INT) || Objects.equals(fieldDTO.getDeType(), DeTypeConstants.DE_FLOAT)) && StringUtils.equals("dynamic", item.getValueType())) {
|
||||
item.setField(fieldDTO);
|
||||
item.setValue(formatValue(rows, item));
|
||||
} else if (Objects.equals(fieldDTO.getDeType(), DeTypeConstants.DE_TIME)) {
|
||||
} else if (Objects.equals(fieldDTO.getDeType(), DeTypeConstants.DE_TIME) && StringUtils.equals("dynamic", item.getValueType())) {
|
||||
item.setField(fieldDTO);
|
||||
item.setValue(dynamicFormatValue(item));
|
||||
}
|
||||
@ -339,9 +338,9 @@ public class ChartViewThresholdManage {
|
||||
int unit = Integer.parseInt(map.get("unit").toString());
|
||||
int suffix = Integer.parseInt(map.get("suffix").toString());
|
||||
String time = map.get("time").toString();
|
||||
String timeValue = getCustomTimeValue(format, unit, suffix, count);
|
||||
if (StringUtils.containsIgnoreCase(format, "yyyy-MM-dd HH")) {
|
||||
return timeValue + time;
|
||||
String timeValue = getCustomTimeValue(format, unit, suffix, count, false);
|
||||
if (StringUtils.containsIgnoreCase(format, "yyyy-MM-dd HH") && StringUtils.isNotBlank(time)) {
|
||||
return timeValue + " " + time;
|
||||
}
|
||||
return timeValue;
|
||||
} else {
|
||||
@ -349,39 +348,46 @@ public class ChartViewThresholdManage {
|
||||
String fullFormat = "yyyy-MM-dd HH:mm:ss";
|
||||
int length = format.length();
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(fullFormat.substring(0, length));
|
||||
int count = timeFlag == 1 ? 0 : 1;
|
||||
int suffix = timeFlag - 1;
|
||||
if (StringUtils.equalsIgnoreCase("YYYY", format)) {
|
||||
return getCustomTimeValue(format, 1, timeFlag - 1, timeFlag == 1 ? 0 : 1);
|
||||
return getCustomTimeValue(format, 1, suffix, count, true);
|
||||
} else if (StringUtils.equalsIgnoreCase("YYYY-MM", format)) {
|
||||
if (timeFlag == 4) {
|
||||
return now.toLocalDate().withMonth(1).withDayOfMonth(1).format(formatter);
|
||||
return now.withMonth(1).withDayOfMonth(1).format(formatter);
|
||||
} else if (timeFlag == 5) {
|
||||
return now.toLocalDate().withMonth(12).withDayOfMonth(31).format(formatter);
|
||||
return now.withMonth(12).withDayOfMonth(31).format(formatter);
|
||||
} else {
|
||||
return getCustomTimeValue(format, 2, timeFlag - 1, timeFlag == 1 ? 0 : 1);
|
||||
return getCustomTimeValue(format, 2, suffix, count, true);
|
||||
}
|
||||
} else {
|
||||
if (timeFlag == 4) {
|
||||
return now.toLocalDate().withDayOfMonth(1).format(formatter);
|
||||
return now.withDayOfMonth(1).format(formatter);
|
||||
} else if (timeFlag == 5) {
|
||||
return now.toLocalDate().plusMonths(1).withDayOfMonth(1).minusDays(1).format(formatter);
|
||||
return now.plusMonths(1).withDayOfMonth(1).minusDays(1).format(formatter);
|
||||
} else {
|
||||
return getCustomTimeValue(format, 3, timeFlag - 1, timeFlag == 1 ? 0 : 1);
|
||||
return getCustomTimeValue(format, 3, suffix, count, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
} catch (Exception e) {
|
||||
LogUtil.error("动态时间配置错误,请重新配置!");
|
||||
LogUtil.error("动态时间配置错误,请重新配置!" + e.getMessage());
|
||||
return value;
|
||||
}
|
||||
}
|
||||
|
||||
private String getCustomTimeValue(String format, int unit, int suffix, int count) {
|
||||
LocalDate now = LocalDate.now();
|
||||
String fullFormat = "yyyy-MM-dd";
|
||||
int length = Math.min(format.length(), fullFormat.length());
|
||||
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(fullFormat.substring(0, length));
|
||||
private String getCustomTimeValue(String format, int unit, int suffix, int count, boolean hasTime) {
|
||||
LocalDateTime now = LocalDateTime.now();
|
||||
String fullFormat = "yyyy-MM-dd HH:mm:ss";
|
||||
int len = format.length();
|
||||
if (!hasTime) {
|
||||
len = Math.min(len, 10);
|
||||
}
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(fullFormat.substring(0, len));
|
||||
if (count == 0) {
|
||||
return now.format(formatter);
|
||||
}
|
||||
if (unit == 1) {
|
||||
if (suffix == 1) {
|
||||
return now.minusYears(count).format(formatter);
|
||||
|
2
de-xpack
2
de-xpack
@ -1 +1 @@
|
||||
Subproject commit 61d379a73420e736d18e44f2cc3b1d196baca7f3
|
||||
Subproject commit 13ba3b1c1e17dbd39c13749fcb612d06c675b613
|
Loading…
Reference in New Issue
Block a user