feat: 默认脚本版本号管理+每次上传递增
This commit is contained in:
@@ -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)));
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 保存站点类型默认脚本到本地 */
|
/** 保存站点类型默认脚本到本地 */
|
||||||
|
|||||||
@@ -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)
|
||||||
*/
|
*/
|
||||||
|
|||||||
Reference in New Issue
Block a user