From 64c2ec7700c2893024f2173672b75752db565d98 Mon Sep 17 00:00:00 2001 From: mediabot-pt <295750538+mediabot-pt@users.noreply.github.com> Date: Mon, 29 Jun 2026 22:49:48 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E9=85=8D=E7=BD=AE=E6=8F=90=E4=BA=A4500?= =?UTF-8?q?=20=E2=80=94=20=E4=BF=AE=E6=AD=A3=E9=9D=99=E6=80=81=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E8=B7=AF=E5=BE=84=20+=20=E5=90=AF=E5=8A=A8=E6=97=B6?= =?UTF-8?q?=E5=88=9B=E5=BB=BA=E7=9B=AE=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - par.static.path 默认 ./static(不再重复 configs/) - @PostConstruct 确保 static/configs 目录存在 - submitConfig 异常时详细日志 --- par-api/src/main/resources/application.yml | 2 +- .../core/service/impl/ConfigServiceImpl.java | 19 ++++++++++++++++++- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/par-api/src/main/resources/application.yml b/par-api/src/main/resources/application.yml index b11ba99..1f7a5bf 100644 --- a/par-api/src/main/resources/application.yml +++ b/par-api/src/main/resources/application.yml @@ -45,7 +45,7 @@ mybatis-plus: par: static: - path: ${PAR_STATIC_PATH:./static/configs/} + path: ${PAR_STATIC_PATH:./static} mediabot: psk: ${PAR_MEDIABOT_PSK:} admin: diff --git a/par-core/src/main/java/com/par/core/service/impl/ConfigServiceImpl.java b/par-core/src/main/java/com/par/core/service/impl/ConfigServiceImpl.java index 1005dfe..19a5104 100644 --- a/par-core/src/main/java/com/par/core/service/impl/ConfigServiceImpl.java +++ b/par-core/src/main/java/com/par/core/service/impl/ConfigServiceImpl.java @@ -6,6 +6,7 @@ import com.par.core.entity.SiteConfig; import com.par.core.enums.ConfigStatus; import com.par.core.mapper.SiteConfigMapper; import com.par.core.service.ConfigService; +import jakarta.annotation.PostConstruct; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; @@ -32,6 +33,16 @@ public class ConfigServiceImpl implements ConfigService { @Value("${par.static.path:./static}") private String staticPath; + @PostConstruct + void init() { + try { + Files.createDirectories(Paths.get(staticPath, "configs")); + log.info("Config static dir ready: {}", Paths.get(staticPath, "configs").toAbsolutePath()); + } catch (IOException e) { + log.error("Failed to create config static dir: {}", e.getMessage()); + } + } + @Override public SiteConfig getLatestConfig(String siteId) { return siteConfigMapper.selectLatestBySiteId(siteId); @@ -71,7 +82,13 @@ public class ConfigServiceImpl implements ConfigService { String configHash = HmacUtil.sha256(configJson); // 存储静态文件 - String storagePath = storeConfigFile(siteId, version, configJson); + String storagePath; + try { + storagePath = storeConfigFile(siteId, version, configJson); + } catch (Exception e) { + log.error("存储配置文件失败 siteId={} version={}: {}", siteId, version, e.getMessage()); + throw new RuntimeException("存储配置文件失败: " + e.getMessage(), e); + } SiteConfig config = new SiteConfig(); config.setSiteId(siteId);