feat: 默认脚本版本号管理+每次上传递增
This commit is contained in:
@@ -70,7 +70,8 @@ public class ScriptController {
|
||||
public ApiResponse<Map<String, String>> getDefaultScript(@PathVariable String siteType, HttpServletRequest request) {
|
||||
checkAdmin(request);
|
||||
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)));
|
||||
}
|
||||
|
||||
/** 保存站点类型默认脚本到本地 */
|
||||
|
||||
@@ -70,7 +70,7 @@ public class GroovyScriptEngine {
|
||||
}
|
||||
|
||||
/**
|
||||
* 上传默认脚本到七牛云+本地缓存
|
||||
* 上传默认脚本到七牛云+本地缓存,自动递增版本号
|
||||
*/
|
||||
public static void saveDefaultScript(String siteType, String script) {
|
||||
if (siteType == null || script == null) return;
|
||||
@@ -78,10 +78,26 @@ public class GroovyScriptEngine {
|
||||
DEFAULT_SCRIPTS_CACHE.put(key, script);
|
||||
if (storageService != null) {
|
||||
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);
|
||||
}
|
||||
|
||||
/** 获取默认脚本版本号 */
|
||||
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)
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user