feat: 默认脚本版本号管理+每次上传递增

This commit is contained in:
mediabot-pt
2026-07-05 23:55:51 +08:00
parent b7adbfd18a
commit 4c751b6586
2 changed files with 19 additions and 2 deletions

View File

@@ -70,7 +70,8 @@ public class ScriptController {
public ApiResponse<Map<String, String>> getDefaultScript(@PathVariable String siteType, HttpServletRequest request) { public ApiResponse<Map<String, String>> getDefaultScript(@PathVariable String siteType, HttpServletRequest request) {
checkAdmin(request); checkAdmin(request);
String script = GroovyScriptEngine.loadDefaultByType(siteType); String script = GroovyScriptEngine.loadDefaultByType(siteType);
return ApiResponse.success(Map.of("siteType", siteType, "script", script != null ? script : "")); int version = GroovyScriptEngine.getDefaultVersion(siteType);
return ApiResponse.success(Map.of("siteType", siteType, "script", script != null ? script : "", "version", String.valueOf(version)));
} }
/** 保存站点类型默认脚本到本地 */ /** 保存站点类型默认脚本到本地 */

View File

@@ -70,7 +70,7 @@ public class GroovyScriptEngine {
} }
/** /**
* 上传默认脚本到七牛云+本地缓存 * 上传默认脚本到七牛云+本地缓存,自动递增版本号
*/ */
public static void saveDefaultScript(String siteType, String script) { public static void saveDefaultScript(String siteType, String script) {
if (siteType == null || script == null) return; if (siteType == null || script == null) return;
@@ -78,10 +78,26 @@ public class GroovyScriptEngine {
DEFAULT_SCRIPTS_CACHE.put(key, script); DEFAULT_SCRIPTS_CACHE.put(key, script);
if (storageService != null) { if (storageService != null) {
storageService.store(DEFAULT_SCRIPTS_PATH + key + ".groovy", script); storageService.store(DEFAULT_SCRIPTS_PATH + key + ".groovy", script);
// 版本号递增
int ver = getDefaultVersion(key) + 1;
storageService.store(DEFAULT_SCRIPTS_PATH + key + ".version", String.valueOf(ver));
} }
log.info("Default script uploaded: default-{}.groovy", key); log.info("Default script uploaded: default-{}.groovy", key);
} }
/** 获取默认脚本版本号 */
public static int getDefaultVersion(String siteType) {
if (siteType == null) return 0;
String key = siteType.toLowerCase();
if (storageService != null) {
try {
String v = storageService.read(DEFAULT_SCRIPTS_PATH + key + ".version");
if (v != null) return Integer.parseInt(v.trim());
} catch (Exception ignored) {}
}
return 0;
}
/** /**
* 加载站点类型默认脚本(优先七牛云/本地缓存,回退到 classpath) * 加载站点类型默认脚本(优先七牛云/本地缓存,回退到 classpath)
*/ */