浏览代码

埋点系统的信息统计接口更新等操作

liuchengsen 4 周之前
父节点
当前提交
7b1191abbc
共有 1 个文件被更改,包括 7 次插入4 次删除
  1. 7 4
      backend-java/src/main/java/com/pharmacopoeia/service/AnalyticsService.java

+ 7 - 4
backend-java/src/main/java/com/pharmacopoeia/service/AnalyticsService.java

@@ -57,7 +57,7 @@ public class AnalyticsService {
         Instant startTime = parseDate(startDate);
         Instant startTime = parseDate(startDate);
         Instant endTime = endDate != null && !endDate.isBlank()
         Instant endTime = endDate != null && !endDate.isBlank()
                 ? LocalDate.parse(endDate).plusDays(1).atStartOfDay(ZoneOffset.UTC).toInstant()
                 ? LocalDate.parse(endDate).plusDays(1).atStartOfDay(ZoneOffset.UTC).toInstant()
-                : null;
+                : Instant.parse("2099-12-31T23:59:59Z");
 
 
         Specification<UserEvent> spec = (root, query, cb) -> {
         Specification<UserEvent> spec = (root, query, cb) -> {
             List<Predicate> predicates = new ArrayList<>();
             List<Predicate> predicates = new ArrayList<>();
@@ -128,8 +128,8 @@ public class AnalyticsService {
         Instant todayStart = parseDate(today);
         Instant todayStart = parseDate(today);
         Instant todayEnd = LocalDate.parse(today).plusDays(1).atStartOfDay(ZoneOffset.UTC).toInstant();
         Instant todayEnd = LocalDate.parse(today).plusDays(1).atStartOfDay(ZoneOffset.UTC).toInstant();
 
 
-        Instant startTime = null;
-        Instant endTime = null;
+        Instant startTime;
+        Instant endTime;
         String label;
         String label;
 
 
         if ("today".equals(range)) {
         if ("today".equals(range)) {
@@ -141,6 +141,9 @@ public class AnalyticsService {
             endTime = todayEnd;
             endTime = todayEnd;
             label = "week";
             label = "week";
         } else {
         } else {
+            // 累计:用极值替代 null,避免 PG 无法推断 NULL::timestamptz 类型
+            startTime = Instant.EPOCH;
+            endTime = Instant.parse("2099-12-31T23:59:59Z");
             label = "total";
             label = "total";
         }
         }
 
 
@@ -163,7 +166,7 @@ public class AnalyticsService {
         Instant startTime = parseDate(startDate);
         Instant startTime = parseDate(startDate);
         Instant endTime = endDate != null && !endDate.isBlank()
         Instant endTime = endDate != null && !endDate.isBlank()
                 ? LocalDate.parse(endDate).plusDays(1).atStartOfDay(ZoneOffset.UTC).toInstant()
                 ? LocalDate.parse(endDate).plusDays(1).atStartOfDay(ZoneOffset.UTC).toInstant()
-                : null;
+                : Instant.parse("2099-12-31T23:59:59Z");
 
 
         Map<String, Object> result = new LinkedHashMap<>();
         Map<String, Object> result = new LinkedHashMap<>();
         // 概览数字(range 控制累计/今天/7天)
         // 概览数字(range 控制累计/今天/7天)