From 2df5b10d388cecfc4aa02c0cbc884471963ed48c Mon Sep 17 00:00:00 2001 From: XuqmGroup Date: Mon, 13 Jul 2026 17:17:47 +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 --- Jenkinsfile | 10 +++++++++- .../java/com/xuqm/push/entity/DeviceTokenEntity.java | 6 ++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index d6a7d3d..36e2b8c 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -164,14 +164,22 @@ print('versions.json updated, platformVersion=' + d.get('platformVersion', '')) def serviceVersions = new groovy.json.JsonSlurperClassic().parseText(env.SERVICE_VERSIONS_JSON) def versionFiles = serviceVersions.keySet().collect { "VERSION.${it}" }.join(' ') def summary = serviceVersions.collect { svc, ver -> "${svc}=${ver}" }.join(', ') + // 先本地提交(幂等) bat """ chcp 65001 >nul git config user.email "jenkins@xuqm.com" git config user.name "Jenkins CI" git add ${versionFiles} git diff --cached --quiet || git commit -m "ci: bump versions [${summary}] [skip ci]" - git push origin HEAD:main """ + // push 加 retry + rebase,应对多 job 并发推送冲突 + retry(3) { + bat """ + chcp 65001 >nul + git pull --rebase origin main + git push origin HEAD:main + """ + } } } } diff --git a/push-service/src/main/java/com/xuqm/push/entity/DeviceTokenEntity.java b/push-service/src/main/java/com/xuqm/push/entity/DeviceTokenEntity.java index 9b18eaa..d8aa84e 100644 --- a/push-service/src/main/java/com/xuqm/push/entity/DeviceTokenEntity.java +++ b/push-service/src/main/java/com/xuqm/push/entity/DeviceTokenEntity.java @@ -58,6 +58,12 @@ public class DeviceTokenEntity { @Column(nullable = false) private boolean receivePush = true; + @Column(length = 16) + private String appState; // FOREGROUND | BACKGROUND | TERMINATED + + @Column + private LocalDateTime appStateAt; + @Column private LocalDateTime lastLoginAt;