From 441964d0e8f689700aad8208b7ff32c345817a58 Mon Sep 17 00:00:00 2001 From: wangshaoping Date: Mon, 14 Jul 2025 11:39:42 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9F=BA=E7=A1=80=E6=A1=86=E6=9E=B6=E5=8F=91?= =?UTF-8?q?=E5=B8=83:=208.2.24=20=20=201)=20=E6=94=AF=E6=8C=81=E4=BA=91?= =?UTF-8?q?=E5=B9=B3=E5=8F=B0=E9=83=A8=E7=BD=B2=EF=BC=8C=E5=8D=B3=E6=94=AF?= =?UTF-8?q?=E6=8C=81=E9=85=8D=E7=BD=AE=E6=96=87=E4=BB=B6=E5=AD=98=E5=82=A8?= =?UTF-8?q?=E4=B8=8Eclasspath=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 前端核心发布: 8.2.24 --- .../resources/config/application.properties | 270 ++++++++++++++++++ .../src/main/resources/config/banner.txt | 48 ++++ .../src/main/resources/config/license.lic | 9 + .../main/resources/config/logback-spring.xml | 129 +++++++++ cips.frontend/package.json | 4 +- erm.frontend/package.json | 4 +- gradle.properties | 4 +- io.sc.engine.mv.frontend/package.json | 4 +- .../plugins/exportable-resources.json | 32 +-- .../rule/core/code/template/import_render.tpl | 4 +- .../rule/core/code/template/processor/sql.tpl | 2 +- io.sc.engine.rule.frontend/package.json | 4 +- .../service/impl/TestCaseServiceImpl.java | 2 +- io.sc.engine.st.frontend/package.json | 4 +- io.sc.platform.ai.frontend/package.json | 4 +- io.sc.platform.core.frontend/package.json | 2 +- .../template-project/package.json | 4 +- .../java/io/sc/platform/core/Environment.java | 10 + .../impl/LicenseManagerServiceImpl.java | 17 +- .../BeforeEnvironmentProcessor.java | 15 +- io.sc.platform.developer.doc/package.json | 4 +- .../package.json | 4 +- .../service/impl/InstallerServiceImpl.java | 3 + io.sc.platform.lcdp.frontend/package.json | 4 +- .../package.json | 4 +- io.sc.platform.mvc.frontend/package.json | 4 +- .../package.json | 4 +- io.sc.platform.system.frontend/package.json | 4 +- .../memory/MemoryJavaCompilerClassLoader.java | 5 + io.sc.standard.frontend/package.json | 4 +- io.sc.website/package.json | 4 +- wra.report.frontend/package.json | 4 +- 32 files changed, 557 insertions(+), 63 deletions(-) create mode 100644 app.platform/src/main/resources/config/application.properties create mode 100644 app.platform/src/main/resources/config/banner.txt create mode 100644 app.platform/src/main/resources/config/license.lic create mode 100644 app.platform/src/main/resources/config/logback-spring.xml diff --git a/app.platform/src/main/resources/config/application.properties b/app.platform/src/main/resources/config/application.properties new file mode 100644 index 00000000..022c43ae --- /dev/null +++ b/app.platform/src/main/resources/config/application.properties @@ -0,0 +1,270 @@ +########################################################################## +#(100) excluded auto configuration - io.sc.platform.core +########################################################################## +spring.autoconfigure.exclude = +spring.main.allow-circular-references = true + +########################################################################## +#(150) application configuration - io.sc.platform.core +########################################################################## +# - io.sc.platform.core +application.audit-log-mode = none +#application.audit-log-mode = none +#application.audit-log-mode = log +#application.audit-log-mode = database +application.is-multi-corporation-mode = false +# - io.sc.platform.installer +application.installer.enabled = true +# - io.sc.platform.jdbc.liquibase +application.updater.enabled = false +# - io.sc.platform.security +# the default password, apply to reset password +application.password.default = password +# password validator enable, true or false +application.password.validator.enable = false +# the password strength, must be: weak, middle or strong +application.password.validator.passedStrength = weak +application.password.validator.expression = ^(?\=.*[a-z])(?\=.*[A-Z])(?\=.*\\d)(?\=.*[@$\!%*?&])[A-Za-z\\d@$\!%*?&]{6,}$ +application.password.validator.strongLength = 12 +application.password.validator.middleLength = 8 +application.password.validator.weakLength = 6 + +########################################################################## +#(200) spring.main configuration - io.sc.platform.core +########################################################################## +spring.main.allow-bean-definition-overriding = false +spring.main.banner-mode = console +spring.main.lazy-initialization = false +spring.main.log-startup-info = true +spring.main.register-shutdown-hook = true + +########################################################################## +#(210) jasypt encryptor configuration - io.sc.platform.core +########################################################################## +jasypt.encryptor.bean = platformJasyptStringEncryptor + +########################################################################## +#(300) web server configuration - io.sc.platform.core +########################################################################## +server.compression.enabled = true +server.ssl.enabled = false +server.ssl.key-store = classpath:keystore/keystore.p12 +server.ssl.key-store-password = ENC(BWQMgGHmKLMSOsLQgyf1ejQl45HER/XG) +server.ssl.keyStoreType = PKCS12 +server.ssl.keyAlias = platform +server.address = +server.port = 8080 +server.servlet.context-path = / +server.servlet.session.timeout = 30m +server.error.path = /error +server.error.whitelabel.enabled = true +server.error.include-exception = true +server.error.include-binding-errors = always +server.error.include-message = always +server.error.include-stacktrace = always + +########################################################################## +#(1000) dataSource configuration - io.sc.platform.jdbc +########################################################################## +spring.datasource.items[primary].driver-class-name = com.p6spy.engine.spy.P6SpyDriver +spring.datasource.items[primary].url = jdbc:p6spy:mysql://localhost:3306/platform?autoReconnect\=true&allowPublicKeyRetrieval\=true&useSSL\=false&useUnicode\=true&characterEncoding\=UTF-8&serverTimezone\=Asia/Shanghai +spring.datasource.items[primary].username = platform +spring.datasource.items[primary].password = ENC(E3rUCM1nWlEGnX51AQmiUoQAKa2gLwAy) + +########################################################################## +#(1100) jpa configuration - io.sc.platform.orm.jpa +########################################################################## +spring.jpa.open-in-view = false +spring.jpa.show-sql = false +spring.jpa.generate-ddl = false +spring.jpa.hibernate.ddl-auto = none +spring.jpa.hibernate.jdbc.batch_size = 25 +spring.jpa.properties.hibernate.enable_lazy_load_no_trans = true +spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQLDialect +spring.jpa.properties.sql.dialect = io.sc.platform.jdbc.sql.dialect.impl.MysqlDialect + +########################################################################## +#(1500) hikari configuration - io.sc.platform.jdbc +########################################################################## +#spring.datasource.items[primary].hikari.autoCommit = true +#spring.datasource.items[primary].hikari.connectionTimeout = 10000 +#spring.datasource.items[primary].hikari.idleTimeout = 600000 +#spring.datasource.items[primary].hikari.maxLifetime = 1800000 +#spring.datasource.items[primary].hikari.minimumIdle = 10 +#spring.datasource.items[primary].hikari.maximumPoolSize = 10 +#spring.datasource.items[primary].hikari.metricRegistry = +#spring.datasource.items[primary].hikari.healthCheckRegistry = +#spring.datasource.items[primary].hikari.poolName = +#spring.datasource.items[primary].hikari.initializationFailTimeout = 1 +#spring.datasource.items[primary].hikari.isolateInternalQueries = false +#spring.datasource.items[primary].hikari.allowPoolSuspension = false +#spring.datasource.items[primary].hikari.readOnly = false +#spring.datasource.items[primary].hikari.registerMbeans = false +#spring.datasource.items[primary].hikari.catalog = +#spring.datasource.items[primary].hikari.connectionInitSql = +#spring.datasource.items[primary].hikari.driverClassName = +#spring.datasource.items[primary].hikari.transactionIsolation = +#spring.datasource.items[primary].hikari.validationTimeout = 5000 +#spring.datasource.items[primary].hikari.leakDetectionThreshold = 0 +#spring.datasource.items[primary].hikari.dataSource = +#spring.datasource.items[primary].hikari.schema = +#spring.datasource.items[primary].hikari.threadFactory = +#spring.datasource.items[primary].hikari.scheduledExecutor = + +########################################################################## +#(2100) spring.session configuration - io.sc.platform.mvc +########################################################################## +spring.session.store-type = none +#spring.session.store-type = jdbc +#spring.session.store-type = redis +spring.session.jdbc.initializer.enabled = false +spring.session.jdbc.cleanup-cron = 0 */5 * * * * +spring.session.redis.namespace = spring:session +spring.session.redis.cleanupCron = 0 */5 * * * * + +########################################################################## +#(2200) spring web configuration (WebProperties) - io.sc.platform.mvc +########################################################################## +spring.web.resources.add-mappings = true +spring.web.resources.cache.cachecontrol.cache-public = true +spring.web.resources.cache.cachecontrol.must-revalidate = true +spring.web.resources.chain.cache = true +spring.web.resources.chain.compressed = true + +########################################################################## +#(2300) management http server configuration - io.sc.platform.mvc +########################################################################## +management.endpoints.enabled-by-default = true +management.endpoints.web.exposure.include = * +management.context-path = /actuator +management.security.enabled = false + +########################################################################## +#(2400) thymeleaf configuration - io.sc.platform.mvc +########################################################################## +spring.thymeleaf.enabled = true +spring.thymeleaf.cache = false +spring.thymeleaf.encoding = UTF-8 +spring.thymeleaf.mode = HTML +spring.thymeleaf.prefix = classpath:/templates/ +spring.thymeleaf.check-template = false +spring.thymeleaf.check-template-location = false +spring.thymeleaf.servlet.content-type = text/html + +########################################################################## +#(2500) jackson configuration - io.sc.platform.mvc +########################################################################## +spring.jackson.time-zone = Asia/Shanghai +spring.jackson.date-format = yyyy-MM-dd HH:mm:ss +spring.jackson.serialization.indent_output = true +spring.jackson.serialization.fail_on_empty_beans = false +spring.jackson.deserialization.fail_on_ignored_properties = false +spring.jackson.parser.allow_comments = true +spring.jackson.parser.allow_single_quotes = true +spring.jackson.parser.allow_trailing_comma = true +spring.jackson.parser.allow_unquoted_field_names = true +spring.jackson.parser.ignore_undefined = true +spring.jackson.parser.allow_unquoted_control_chars = true + +########################################################################## +#(2600) i18n message source configuration - io.sc.platform.mvc +########################################################################## +spring.messages.alwaysUseMessageFormat = false +spring.messages.cacheDuration = -1 +spring.messages.encoding = UTF-8 +spring.messages.fallbackToSystemLocale = false +spring.messages.useCodeAsDefaultMessage = false + +########################################################################## +#(2700) servlet multipart configuration - io.sc.platform.mvc +########################################################################## +spring.servlet.multipart.enabled = true +spring.servlet.multipart.file-size-threshold = 1GB +spring.servlet.multipart.location = ${application.home.dir}/work/web/upload +spring.servlet.multipart.max-file-size = 1GB +spring.servlet.multipart.max-request-size = 1GB +spring.servlet.multipart.resolve-lazily = false + +########################################################################## +#(3000) platform web security configuration - io.sc.platform.security.loginform +########################################################################## +spring.security.jwt.rsa.jwk-key-id = io.sc.platform.security.rsa.jwk-key-id +spring.security.jwt.rsa.public-key-location = file://${dir.config.jwt}/public-key.txt +spring.security.jwt.rsa.private-key-location = file://${dir.config.jwt}/private-key.txt + +spring.security.formLogin.loginPage = / +spring.security.formLogin.loginProcessingUrl = /login +spring.security.formLogin.failureUrl = /login-error +spring.security.logout.logoutUrl = /logout +spring.security.logout.logoutSuccessUrl = / + +########################################################################## +#(4000) email configuration - io.sc.platform.communication +########################################################################## +spring.mail.host = zzz.xxx.yyy +spring.mail.port = 25 +spring.mail.protocol = smtp +spring.mail.test-connection = false +spring.mail.default-encoding = UTF-8 +spring.mail.properties.mail.smtp.auth = true +spring.mail.username = xxx +spring.mail.password = yyy + +########################################################################## +#(5000) flowable bpm configuration - io.sc.platform.flowable +########################################################################## +# core +flowable.asyncExecutorActivate = false +flowable.asyncHistoryExecutorActivate = false +flowable.check-process-definitions = false +flowable.custom-mybatis-mappers = +flowable.custom-mybatis-x-m-l-mappers = +flowable.database-schema = +flowable.database-schema-update = true +flowable.db-history-used = true +flowable.deployment-name = SpringBootAutoDeployment +flowable.history-level = +flowable.process-definition-location-prefix = classpath*:/processes/ +flowable.process-definition-location-suffixes = **.bpmn20.xml,**.bpmn +# process +flowable.process.definition-cache-limit = -1 +flowable.process.enable-safe-xml = true +flowable.process.servlet.load-on-startup = -1 +flowable.process.servlet.name = Flowable BPMN Rest API +flowable.process.servlet.path = /process-api +# cmmn +flowable.cmmn.enabled = false +# content +flowable.content.enabled = false +# dmn +flowable.dmn.enabled = false +# form +flowable.form.enabled = false +# idm +flowable.idm.enabled = false + +########################################################################## +#(8000) cxf configuration - io.sc.platform.ws.cxf +########################################################################## +cxf.path = /webservices + +########################################################################## +#(9000) p6spy configuration - io.sc.platform.jdbc +########################################################################## +p6spy.enabled = true +p6spy.ignorePattern = true + +########################################################################## +#(10000) scheduler manager configuration - io.sc.platform.scheduler.executor +########################################################################## +scheduler.manager.urls[0] = http://localhost:8080/ + +########################################################################## +#(10001) scheduler executor configuration - io.sc.platform.scheduler.executor +########################################################################## +scheduler.executor.name = default + +########################################################################## +#(10010) ai server configuration - io.sc.platform.ai +########################################################################## +ai.ollama.api-host = http://localhost:11434 diff --git a/app.platform/src/main/resources/config/banner.txt b/app.platform/src/main/resources/config/banner.txt new file mode 100644 index 00000000..9544ca3a --- /dev/null +++ b/app.platform/src/main/resources/config/banner.txt @@ -0,0 +1,48 @@ +************************************************************************************** + Name: app.platform + Version: ${application.version} + Base on Spring Boot ${spring-boot.version} +************************************************************************************** +System.environment: +-------------------------------------------------------------------------------------- + java.specification.version = 17 + java.specification.vendor = Oracle Corporation + java.specification.name = Java Platform API Specification + java.vm.specification.version = 17 + java.vm.specification.vendor = Oracle Corporation + java.vm.specification.name = Java Virtual Machine Specification + java.home = /Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home + java.version = 17.0.7 + java.vendor = Oracle Corporation + java.vendor.url = https://java.oracle.com/ + java.vm.version = 17.0.7+8-LTS-224 + java.vm.vendor = Oracle Corporation + java.vm.name = Java HotSpot(TM) 64-Bit Server VM + java.class.version = 61.0 + java.class.path = ${java.class.path2} + java.library.path = /Users/wangshaoping/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:. + java.io.tmpdir = /var/folders/82/6m96_g610hj1v1tcpvhtjysr0000gn/T/ + java.ext.dirs = ${java.ext.dirs} + os.name = Mac OS X + os.arch = aarch64 + os.version = 15.2 + user.name = wangshaoping + user.home = /Users/wangshaoping + user.dir = /Users/wangshaoping/wspsc/workspace/wangshaoping/v8/platform + +Application.environment +-------------------------------------------------------------------------------------- + application.name = app.platform + application.is-running-in-development = true + application.is-running-in-web-container = false + + application.home.dir = /Users/wangshaoping/wspsc/workspace/wangshaoping/v8/platform/app.platform + application.installer.enabled = ${application.installer.enabled} + application.updater.enabled = ${application.updater.enabled} + application.audit-log-mode = ${application.audit-log-mode} + spring.config.location = file:/Users/wangshaoping/wspsc/workspace/wangshaoping/v8/platform/app.platform/config/application.properties + spring.banner.location = file:/Users/wangshaoping/wspsc/workspace/wangshaoping/v8/platform/app.platform/config/banner.txt + logging.config = file:/Users/wangshaoping/wspsc/workspace/wangshaoping/v8/platform/app.platform/config/logback-spring.xml + p6spy.enabled = ${p6spy.enabled} + p6spy.ignorePattern = ${p6spy.ignorePattern} +************************************************************************************** \ No newline at end of file diff --git a/app.platform/src/main/resources/config/license.lic b/app.platform/src/main/resources/config/license.lic new file mode 100644 index 00000000..26206efe --- /dev/null +++ b/app.platform/src/main/resources/config/license.lic @@ -0,0 +1,9 @@ +RQ9OoShN2sicAxBzT4v3XW2p42iF7MjVMvyIjgh039fWOxdEK86b7LI7+O0m+UpYC4p/Pe86wVgi +GiTOzDmKGWpJN5qFyob33YQtgPLsnfLQclnoh0sbn1gqJejRFNQYpozEoC8T2B9Gnk5b/+O1Wy4f +9L6jv1U2E8wPM3SWvzccHVnjSQpbYJSdnP4QtH4v6BBAfmYtf84wkgOJqgXsXyGv6U//hdkyYzFB +8ieTCqz+2mrIyxYHZXrCmQOIYbvgflTFcElmv+k6wFSvLkiF/YoGcAIw/CljISPO4Worp4N6Z8rT +6Ukl5t+MKPdQS4/nWN6UtuRxqGLIlqJr9Q/4LkPIO+tuVJUr0+F6e54eX3quU5jmMuJ3vYRhnIDF +DkKA0bwsVqmML3odzCqhFONXGkqHMtiBmrOb5c3zNoLGcNN5r3vajqp0aWywaFKmNJPv4/vMdy+f +IBwMHBnSgbTRQVOQjWVC2pgecT6RFbRvwFKabIDxr+8EQ8cyxhgVDcvytYTVYoUPJSfOd5U3lDoe +/p9M+yX6uzEfpg9S1ytKacjv1gXQRMzKPczhCKO0945k6UGroybCo6xLGLJAn259NcNF5D7yIpFK +hA8b0EFZq/b717+ydjPj40wQIitfYeptAFSIwSCxgT4EhFWW4luhqk23P/CPy6JfGxvYiblj+7c= \ No newline at end of file diff --git a/app.platform/src/main/resources/config/logback-spring.xml b/app.platform/src/main/resources/config/logback-spring.xml new file mode 100644 index 00000000..50d41a9c --- /dev/null +++ b/app.platform/src/main/resources/config/logback-spring.xml @@ -0,0 +1,129 @@ + + + + + + + + + + + ${pattern} + + + + + + + + + + diff --git a/cips.frontend/package.json b/cips.frontend/package.json index 972c333e..f4fccfcc 100644 --- a/cips.frontend/package.json +++ b/cips.frontend/package.json @@ -1,6 +1,6 @@ { "name": "cips.frontend", - "version": "8.2.22", + "version": "8.2.23", "description": "", "private": false, "keywords": [], @@ -112,7 +112,7 @@ "node-sql-parser": "5.3.6", "pinia": "2.3.0", "pinia-undo": "0.2.4", - "platform-core": "8.2.82", + "platform-core": "8.2.84", "quasar": "2.17.6", "sort-array": "5.0.0", "svg-path-commander": "2.1.7", diff --git a/erm.frontend/package.json b/erm.frontend/package.json index 593d0bc5..fc0eec87 100644 --- a/erm.frontend/package.json +++ b/erm.frontend/package.json @@ -1,6 +1,6 @@ { "name": "erm.frontend", - "version": "8.2.22", + "version": "8.2.23", "description": "", "private": false, "keywords": [], @@ -112,7 +112,7 @@ "node-sql-parser": "5.3.6", "pinia": "2.3.0", "pinia-undo": "0.2.4", - "platform-core": "8.2.82", + "platform-core": "8.2.84", "quasar": "2.17.6", "sort-array": "5.0.0", "svg-path-commander": "2.1.7", diff --git a/gradle.properties b/gradle.properties index 79d8939c..2226c991 100644 --- a/gradle.properties +++ b/gradle.properties @@ -37,9 +37,9 @@ application_version=1.0.0 # platform ########################################################### platform_group=io.sc -platform_version=8.2.23 +platform_version=8.2.24 platform_plugin_version=8.2.10 -platform_core_frontend_version=8.2.83 +platform_core_frontend_version=8.2.84 ########################################################### # dependencies version diff --git a/io.sc.engine.mv.frontend/package.json b/io.sc.engine.mv.frontend/package.json index 6c8429c5..2a62fae2 100644 --- a/io.sc.engine.mv.frontend/package.json +++ b/io.sc.engine.mv.frontend/package.json @@ -1,6 +1,6 @@ { "name": "io.sc.engine.mv.frontend", - "version": "8.2.22", + "version": "8.2.23", "description": "", "private": false, "keywords": [], @@ -112,7 +112,7 @@ "node-sql-parser": "5.3.6", "pinia": "2.3.0", "pinia-undo": "0.2.4", - "platform-core": "8.2.82", + "platform-core": "8.2.84", "quasar": "2.17.6", "sort-array": "5.0.0", "svg-path-commander": "2.1.7", diff --git a/io.sc.engine.rule.client/src/main/resources/META-INF/platform/plugins/exportable-resources.json b/io.sc.engine.rule.client/src/main/resources/META-INF/platform/plugins/exportable-resources.json index ed2f66d5..805ccbdd 100644 --- a/io.sc.engine.rule.client/src/main/resources/META-INF/platform/plugins/exportable-resources.json +++ b/io.sc.engine.rule.client/src/main/resources/META-INF/platform/plugins/exportable-resources.json @@ -29,31 +29,31 @@ }, { "type" :"file", - "name" :"io.sc.engine.rule.core-8.2.22.jar", - "description" :"io.sc.engine.rule.core-8.2.22.jar", - "sources" :["classpath:/io/sc/engine/rule/client/jars/io.sc.engine.rule.core-8.2.22.jar"], - "target" :"${dir.engine.rule.classpath}/io.sc.engine.rule.core-8.2.22.jar" + "name" :"io.sc.engine.rule.core-8.2.23.jar", + "description" :"io.sc.engine.rule.core-8.2.23.jar", + "sources" :["classpath:/io/sc/engine/rule/client/jars/io.sc.engine.rule.core-8.2.23.jar"], + "target" :"${dir.engine.rule.classpath}/io.sc.engine.rule.core-8.2.23.jar" }, { "type" :"file", - "name" :"io.sc.platform.util-8.2.22.jar", - "description" :"io.sc.platform.util-8.2.22.jar", - "sources" :["classpath:/io/sc/engine/rule/client/jars/io.sc.platform.util-8.2.22.jar"], - "target" :"${dir.engine.rule.classpath}/io.sc.platform.util-8.2.22.jar" + "name" :"io.sc.platform.util-8.2.23.jar", + "description" :"io.sc.platform.util-8.2.23.jar", + "sources" :["classpath:/io/sc/engine/rule/client/jars/io.sc.platform.util-8.2.23.jar"], + "target" :"${dir.engine.rule.classpath}/io.sc.platform.util-8.2.23.jar" }, { "type" :"file", - "name" :"io.sc.creditreport.core-8.2.22.jar", - "description" :"io.sc.creditreport.core-8.2.22.jar", - "sources" :["classpath:/io/sc/engine/rule/client/jars/io.sc.creditreport.core-8.2.22.jar"], - "target" :"${dir.engine.rule.classpath}/io.sc.creditreport.core-8.2.22.jar" + "name" :"io.sc.creditreport.core-8.2.23.jar", + "description" :"io.sc.creditreport.core-8.2.23.jar", + "sources" :["classpath:/io/sc/engine/rule/client/jars/io.sc.creditreport.core-8.2.23.jar"], + "target" :"${dir.engine.rule.classpath}/io.sc.creditreport.core-8.2.23.jar" }, { "type" :"file", - "name" :"io.sc.engine.rule.client.spring-8.2.22.jar", - "description" :"io.sc.engine.rule.client.spring-8.2.22.jar", - "sources" :["classpath:/io/sc/engine/rule/client/jars/io.sc.engine.rule.client.spring-8.2.22.jar"], - "target" :"${dir.engine.rule.classpath}/io.sc.engine.rule.client.spring-8.2.22.jar" + "name" :"io.sc.engine.rule.client.spring-8.2.23.jar", + "description" :"io.sc.engine.rule.client.spring-8.2.23.jar", + "sources" :["classpath:/io/sc/engine/rule/client/jars/io.sc.engine.rule.client.spring-8.2.23.jar"], + "target" :"${dir.engine.rule.classpath}/io.sc.engine.rule.client.spring-8.2.23.jar" }, { diff --git a/io.sc.engine.rule.core/src/main/resources/io/sc/engine/rule/core/code/template/import_render.tpl b/io.sc.engine.rule.core/src/main/resources/io/sc/engine/rule/core/code/template/import_render.tpl index 934643ec..2c9edd22 100644 --- a/io.sc.engine.rule.core/src/main/resources/io/sc/engine/rule/core/code/template/import_render.tpl +++ b/io.sc.engine.rule.core/src/main/resources/io/sc/engine/rule/core/code/template/import_render.tpl @@ -2,7 +2,7 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.core.type.TypeReference; import groovy.transform.Canonical; -import io.sc.engine.rule.client.Executor; +import io.sc.engine.rule.core.client.Executor; import io.sc.engine.rule.core.ResourceAbstract; import io.sc.engine.rule.core.RuleSetResult; import io.sc.engine.rule.core.SingleRuleResult; @@ -26,8 +26,6 @@ import javax.sql.DataSource; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; -import java.util.Map; -import java.util.Random; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import static io.sc.engine.rule.core.function.ArithmeticFunction.multiply; diff --git a/io.sc.engine.rule.core/src/main/resources/io/sc/engine/rule/core/code/template/processor/sql.tpl b/io.sc.engine.rule.core/src/main/resources/io/sc/engine/rule/core/code/template/processor/sql.tpl index c2fe3f62..784203e7 100644 --- a/io.sc.engine.rule.core/src/main/resources/io/sc/engine/rule/core/code/template/processor/sql.tpl +++ b/io.sc.engine.rule.core/src/main/resources/io/sc/engine/rule/core/code/template/processor/sql.tpl @@ -1 +1 @@ -#(tabs(SqlFieldMapping.groovy(parameter,processor,model),2)) \ No newline at end of file +#(tabs(SqlFieldMapping.groovy(parameter,processor),2)) \ No newline at end of file diff --git a/io.sc.engine.rule.frontend/package.json b/io.sc.engine.rule.frontend/package.json index 94b96428..30b41539 100644 --- a/io.sc.engine.rule.frontend/package.json +++ b/io.sc.engine.rule.frontend/package.json @@ -1,6 +1,6 @@ { "name": "io.sc.engine.rule.frontend", - "version": "8.2.22", + "version": "8.2.23", "description": "", "private": false, "keywords": [], @@ -112,7 +112,7 @@ "node-sql-parser": "5.3.6", "pinia": "2.3.0", "pinia-undo": "0.2.4", - "platform-core": "8.2.82", + "platform-core": "8.2.84", "quasar": "2.17.6", "sort-array": "5.0.0", "svg-path-commander": "2.1.7", diff --git a/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/testcase/service/impl/TestCaseServiceImpl.java b/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/testcase/service/impl/TestCaseServiceImpl.java index 87e216fa..384b6931 100644 --- a/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/testcase/service/impl/TestCaseServiceImpl.java +++ b/io.sc.engine.rule.server/src/main/java/io/sc/engine/rule/server/testcase/service/impl/TestCaseServiceImpl.java @@ -568,8 +568,8 @@ public class TestCaseServiceImpl extends DaoServiceImpl parameters = new HashMap<>(); for(int rowIndex=7; rowIndex<=maxRow;rowIndex++) { + Map parameters = new HashMap<>(); row = sheet.getRow(rowIndex); //组装参数 for (int colIndex = 2; colIndex < maxCol; colIndex++) { diff --git a/io.sc.engine.st.frontend/package.json b/io.sc.engine.st.frontend/package.json index 654fd73c..3901ba6e 100644 --- a/io.sc.engine.st.frontend/package.json +++ b/io.sc.engine.st.frontend/package.json @@ -1,6 +1,6 @@ { "name": "io.sc.engine.st.frontend", - "version": "8.2.22", + "version": "8.2.23", "description": "", "private": false, "keywords": [], @@ -112,7 +112,7 @@ "node-sql-parser": "5.3.6", "pinia": "2.3.0", "pinia-undo": "0.2.4", - "platform-core": "8.2.82", + "platform-core": "8.2.84", "quasar": "2.17.6", "sort-array": "5.0.0", "svg-path-commander": "2.1.7", diff --git a/io.sc.platform.ai.frontend/package.json b/io.sc.platform.ai.frontend/package.json index 7d46a1ba..153ff41c 100644 --- a/io.sc.platform.ai.frontend/package.json +++ b/io.sc.platform.ai.frontend/package.json @@ -1,6 +1,6 @@ { "name": "io.sc.platform.ai.frontend", - "version": "8.2.22", + "version": "8.2.23", "description": "", "private": false, "keywords": [], @@ -112,7 +112,7 @@ "node-sql-parser": "5.3.6", "pinia": "2.3.0", "pinia-undo": "0.2.4", - "platform-core": "8.2.82", + "platform-core": "8.2.84", "quasar": "2.17.6", "sort-array": "5.0.0", "svg-path-commander": "2.1.7", diff --git a/io.sc.platform.core.frontend/package.json b/io.sc.platform.core.frontend/package.json index b111d8bd..fc5e5fff 100644 --- a/io.sc.platform.core.frontend/package.json +++ b/io.sc.platform.core.frontend/package.json @@ -1,6 +1,6 @@ { "name": "platform-core", - "version": "8.2.83", + "version": "8.2.84", "description": "前端核心包,用于快速构建前端的脚手架", "//main": "库的主文件", "main": "dist/platform-core.js", diff --git a/io.sc.platform.core.frontend/template-project/package.json b/io.sc.platform.core.frontend/template-project/package.json index 586b04c5..c60bb175 100644 --- a/io.sc.platform.core.frontend/template-project/package.json +++ b/io.sc.platform.core.frontend/template-project/package.json @@ -1,6 +1,6 @@ { "name": "platform-core", - "version": "8.2.83", + "version": "8.2.84", "description": "前端核心包,用于快速构建前端的脚手架", "private": false, "keywords": [], @@ -111,7 +111,7 @@ "mockjs": "1.1.0", "node-sql-parser": "5.3.6", "pinia": "2.3.0", - "platform-core": "8.2.83", + "platform-core": "8.2.84", "quasar": "2.17.6", "sort-array": "5.0.0", "svg-path-commander": "2.1.7", diff --git a/io.sc.platform.core/src/main/java/io/sc/platform/core/Environment.java b/io.sc.platform.core/src/main/java/io/sc/platform/core/Environment.java index ea8f8e7c..aaec672f 100644 --- a/io.sc.platform.core/src/main/java/io/sc/platform/core/Environment.java +++ b/io.sc.platform.core/src/main/java/io/sc/platform/core/Environment.java @@ -28,8 +28,10 @@ public class Environment { private boolean isRunningInDevelopment; private boolean isRunningInWebContainer; private boolean isMultiCorportationMode; + private boolean isConfigInClasspath; private RuntimeStatus runtimeStatus; + private static class EnvironmentHolder{ private static Environment instance =new Environment(); } @@ -95,6 +97,14 @@ public class Environment { isMultiCorportationMode = multiCorportationMode; } + public boolean isConfigInClasspath() { + return isConfigInClasspath; + } + + public void setConfigInClasspath(boolean configInClasspath) { + isConfigInClasspath = configInClasspath; + } + public RuntimeStatus getRuntimeStatus() { return runtimeStatus; } diff --git a/io.sc.platform.core/src/main/java/io/sc/platform/core/service/impl/LicenseManagerServiceImpl.java b/io.sc.platform.core/src/main/java/io/sc/platform/core/service/impl/LicenseManagerServiceImpl.java index 3352063e..4baf7138 100644 --- a/io.sc.platform.core/src/main/java/io/sc/platform/core/service/impl/LicenseManagerServiceImpl.java +++ b/io.sc.platform.core/src/main/java/io/sc/platform/core/service/impl/LicenseManagerServiceImpl.java @@ -1,6 +1,7 @@ package io.sc.platform.core.service.impl; import io.sc.platform.core.DirectoryManager; +import io.sc.platform.core.Environment; import io.sc.platform.core.License; import io.sc.platform.core.enums.LicenseStatus; import io.sc.platform.core.exception.LicenseInvalidatedException; @@ -9,10 +10,13 @@ import io.sc.platform.core.util.*; import io.sc.platform.util.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.core.io.DefaultResourceLoader; +import org.springframework.core.io.Resource; import org.springframework.stereotype.Service; import javax.annotation.PostConstruct; import java.io.FileInputStream; +import java.io.InputStream; import java.nio.charset.StandardCharsets; import java.util.Base64; import java.util.Calendar; @@ -38,8 +42,17 @@ public class LicenseManagerServiceImpl implements LicenseManagerService { @Override public void load() { try { - String file = DirectoryManager.getInstance().getByName(DirectoryManager.CONFIG_DIR) + "/license.lic"; - String licenseString = FileUtil.readString(new FileInputStream(file), "UTF-8"); + InputStream inputStream =null; + if(Environment.getInstance().isConfigInClasspath()){ + Resource rs =new DefaultResourceLoader().getResource("classpath:/config/license.lic"); + if(rs.exists()) { + inputStream =rs.getInputStream(); + } + }else { + String file = DirectoryManager.getInstance().getByName(DirectoryManager.CONFIG_DIR) + "/license.lic"; + inputStream =new FileInputStream(file); + } + String licenseString = FileUtil.readString(inputStream, "UTF-8"); String publicKey = RSAUtil.loadPublicKeyBase64String("classpath:/license.publicKey.txt"); byte[] encrypted = RSAUtil.decryptByPublicKey(Base64.getMimeDecoder().decode(licenseString), publicKey); String json = new String(encrypted, StandardCharsets.UTF_8); diff --git a/io.sc.platform.core/src/main/java/io/sc/platform/core/springboot/BeforeEnvironmentProcessor.java b/io.sc.platform.core/src/main/java/io/sc/platform/core/springboot/BeforeEnvironmentProcessor.java index 8e032390..ae1d89fe 100644 --- a/io.sc.platform.core/src/main/java/io/sc/platform/core/springboot/BeforeEnvironmentProcessor.java +++ b/io.sc.platform.core/src/main/java/io/sc/platform/core/springboot/BeforeEnvironmentProcessor.java @@ -48,6 +48,7 @@ public class BeforeEnvironmentProcessor implements EnvironmentPostProcessor, Ord @Override public void postProcessEnvironment(ConfigurableEnvironment environment, SpringApplication application) { Environment.getInstance().setMultiCorportationMode(environment.getProperty(Environment.KEY_IS_MULTI_CORPORATION_MODE,Boolean.class,false)); + Environment.getInstance().setConfigInClasspath(environment.getProperty("cp_config",Boolean.class,false)); // 将属性添加到 spring boot ConfigurableEnvironment 最后,拥有最低优先级 platformProperties.put(Environment.KEY_APPLICATION_NAME,Environment.getInstance().getApplicationName()); @@ -65,9 +66,17 @@ public class BeforeEnvironmentProcessor implements EnvironmentPostProcessor, Ord // 设置系统属性 String applicationName =Environment.getInstance().getApplicationName(); platformProperties.put("spring.application.name",applicationName); - platformProperties.put("spring.config.location", FILE_PREFIX + applicationHomeDir + "/config/application.properties"); - platformProperties.put("spring.banner.location", FILE_PREFIX + applicationHomeDir + "/config/banner.txt"); - platformProperties.put("logging.config", FILE_PREFIX + applicationHomeDir + "/config/logback-spring.xml"); + + //设置配置文件路径 + if(Environment.getInstance().isConfigInClasspath()){ + platformProperties.put("spring.config.location", "classpath:/config/application.properties"); + platformProperties.put("spring.banner.location", "classpath:/config/banner.txt"); + platformProperties.put("logging.config", "classpath:/config/logback-spring.xml"); + }else { + platformProperties.put("spring.config.location", FILE_PREFIX + applicationHomeDir + "/config/application.properties"); + platformProperties.put("spring.banner.location", FILE_PREFIX + applicationHomeDir + "/config/banner.txt"); + platformProperties.put("logging.config", FILE_PREFIX + applicationHomeDir + "/config/logback-spring.xml"); + } // 设置插件贡献的系统属性 SpringFactoriesLoader.loadFactories(PluginSpiService.class, this.getClass().getClassLoader()); diff --git a/io.sc.platform.developer.doc/package.json b/io.sc.platform.developer.doc/package.json index 03abdeee..264ef263 100644 --- a/io.sc.platform.developer.doc/package.json +++ b/io.sc.platform.developer.doc/package.json @@ -1,6 +1,6 @@ { "name": "io.sc.platform.developer.doc", - "version": "8.2.22", + "version": "8.2.23", "description": "", "main": "index.js", "scripts": { @@ -28,7 +28,7 @@ "vuepress": "2.0.0-rc.15" }, "dependencies": { - "platform-core": "8.2.82", + "platform-core": "8.2.84", "quasar": "2.17.6", "vue": "3.5.13", "vue-i18n": "11.0.1" diff --git a/io.sc.platform.developer.frontend/package.json b/io.sc.platform.developer.frontend/package.json index cb78f214..4286b680 100644 --- a/io.sc.platform.developer.frontend/package.json +++ b/io.sc.platform.developer.frontend/package.json @@ -1,6 +1,6 @@ { "name": "io.sc.platform.developer.frontend", - "version": "8.2.22", + "version": "8.2.23", "description": "", "private": false, "keywords": [], @@ -112,7 +112,7 @@ "node-sql-parser": "5.3.6", "pinia": "2.3.0", "pinia-undo": "0.2.4", - "platform-core": "8.2.82", + "platform-core": "8.2.84", "quasar": "2.17.6", "sort-array": "5.0.0", "svg-path-commander": "2.1.7", diff --git a/io.sc.platform.installer/src/main/java/io/sc/platform/installer/service/impl/InstallerServiceImpl.java b/io.sc.platform.installer/src/main/java/io/sc/platform/installer/service/impl/InstallerServiceImpl.java index 86065515..4998876d 100644 --- a/io.sc.platform.installer/src/main/java/io/sc/platform/installer/service/impl/InstallerServiceImpl.java +++ b/io.sc.platform.installer/src/main/java/io/sc/platform/installer/service/impl/InstallerServiceImpl.java @@ -39,6 +39,9 @@ public class InstallerServiceImpl implements InstallerService { @Override public boolean isInstalled() { + if(Environment.getInstance().isConfigInClasspath()){ + return true; + } if(isInstalled==null){ Resource resource =new DefaultResourceLoader().getResource("file:" + DirectoryManager.getInstance().getHomeDir() + "/config/.installed"); if(resource.exists()){ diff --git a/io.sc.platform.lcdp.frontend/package.json b/io.sc.platform.lcdp.frontend/package.json index 23c002dc..9a2507b8 100644 --- a/io.sc.platform.lcdp.frontend/package.json +++ b/io.sc.platform.lcdp.frontend/package.json @@ -1,6 +1,6 @@ { "name": "io.sc.platform.lcdp.frontend", - "version": "8.2.22", + "version": "8.2.23", "description": "", "private": false, "keywords": [], @@ -112,7 +112,7 @@ "node-sql-parser": "5.3.6", "pinia": "2.3.0", "pinia-undo": "0.2.4", - "platform-core": "8.2.82", + "platform-core": "8.2.84", "quasar": "2.17.6", "sort-array": "5.0.0", "svg-path-commander": "2.1.7", diff --git a/io.sc.platform.license.keygen.frontend/package.json b/io.sc.platform.license.keygen.frontend/package.json index bbab0864..7e5f12d9 100644 --- a/io.sc.platform.license.keygen.frontend/package.json +++ b/io.sc.platform.license.keygen.frontend/package.json @@ -1,6 +1,6 @@ { "name": "io.sc.platform.license.keygen.frontend", - "version": "8.2.22", + "version": "8.2.23", "description": "", "private": false, "keywords": [], @@ -112,7 +112,7 @@ "node-sql-parser": "5.3.6", "pinia": "2.3.0", "pinia-undo": "0.2.4", - "platform-core": "8.2.82", + "platform-core": "8.2.84", "quasar": "2.17.6", "sort-array": "5.0.0", "svg-path-commander": "2.1.7", diff --git a/io.sc.platform.mvc.frontend/package.json b/io.sc.platform.mvc.frontend/package.json index 78f110b8..fb55198d 100644 --- a/io.sc.platform.mvc.frontend/package.json +++ b/io.sc.platform.mvc.frontend/package.json @@ -1,6 +1,6 @@ { "name": "io.sc.platform.mvc.frontend", - "version": "8.2.22", + "version": "8.2.23", "description": "", "private": false, "keywords": [], @@ -112,7 +112,7 @@ "node-sql-parser": "5.3.6", "pinia": "2.3.0", "pinia-undo": "0.2.4", - "platform-core": "8.2.82", + "platform-core": "8.2.84", "quasar": "2.17.6", "sort-array": "5.0.0", "svg-path-commander": "2.1.7", diff --git a/io.sc.platform.scheduler.manager.frontend/package.json b/io.sc.platform.scheduler.manager.frontend/package.json index 4175b9d5..159f1efb 100644 --- a/io.sc.platform.scheduler.manager.frontend/package.json +++ b/io.sc.platform.scheduler.manager.frontend/package.json @@ -1,6 +1,6 @@ { "name": "io.sc.platform.scheduler.manager.frontend", - "version": "8.2.22", + "version": "8.2.23", "description": "", "private": false, "keywords": [], @@ -112,7 +112,7 @@ "node-sql-parser": "5.3.6", "pinia": "2.3.0", "pinia-undo": "0.2.4", - "platform-core": "8.2.82", + "platform-core": "8.2.84", "quasar": "2.17.6", "sort-array": "5.0.0", "svg-path-commander": "2.1.7", diff --git a/io.sc.platform.system.frontend/package.json b/io.sc.platform.system.frontend/package.json index f76401c9..3ab3b4bd 100644 --- a/io.sc.platform.system.frontend/package.json +++ b/io.sc.platform.system.frontend/package.json @@ -1,6 +1,6 @@ { "name": "io.sc.platform.system.frontend", - "version": "8.2.22", + "version": "8.2.23", "description": "", "private": false, "keywords": [], @@ -111,7 +111,7 @@ "mockjs": "1.1.0", "node-sql-parser": "5.3.6", "pinia": "2.3.0", - "platform-core": "8.2.82", + "platform-core": "8.2.84", "quasar": "2.17.6", "sort-array": "5.0.0", "svg-path-commander": "2.1.7", diff --git a/io.sc.platform.util/src/main/java/io/sc/platform/util/compiler/memory/MemoryJavaCompilerClassLoader.java b/io.sc.platform.util/src/main/java/io/sc/platform/util/compiler/memory/MemoryJavaCompilerClassLoader.java index 12230a10..412f7844 100644 --- a/io.sc.platform.util/src/main/java/io/sc/platform/util/compiler/memory/MemoryJavaCompilerClassLoader.java +++ b/io.sc.platform.util/src/main/java/io/sc/platform/util/compiler/memory/MemoryJavaCompilerClassLoader.java @@ -30,4 +30,9 @@ public class MemoryJavaCompilerClassLoader extends URLClassLoader { classBytes.remove(className); return defineClass(className, buffer, 0, buffer.length); } + + @Override + public Class loadClass(String name) throws ClassNotFoundException { + return super.loadClass(name); + } } diff --git a/io.sc.standard.frontend/package.json b/io.sc.standard.frontend/package.json index 37d98edb..e207c437 100644 --- a/io.sc.standard.frontend/package.json +++ b/io.sc.standard.frontend/package.json @@ -1,6 +1,6 @@ { "name": "io.sc.standard.frontend", - "version": "8.2.22", + "version": "8.2.23", "description": "", "private": false, "keywords": [], @@ -112,7 +112,7 @@ "node-sql-parser": "5.3.6", "pinia": "2.3.0", "pinia-undo": "0.2.4", - "platform-core": "8.2.82", + "platform-core": "8.2.84", "quasar": "2.17.6", "sort-array": "5.0.0", "svg-path-commander": "2.1.7", diff --git a/io.sc.website/package.json b/io.sc.website/package.json index e73d4454..217d7727 100644 --- a/io.sc.website/package.json +++ b/io.sc.website/package.json @@ -1,6 +1,6 @@ { "name": "io.sc.website", - "version": "8.2.22", + "version": "8.2.23", "description": "", "main": "index.js", "scripts": { @@ -28,6 +28,6 @@ }, "dependencies": { "vue": "3.5.13", - "platform-core": "8.2.82" + "platform-core": "8.2.84" } } \ No newline at end of file diff --git a/wra.report.frontend/package.json b/wra.report.frontend/package.json index aa6c21e0..cd4ed3cb 100644 --- a/wra.report.frontend/package.json +++ b/wra.report.frontend/package.json @@ -1,6 +1,6 @@ { "name": "wra.report.frontend", - "version": "8.2.22", + "version": "8.2.23", "description": "", "private": false, "keywords": [], @@ -111,7 +111,7 @@ "mockjs": "1.1.0", "node-sql-parser": "5.3.6", "pinia": "2.3.0", - "platform-core": "8.2.82", + "platform-core": "8.2.84", "quasar": "2.17.6", "sort-array": "5.0.0", "svg-path-commander": "2.1.7",