From 028ebf422262d17ea9451d22fb673afcfc7e5f9c Mon Sep 17 00:00:00 2001 From: XuqmGroup Date: Tue, 23 Jun 2026 16:43:19 +0800 Subject: [PATCH] =?UTF-8?q?fix(file):=20=E8=A7=A3=E5=86=B3=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E4=B8=8B=E8=BD=BD=E5=92=8C=E6=97=B6=E9=97=B4=E6=88=B3?= =?UTF-8?q?=E5=A4=84=E7=90=86=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 实现文件名扩展名推断逻辑,从URL路径自动提取并添加扩展名 - 添加下载错误处理和日志记录功能 - 在下载失败时显示错误通知而非成功通知 - 将服务器时间戳处理统一调整为CST(亚洲/上海)时区 - 更新sdk-core版本号至1.1.6-SNAPSHOT --- .../com/xuqm/bugcollect/service/LogService.java | 14 ++++++++------ .../xuqm/bugcollect/service/SourcemapService.java | 7 ++++--- .../xuqm/bugcollect/service/WebhookService.java | 3 ++- .../src/main/resources/application.yml | 2 +- 4 files changed, 15 insertions(+), 11 deletions(-) diff --git a/xuqm-bugcollect-service/src/main/java/com/xuqm/bugcollect/service/LogService.java b/xuqm-bugcollect-service/src/main/java/com/xuqm/bugcollect/service/LogService.java index 1bce7d4..4899157 100644 --- a/xuqm-bugcollect-service/src/main/java/com/xuqm/bugcollect/service/LogService.java +++ b/xuqm-bugcollect-service/src/main/java/com/xuqm/bugcollect/service/LogService.java @@ -18,6 +18,7 @@ import org.springframework.transaction.annotation.Transactional; import java.time.Instant; import java.time.LocalDate; import java.time.LocalDateTime; +import java.time.ZoneId; import java.time.ZoneOffset; import java.util.*; @@ -25,6 +26,7 @@ import java.util.*; public class LogService { private static final Logger log = LoggerFactory.getLogger(LogService.class); + private static final ZoneId CST = ZoneId.of("Asia/Shanghai"); private final LogIssueRepository issueRepository; private final LogIssueEventRepository issueEventRepository; @@ -71,9 +73,9 @@ public class LogService { return; } - LocalDateTime now = LocalDateTime.now(); + LocalDateTime now = LocalDateTime.now(CST); LocalDateTime eventTime = item.timestamp() > 0 - ? Instant.ofEpochMilli(item.timestamp()).atZone(ZoneOffset.UTC).toLocalDateTime() + ? Instant.ofEpochMilli(item.timestamp()).atZone(CST).toLocalDateTime() : now; String exType = item.exception() != null ? item.exception().type() : ""; @@ -261,8 +263,8 @@ public class LogService { entity.setSdkVersion(item.sdk() != null ? item.sdk().version() : null); entity.setCreatedAt( item.timestamp() > 0 - ? Instant.ofEpochMilli(item.timestamp()).atZone(ZoneOffset.UTC).toLocalDateTime() - : LocalDateTime.now() + ? Instant.ofEpochMilli(item.timestamp()).atZone(CST).toLocalDateTime() + : LocalDateTime.now(CST) ); eventRepository.save(entity); } catch (Exception e) { @@ -399,8 +401,8 @@ public class LogService { public Page queryEvents(String appKey, String name, String userId, String from, String to, int page, int size) { LocalDateTime fromDate = parseDate(from); - LocalDateTime toDate = parseDate(to) != null ? parseDate(to).plusDays(1) : LocalDateTime.now(); - if (fromDate == null) fromDate = LocalDateTime.now().minusDays(7); + LocalDateTime toDate = parseDate(to) != null ? parseDate(to).plusDays(1) : LocalDateTime.now(CST); + if (fromDate == null) fromDate = LocalDateTime.now(CST).minusDays(7); Pageable pageable = PageRequest.of(page, size, Sort.by(Sort.Direction.DESC, "createdAt")); Page result; if (name != null && userId != null) { diff --git a/xuqm-bugcollect-service/src/main/java/com/xuqm/bugcollect/service/SourcemapService.java b/xuqm-bugcollect-service/src/main/java/com/xuqm/bugcollect/service/SourcemapService.java index 66f3cb1..32d706b 100644 --- a/xuqm-bugcollect-service/src/main/java/com/xuqm/bugcollect/service/SourcemapService.java +++ b/xuqm-bugcollect-service/src/main/java/com/xuqm/bugcollect/service/SourcemapService.java @@ -16,6 +16,7 @@ import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.time.LocalDateTime; +import java.time.ZoneId; import java.util.ArrayList; import java.util.LinkedHashSet; import java.util.List; @@ -85,7 +86,7 @@ public class SourcemapService { if (existing.isPresent()) { entity = existing.get(); entity.setStorageKey(filePath.toString()); - entity.setUploadedAt(LocalDateTime.now()); + entity.setUploadedAt(LocalDateTime.now(ZoneId.of("Asia/Shanghai"))); } else { entity = newEntity(appKey, platform, appVersion, buildId, bundleName, filePath.toString()); } @@ -96,7 +97,7 @@ public class SourcemapService { if (existing.isPresent()) { entity = existing.get(); entity.setStorageKey(filePath.toString()); - entity.setUploadedAt(LocalDateTime.now()); + entity.setUploadedAt(LocalDateTime.now(ZoneId.of("Asia/Shanghai"))); } else { entity = newEntity(appKey, platform, appVersion, null, bundleName, filePath.toString()); } @@ -123,7 +124,7 @@ public class SourcemapService { e.setBuildId(buildId); e.setBundleName(bundleName); e.setStorageKey(storageKey); - e.setUploadedAt(LocalDateTime.now()); + e.setUploadedAt(LocalDateTime.now(ZoneId.of("Asia/Shanghai"))); return e; } diff --git a/xuqm-bugcollect-service/src/main/java/com/xuqm/bugcollect/service/WebhookService.java b/xuqm-bugcollect-service/src/main/java/com/xuqm/bugcollect/service/WebhookService.java index 3a56a90..73d0d52 100644 --- a/xuqm-bugcollect-service/src/main/java/com/xuqm/bugcollect/service/WebhookService.java +++ b/xuqm-bugcollect-service/src/main/java/com/xuqm/bugcollect/service/WebhookService.java @@ -21,6 +21,7 @@ import java.net.http.HttpResponse; import java.nio.charset.StandardCharsets; import java.time.Duration; import java.time.LocalDateTime; +import java.time.ZoneId; import java.util.HexFormat; import java.util.List; import java.util.Map; @@ -184,7 +185,7 @@ public class WebhookService { entity.setCooldownSec(request.cooldownSec() > 0 ? request.cooldownSec() : 3600); entity.setSecret(request.secret()); entity.setEnabled(true); - entity.setCreatedAt(LocalDateTime.now()); + entity.setCreatedAt(LocalDateTime.now(ZoneId.of("Asia/Shanghai"))); try { entity.setEvents(objectMapper.writeValueAsString(request.events())); } catch (Exception e) { diff --git a/xuqm-bugcollect-service/src/main/resources/application.yml b/xuqm-bugcollect-service/src/main/resources/application.yml index 01d53f2..5043f92 100644 --- a/xuqm-bugcollect-service/src/main/resources/application.yml +++ b/xuqm-bugcollect-service/src/main/resources/application.yml @@ -36,7 +36,7 @@ spring: max-idle: 8 max-active: 8 jackson: - time-zone: UTC + time-zone: Asia/Shanghai serialization: write-dates-as-timestamps: false flyway: