From 2af0bf184b890784dcab38a6d476b548e55681e5 Mon Sep 17 00:00:00 2001 From: dongmucat <1127093059@qq.com> Date: Thu, 14 May 2026 11:38:35 +0800 Subject: [PATCH] fix(promotion): copy bundleReady and downloadReady when promoting skill to global When approving a promotion, the new SkillVersion was created without copying bundleReady and downloadReady from the source version, causing the download button to be permanently disabled for promoted skills. --- .../com/iflytek/skillhub/domain/review/PromotionService.java | 2 ++ .../iflytek/skillhub/domain/review/PromotionServiceTest.java | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/server/skillhub-domain/src/main/java/com/iflytek/skillhub/domain/review/PromotionService.java b/server/skillhub-domain/src/main/java/com/iflytek/skillhub/domain/review/PromotionService.java index 4ce5d3c9..1a1429d0 100644 --- a/server/skillhub-domain/src/main/java/com/iflytek/skillhub/domain/review/PromotionService.java +++ b/server/skillhub-domain/src/main/java/com/iflytek/skillhub/domain/review/PromotionService.java @@ -234,6 +234,8 @@ public class PromotionService { newVersion.setManifestJson(sourceVersion.getManifestJson()); newVersion.setFileCount(sourceVersion.getFileCount()); newVersion.setTotalSize(sourceVersion.getTotalSize()); + newVersion.setBundleReady(sourceVersion.isBundleReady()); + newVersion.setDownloadReady(sourceVersion.isDownloadReady()); newVersion = skillVersionRepository.save(newVersion); // Update skill's latest version diff --git a/server/skillhub-domain/src/test/java/com/iflytek/skillhub/domain/review/PromotionServiceTest.java b/server/skillhub-domain/src/test/java/com/iflytek/skillhub/domain/review/PromotionServiceTest.java index 8586f96d..19b1887f 100644 --- a/server/skillhub-domain/src/test/java/com/iflytek/skillhub/domain/review/PromotionServiceTest.java +++ b/server/skillhub-domain/src/test/java/com/iflytek/skillhub/domain/review/PromotionServiceTest.java @@ -91,6 +91,8 @@ class PromotionServiceTest { sv.setManifestJson("{\"version\":\"1.0.0\"}"); sv.setFileCount(3); sv.setTotalSize(1024L); + sv.setBundleReady(true); + sv.setDownloadReady(true); return sv; } @@ -466,6 +468,8 @@ class PromotionServiceTest { assertEquals(3, newVersion.getFileCount()); assertEquals(1024L, newVersion.getTotalSize()); assertEquals(Instant.now(CLOCK), newVersion.getPublishedAt()); + assertTrue(newVersion.isBundleReady()); + assertTrue(newVersion.isDownloadReady()); // Verify files copied @SuppressWarnings("unchecked")