├── manager └── src │ ├── main │ ├── resources │ │ ├── sqlite │ │ │ └── sqlite数据库存放路径 │ │ ├── static │ │ │ ├── favicon.ico │ │ │ ├── img │ │ │ │ └── avatar.jpg │ │ │ ├── fonts │ │ │ │ ├── inter │ │ │ │ │ ├── inter-400.ttf │ │ │ │ │ ├── inter-500.ttf │ │ │ │ │ └── inter-600.ttf │ │ │ │ └── pacifico │ │ │ │ │ └── pacifico-400.ttf │ │ │ ├── webfonts │ │ │ │ ├── fa-brands-400.ttf │ │ │ │ ├── fa-solid-900.ttf │ │ │ │ ├── fa-brands-400.woff2 │ │ │ │ ├── fa-regular-400.ttf │ │ │ │ ├── fa-solid-900.woff2 │ │ │ │ └── fa-regular-400.woff2 │ │ │ └── css │ │ │ │ ├── fonts │ │ │ │ └── google-fonts.css │ │ │ │ └── main.css │ │ ├── META-INF │ │ │ ├── spring.factories │ │ │ └── extension-spi │ │ │ │ ├── io.github.chenyilei2016.maintain.manager.caller.ClientCaller │ │ │ │ └── io.github.chenyilei2016.maintain.manager.discovery.MaintainConsoleRegistryClientDiscovery │ │ ├── application-local.properties │ │ ├── mapper │ │ │ └── DirectoryNodeMapper.xml │ │ ├── bootstrap-pre.properties │ │ ├── bootstrap-prod.properties │ │ ├── application.properties │ │ ├── application-pre.properties │ │ ├── application-prod.properties │ │ └── logback-spring.xml │ └── java │ │ └── io │ │ └── github │ │ └── chenyilei2016 │ │ └── maintain │ │ └── manager │ │ ├── controller │ │ ├── dto │ │ │ ├── ScriptSaveWebRequest.java │ │ │ ├── GetScriptDetailWebRequest.java │ │ │ ├── ScriptEvalPreviewWebRequest.java │ │ │ ├── ScriptEvalWebRequest.java │ │ │ ├── TreeNodeDeleteWebRequest.java │ │ │ ├── res │ │ │ │ └── LoginInfoWebResponse.java │ │ │ └── TreeNodeSaveWebRequest.java │ │ ├── IndexController.java │ │ ├── assembler │ │ │ └── DirectoryNodeAssembler.java │ │ ├── LoginController.java │ │ └── manager │ │ │ └── ManagerDirectoryController.java │ │ ├── CONST.java │ │ ├── service │ │ ├── ScriptContentService.java │ │ ├── DirectoryService.java │ │ └── impl │ │ │ └── ScriptContentServiceImpl.java │ │ ├── constant │ │ ├── SPIConstants.java │ │ ├── LoginConstants.java │ │ ├── TreeNodeTypeEnum.java │ │ ├── ScriptPermissionEnum.java │ │ └── ManagerConstants.java │ │ ├── utils │ │ ├── IdUtil.java │ │ ├── MutablePair.java │ │ ├── StrUtils.java │ │ └── MyProfileUtils.java │ │ ├── mapper │ │ ├── ScriptContentMapper.java │ │ └── DirectoryNodeMapper.java │ │ ├── pojo │ │ ├── repository │ │ │ ├── ScriptRepository.java │ │ │ ├── ScriptExecutionHistoryRepository.java │ │ │ ├── converter │ │ │ │ ├── ScriptContentConverter.java │ │ │ │ └── DirectoryNodeConverter.java │ │ │ ├── DirectoryNodeRepository.java │ │ │ └── impl │ │ │ │ ├── ScriptExecutionHistoryRepositoryImpl.java │ │ │ │ └── ScriptRepositoryImpl.java │ │ ├── converter │ │ │ └── ScriptExecutionHistoryConverter.java │ │ ├── dto │ │ │ ├── ScriptSaveRequestDTO.java │ │ │ ├── ScriptNodeDTO.java │ │ │ └── DirectoryNodeDTO.java │ │ ├── common │ │ │ ├── AjaxPageResult.java │ │ │ └── AjaxResult.java │ │ ├── mapper │ │ │ ├── ScriptMapper.java │ │ │ ├── DirectoryNodeMapper.java │ │ │ └── ScriptExecutionHistoryMapper.java │ │ ├── entity │ │ │ ├── ScriptExecutionHistoryEntity.java │ │ │ ├── Script.java │ │ │ ├── DirectoryNode.java │ │ │ └── ScriptPermissionEntity.java │ │ ├── dataobject │ │ │ ├── ScriptDO.java │ │ │ ├── DirectoryNodeDO.java │ │ │ └── ScriptExecutionHistoryDO.java │ │ └── vo │ │ │ └── ScriptVO.java │ │ ├── config │ │ ├── ManagerProperties.java │ │ ├── MybatisPlusConfig.java │ │ └── WebMvcConfig.java │ │ ├── context │ │ ├── LocalLoginUser.java │ │ ├── LoginUserContext.java │ │ └── ApplicationContextHolder.java │ │ ├── discovery │ │ ├── MaintainConsoleRegistryClientDiscovery.java │ │ └── LocalRegistryClientDiscovery.java │ │ ├── caller │ │ ├── ClientCaller.java │ │ ├── http │ │ │ ├── OkHttpUrlSelectionInterceptor.java │ │ │ ├── HttpMaintainConsoleClientApiAdapter.java │ │ │ ├── HttpClientCaller.java │ │ │ └── RetrofitHttpProxyFactory.java │ │ ├── ClientCallerContext.java │ │ └── wrapper │ │ │ └── ClientCallerWrapper.java │ │ ├── MaintainManagerBootstrap.java │ │ └── exceptions │ │ └── CommonException.java │ └── test │ └── java │ └── io │ └── github │ └── chenyilei2016 │ └── maintain │ └── manager │ ├── params │ └── TestParamsReplace.java │ ├── pojo │ └── vo │ │ └── ScriptVOTest.java │ ├── caller │ ├── HostSelectionInterceptor.java │ └── ClientCallerTest.java │ └── groovy │ └── Test1.java ├── groovy-sample ├── src │ └── main │ │ └── groovy │ │ ├── learnFile.txt │ │ ├── _1_Hello.groovy │ │ ├── ConsoleBase.groovy │ │ ├── ExtScript.java │ │ ├── CClassLoader.java │ │ ├── _2_str_execute.groovy │ │ ├── _4_map.groovy │ │ ├── GroovyExecuteTest.groovy │ │ ├── _5_闭包.groovy │ │ ├── ConsoleBindingTest.groovy │ │ └── _3_列表_数组.groovy └── pom.xml ├── docs ├── images │ ├── main1.png │ └── main2.png ├── directory_management_sqlite.sql └── directory_management.sql ├── maintain-console-client ├── maintain-console-client-http-starter │ ├── src │ │ └── main │ │ │ ├── resources │ │ │ └── META-INF │ │ │ │ └── spring.factories │ │ │ └── java │ │ │ └── io │ │ │ └── github │ │ │ └── chenyilei2016 │ │ │ └── maintain │ │ │ └── client │ │ │ └── http │ │ │ └── configuration │ │ │ └── MaintainConsoleClientHttpAutoConfiguration.java │ └── pom.xml ├── maintain-console-client-registry-starter │ ├── src │ │ └── main │ │ │ ├── resources │ │ │ └── META-INF │ │ │ │ └── spring.factories │ │ │ └── java │ │ │ └── io │ │ │ └── github │ │ │ └── chenyilei2016 │ │ │ └── maintain │ │ │ └── client │ │ │ └── registry │ │ │ ├── properties │ │ │ └── MaintainConsoleRegistryProperties.java │ │ │ ├── configuration │ │ │ └── MaintainConsoleClientRegistryAutoConfiguration.java │ │ │ ├── metadata │ │ │ └── MaintainConsoleMetadataPostProcessor.java │ │ │ └── MergedDelegateRegistration.java │ └── pom.xml ├── maintain-console-client-groovy-support-starter │ ├── src │ │ ├── main │ │ │ ├── resources │ │ │ │ └── META-INF │ │ │ │ │ └── spring.factories │ │ │ ├── groovy │ │ │ │ └── io │ │ │ │ │ └── github │ │ │ │ │ └── chenyilei2016 │ │ │ │ │ └── maintain │ │ │ │ │ └── client │ │ │ │ │ └── groovy │ │ │ │ │ ├── ConsoleStorage.groovy │ │ │ │ │ └── BaseConsoleExtService.groovy │ │ │ └── java │ │ │ │ └── io │ │ │ │ └── github │ │ │ │ └── chenyilei2016 │ │ │ │ └── maintain │ │ │ │ └── client │ │ │ │ └── groovy │ │ │ │ ├── configuration │ │ │ │ └── MaintainConsoleClientGroovyAutoConfiguration.java │ │ │ │ └── execute │ │ │ │ └── GroovyMaintainConsoleExecutor.java │ │ └── test │ │ │ └── groovy │ │ │ └── io │ │ │ └── github │ │ │ └── chenyilei2016 │ │ │ └── maintain │ │ │ └── client │ │ │ └── groovy │ │ │ └── BaseConsoleExtServiceTest.groovy │ └── pom.xml ├── maintain-console-client-common │ ├── src │ │ ├── main │ │ │ └── java │ │ │ │ └── io │ │ │ │ └── github │ │ │ │ └── chenyilei2016 │ │ │ │ └── maintain │ │ │ │ └── client │ │ │ │ └── common │ │ │ │ ├── console │ │ │ │ └── IMaintainConsoleExecutor.java │ │ │ │ ├── dto │ │ │ │ ├── InvokeCommandResultDTO.java │ │ │ │ ├── InvokeCommandParamSignDTO.java │ │ │ │ ├── InvokeScriptResultDTO.java │ │ │ │ ├── BaseSignDTO.java │ │ │ │ ├── InvokeScriptParamSignDTO.java │ │ │ │ └── ApiResult.java │ │ │ │ ├── constants │ │ │ │ ├── MaintainConsoleClientHttpConst.java │ │ │ │ └── MaintainConsoleClientCommonConst.java │ │ │ │ ├── api │ │ │ │ └── MaintainConsoleClientApi.java │ │ │ │ └── utils │ │ │ │ └── LogUtil.java │ │ └── test │ │ │ └── java │ │ │ └── io │ │ │ └── github │ │ │ └── chenyilei2016 │ │ │ └── maintain │ │ │ └── client │ │ │ └── common │ │ │ └── utils │ │ │ └── RSAUtilTest.java │ └── pom.xml └── pom.xml ├── sample-projects ├── sample-nacos-http-project │ ├── src │ │ └── main │ │ │ ├── resources │ │ │ ├── application.properties │ │ │ └── logback-spring.xml │ │ │ └── java │ │ │ └── io │ │ │ └── github │ │ │ └── chenyilei2016 │ │ │ └── maintain │ │ │ └── sample │ │ │ └── httpnacos │ │ │ └── SampleNacosHttpApp.java │ └── pom.xml ├── pom.xml └── sample-common │ └── pom.xml ├── .gitignore └── pom.xml /manager/src/main/resources/sqlite/sqlite数据库存放路径: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /groovy-sample/src/main/groovy/learnFile.txt: -------------------------------------------------------------------------------- 1 | 基础语法 https://www.w3cschool.cn/groovy/groovy_regular_expressions.html -------------------------------------------------------------------------------- /docs/images/main1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChenYilei2016/maintain-console-public/HEAD/docs/images/main1.png -------------------------------------------------------------------------------- /docs/images/main2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChenYilei2016/maintain-console-public/HEAD/docs/images/main2.png -------------------------------------------------------------------------------- /manager/src/main/resources/static/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChenYilei2016/maintain-console-public/HEAD/manager/src/main/resources/static/favicon.ico -------------------------------------------------------------------------------- /manager/src/main/resources/static/img/avatar.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChenYilei2016/maintain-console-public/HEAD/manager/src/main/resources/static/img/avatar.jpg -------------------------------------------------------------------------------- /manager/src/main/resources/static/fonts/inter/inter-400.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChenYilei2016/maintain-console-public/HEAD/manager/src/main/resources/static/fonts/inter/inter-400.ttf -------------------------------------------------------------------------------- /manager/src/main/resources/static/fonts/inter/inter-500.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChenYilei2016/maintain-console-public/HEAD/manager/src/main/resources/static/fonts/inter/inter-500.ttf -------------------------------------------------------------------------------- /manager/src/main/resources/static/fonts/inter/inter-600.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChenYilei2016/maintain-console-public/HEAD/manager/src/main/resources/static/fonts/inter/inter-600.ttf -------------------------------------------------------------------------------- /manager/src/main/resources/static/webfonts/fa-brands-400.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChenYilei2016/maintain-console-public/HEAD/manager/src/main/resources/static/webfonts/fa-brands-400.ttf -------------------------------------------------------------------------------- /manager/src/main/resources/static/webfonts/fa-solid-900.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChenYilei2016/maintain-console-public/HEAD/manager/src/main/resources/static/webfonts/fa-solid-900.ttf -------------------------------------------------------------------------------- /manager/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ 2 | io.github.chenyilei2016.maintain.manager.context.ApplicationContextHolder -------------------------------------------------------------------------------- /manager/src/main/resources/static/webfonts/fa-brands-400.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChenYilei2016/maintain-console-public/HEAD/manager/src/main/resources/static/webfonts/fa-brands-400.woff2 -------------------------------------------------------------------------------- /manager/src/main/resources/static/webfonts/fa-regular-400.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChenYilei2016/maintain-console-public/HEAD/manager/src/main/resources/static/webfonts/fa-regular-400.ttf -------------------------------------------------------------------------------- /manager/src/main/resources/static/webfonts/fa-solid-900.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChenYilei2016/maintain-console-public/HEAD/manager/src/main/resources/static/webfonts/fa-solid-900.woff2 -------------------------------------------------------------------------------- /manager/src/main/resources/static/fonts/pacifico/pacifico-400.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChenYilei2016/maintain-console-public/HEAD/manager/src/main/resources/static/fonts/pacifico/pacifico-400.ttf -------------------------------------------------------------------------------- /manager/src/main/resources/static/webfonts/fa-regular-400.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChenYilei2016/maintain-console-public/HEAD/manager/src/main/resources/static/webfonts/fa-regular-400.woff2 -------------------------------------------------------------------------------- /groovy-sample/src/main/groovy/_1_Hello.groovy: -------------------------------------------------------------------------------- 1 | public static void main(String[] args) { 2 | for (i in 0..<10) { 3 | 4 | System.err.println("" + i) 5 | } 6 | 7 | for (i in 1..10) { 8 | println("极简" + i) 9 | } 10 | } -------------------------------------------------------------------------------- /manager/src/main/resources/META-INF/extension-spi/io.github.chenyilei2016.maintain.manager.caller.ClientCaller: -------------------------------------------------------------------------------- 1 | wrapper=io.github.chenyilei2016.maintain.manager.caller.wrapper.ClientCallerWrapper 2 | http=io.github.chenyilei2016.maintain.manager.caller.http.HttpClientCaller -------------------------------------------------------------------------------- /maintain-console-client/maintain-console-client-http-starter/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ 2 | io.github.chenyilei2016.maintain.client.http.configuration.MaintainConsoleClientHttpAutoConfiguration -------------------------------------------------------------------------------- /maintain-console-client/maintain-console-client-registry-starter/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ 2 | io.github.chenyilei2016.maintain.client.registry.configuration.MaintainConsoleClientRegistryAutoConfiguration -------------------------------------------------------------------------------- /maintain-console-client/maintain-console-client-groovy-support-starter/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ 2 | io.github.chenyilei2016.maintain.client.groovy.configuration.MaintainConsoleClientGroovyAutoConfiguration -------------------------------------------------------------------------------- /manager/src/main/resources/application-local.properties: -------------------------------------------------------------------------------- 1 | spring.datasource.url=jdbc:sqlite:manager/src/main/resources/sqlite/maintain-manager.sqlite 2 | spring.datasource.driver-class-name=org.sqlite.JDBC 3 | spring.cloud.nacos.discovery.enabled=false 4 | spring.cloud.nacos.config.enabled=false -------------------------------------------------------------------------------- /manager/src/main/resources/META-INF/extension-spi/io.github.chenyilei2016.maintain.manager.discovery.MaintainConsoleRegistryClientDiscovery: -------------------------------------------------------------------------------- 1 | springCloud=io.github.chenyilei2016.maintain.manager.discovery.SpringCloudRegistryClientDiscovery 2 | local=io.github.chenyilei2016.maintain.manager.discovery.LocalRegistryClientDiscovery -------------------------------------------------------------------------------- /manager/src/main/resources/mapper/DirectoryNodeMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /manager/src/main/java/io/github/chenyilei2016/maintain/manager/controller/dto/ScriptSaveWebRequest.java: -------------------------------------------------------------------------------- 1 | package io.github.chenyilei2016.maintain.manager.controller.dto; 2 | 3 | import lombok.Data; 4 | 5 | /** 6 | * @author chenyilei 7 | * @since 2025/07/31 22:35 8 | */ 9 | @Data 10 | public class ScriptSaveWebRequest { 11 | } 12 | -------------------------------------------------------------------------------- /groovy-sample/src/main/groovy/ConsoleBase.groovy: -------------------------------------------------------------------------------- 1 | /** 2 | * @author chenyilei 3 | * 2022/05/09 17:08 4 | */ 5 | 6 | 7 | class ConsoleBase { 8 | def storage = [:] //空map 9 | 10 | def propertyMissing(String name, value) { this.storage[name] = value } 11 | 12 | def propertyMissing(String name) { this.storage[name] } 13 | 14 | } -------------------------------------------------------------------------------- /manager/src/main/java/io/github/chenyilei2016/maintain/manager/CONST.java: -------------------------------------------------------------------------------- 1 | package io.github.chenyilei2016.maintain.manager; 2 | 3 | import lombok.experimental.UtilityClass; 4 | 5 | /** 6 | * @author chenyilei 7 | * @since 2025/08/07 17:27 8 | */ 9 | @UtilityClass 10 | public class CONST { 11 | public static final String APP_NAME = "maintain-console"; 12 | } 13 | -------------------------------------------------------------------------------- /manager/src/main/java/io/github/chenyilei2016/maintain/manager/controller/dto/GetScriptDetailWebRequest.java: -------------------------------------------------------------------------------- 1 | package io.github.chenyilei2016.maintain.manager.controller.dto; 2 | 3 | import lombok.Data; 4 | 5 | /** 6 | * @author chenyilei 7 | * @since 2025/07/31 21:52 8 | */ 9 | @Data 10 | public class GetScriptDetailWebRequest { 11 | 12 | private String scriptId; 13 | 14 | } 15 | -------------------------------------------------------------------------------- /maintain-console-client/maintain-console-client-common/src/main/java/io/github/chenyilei2016/maintain/client/common/console/IMaintainConsoleExecutor.java: -------------------------------------------------------------------------------- 1 | package io.github.chenyilei2016.maintain.client.common.console; 2 | 3 | /** 4 | * @author chenyilei 5 | * @since 2024/05/20 14:52 6 | */ 7 | public interface IMaintainConsoleExecutor { 8 | 9 | Object execute(String script); 10 | } 11 | -------------------------------------------------------------------------------- /manager/src/main/java/io/github/chenyilei2016/maintain/manager/service/ScriptContentService.java: -------------------------------------------------------------------------------- 1 | package io.github.chenyilei2016.maintain.manager.service; 2 | 3 | import io.github.chenyilei2016.maintain.manager.pojo.vo.ScriptVO; 4 | 5 | /** 6 | * @author chenyilei 7 | * @since 2025/08/06 11:38 8 | */ 9 | public interface ScriptContentService { 10 | ScriptVO findById(String scriptId); 11 | } 12 | -------------------------------------------------------------------------------- /manager/src/main/java/io/github/chenyilei2016/maintain/manager/constant/SPIConstants.java: -------------------------------------------------------------------------------- 1 | package io.github.chenyilei2016.maintain.manager.constant; 2 | 3 | /** 4 | * @author chenyilei 5 | * @since 2024/05/21 14:26 6 | */ 7 | public interface SPIConstants { 8 | 9 | String CLIENT_CALL_RPC_TYPE = "maintain.console.spi.rpc"; 10 | 11 | String REGISTRY_CLIENT_DISCOVERY_TYPE = "maintain.console.spi.discovery"; 12 | } 13 | -------------------------------------------------------------------------------- /manager/src/main/java/io/github/chenyilei2016/maintain/manager/constant/LoginConstants.java: -------------------------------------------------------------------------------- 1 | package io.github.chenyilei2016.maintain.manager.constant; 2 | 3 | import lombok.Data; 4 | 5 | /** 6 | * --添加相关注释-- 7 | * 8 | * @author qingshi 9 | * @email 705029004@qq.com 10 | * @date 2020/01/21- 09:54 11 | */ 12 | @Data 13 | public class LoginConstants { 14 | public static final String LOGIN_KEY = "__login_user_key__"; 15 | } 16 | -------------------------------------------------------------------------------- /manager/src/main/resources/bootstrap-pre.properties: -------------------------------------------------------------------------------- 1 | # \u914D\u7F6E\u4E2D\u5FC3 2 | spring.cloud.nacos.config.enabled=true 3 | spring.cloud.nacos.config.server-addr=${remote.nacos.url} 4 | spring.cloud.nacos.config.name=maintain-console 5 | spring.cloud.nacos.config.group=DEFAULT_GROUP 6 | spring.cloud.nacos.config.namespace=pre 7 | spring.cloud.nacos.config.refresh=true 8 | spring.cloud.nacos.config.refresh-enabled=true 9 | spring.cloud.nacos.config.file-extension=properties -------------------------------------------------------------------------------- /manager/src/main/resources/bootstrap-prod.properties: -------------------------------------------------------------------------------- 1 | # \u914D\u7F6E\u4E2D\u5FC3 2 | spring.cloud.nacos.config.enabled=true 3 | spring.cloud.nacos.config.server-addr=${remote.nacos.url} 4 | spring.cloud.nacos.config.name=maintain-console 5 | spring.cloud.nacos.config.group=DEFAULT_GROUP 6 | spring.cloud.nacos.config.namespace=public 7 | spring.cloud.nacos.config.refresh=true 8 | spring.cloud.nacos.config.refresh-enabled=true 9 | spring.cloud.nacos.config.file-extension=properties -------------------------------------------------------------------------------- /maintain-console-client/maintain-console-client-groovy-support-starter/src/main/groovy/io/github/chenyilei2016/maintain/client/groovy/ConsoleStorage.groovy: -------------------------------------------------------------------------------- 1 | package io.github.chenyilei2016.maintain.client.groovy 2 | /** 3 | * @author chenyilei 4 | * 2024/05/09 17:08 5 | */ 6 | 7 | class ConsoleStorage { 8 | def storage = [:] //空map 9 | 10 | def propertyMissing(String name, value) { this.storage[name] = value } 11 | 12 | def propertyMissing(String name) { this.storage[name] } 13 | 14 | } -------------------------------------------------------------------------------- /manager/src/main/java/io/github/chenyilei2016/maintain/manager/utils/IdUtil.java: -------------------------------------------------------------------------------- 1 | package io.github.chenyilei2016.maintain.manager.utils; 2 | 3 | import com.baomidou.mybatisplus.core.toolkit.IdWorker; 4 | import lombok.experimental.UtilityClass; 5 | 6 | /** 7 | * @author chenyilei 8 | * @since 2025/07/31 20:22 9 | */ 10 | @UtilityClass 11 | public class IdUtil { 12 | 13 | public String generateSnowFlakeId() { 14 | // 这里可以使用UUID或其他方式生成唯一ID 15 | return IdWorker.getIdStr(); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /manager/src/main/java/io/github/chenyilei2016/maintain/manager/mapper/ScriptContentMapper.java: -------------------------------------------------------------------------------- 1 | package io.github.chenyilei2016.maintain.manager.mapper; 2 | 3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; 4 | import io.github.chenyilei2016.maintain.manager.pojo.entity.Script; 5 | import org.apache.ibatis.annotations.Mapper; 6 | 7 | /** 8 | * 脚本内容Mapper接口 9 | * 10 | * @author chenyilei 11 | * @since 2025/07/31 12 | */ 13 | @Mapper 14 | public interface ScriptContentMapper extends BaseMapper