From f4e8dfd7f8f11966f4b5dc8c6661cbc3feccc4cf Mon Sep 17 00:00:00 2001
From: hejianhao <15708179461@qq.com>
Date: 星期二, 01 九月 2026 16:17:29 +0800
Subject: [PATCH] fix0901: 继续修复扫描问题

---
 tcm-training-admin-backend/src/main/java/com/tcm/training/admin/system/service/AppVersionSettingsAppService.java |   28 +++++++++++++++++++++++++++-
 1 files changed, 27 insertions(+), 1 deletions(-)

diff --git a/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/system/service/AppVersionSettingsAppService.java b/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/system/service/AppVersionSettingsAppService.java
index ce43d2c..920ed6c 100644
--- a/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/system/service/AppVersionSettingsAppService.java
+++ b/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/system/service/AppVersionSettingsAppService.java
@@ -42,7 +42,7 @@
         return toDetailVO(requireItem(id));
     }
 
-    @Transactional
+    @Transactional(rollbackFor = Exception.class)
     public AppVersionDetailVO create(AppVersionCreateRequest request) {
         AppVersionConfig latest = latest();
         String androidFileUrl = normalizeOptionalText(request.getAndroidFileUrl());
@@ -99,6 +99,32 @@
         return vo;
     }
 
+    public AppVersionCheckVO checkUpdateNew(String platform) {
+
+        String normalizedPlatform = normalizePlatform(platform);
+        AppVersionConfig latest = latest();
+        AppVersionCheckVO vo = new AppVersionCheckVO();
+        if (latest == null) {
+            vo.setHasUpdate(Boolean.FALSE);
+            return vo;
+        }
+
+        String downloadUrl = AppVersionConfig.PLATFORM_ANDROID.equals(normalizedPlatform)
+                ? normalizeOptionalText(latest.getAndroidFileUrl())
+                : normalizeOptionalText(latest.getIosFileUrl());
+        boolean hasUpdate = downloadUrl != null;
+        vo.setHasUpdate(hasUpdate);
+        if (!hasUpdate) {
+            return vo;
+        }
+        vo.setLatestVersionNo(latest.getVersionNo());
+        vo.setLatestVersionCode(defaultNumber(latest.getVersionCode()));
+        vo.setForceUpdate(integerToBoolean(latest.getForceUpdate()));
+        vo.setUpdateNotice(latest.getUpdateNotice());
+        vo.setDownloadUrl(downloadUrl);
+        return vo;
+    }
+
     /**
      * 判断后台最新版本是否高于当前 APP,兼容原生 versionCode 与展示 versionNo 不一致的历史包。
      */

--
Gitblit v1.7.1