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);