From a83f939ba38b4cce6a05cc8affa9526a76e314b6 Mon Sep 17 00:00:00 2001 From: wangshaoping Date: Tue, 22 Jul 2025 08:11:36 +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=9B=B4=E6=96=B0=20liquibase?= =?UTF-8?q?=20=E6=96=87=E4=BB=B6=E5=90=8D=20=20=202=EF=BC=89jpa,=20?= =?UTF-8?q?=E6=9E=84=E5=BB=BA=E6=9F=A5=E8=AF=A2=E6=9D=A1=E4=BB=B6=E6=97=B6?= =?UTF-8?q?=E5=A6=82=E6=9E=9C=E5=AD=97=E6=AE=B5=E5=90=8D=E5=9C=A8=E5=AE=9E?= =?UTF-8?q?=E4=BD=93=E7=B1=BB=E4=B8=AD=E4=B8=8D=E5=AD=98=E5=9C=A8=E6=8A=A5?= =?UTF-8?q?=E9=94=99=E7=9A=84=20bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 前端核心发布: 8.2.28 --- .../main/java/app/platform/Application.java | 5 + .../src/main/resources/public/logo-shrcb.svg | 442 ++++++++++++++++++ .../src/main/resources/public/logo.png | Bin 0 -> 14481 bytes cips.frontend/package.json | 6 +- erm.frontend/package.json | 6 +- gradle.properties | 2 +- io.sc.engine.mv.frontend/package.json | 6 +- .../META-INF/platform/plugins/liquibase.json | 2 +- ...0__Model_Validate_Database_Schema_DDL.xml} | 0 io.sc.engine.rule.frontend/package.json | 6 +- .../META-INF/platform/plugins/liquibase.json | 4 +- ...0_20220515__Rule_Engine_Database_Data.xml} | 0 ...0515__Rule_Engine_Database_Schema_DDL.xml} | 0 io.sc.engine.st.frontend/package.json | 6 +- .../META-INF/platform/plugins/liquibase.json | 4 +- ....sc.engine.st_1.0.0_20221020__ST_Data.xml} | 0 ...1020__Stress_Test_Database_Schema_DDL.xml} | 0 io.sc.platform.ai.frontend/package.json | 6 +- .../META-INF/platform/plugins/liquibase.json | 2 +- ...20606__Attachment_Database_Schema_DDL.xml} | 0 io.sc.platform.core.frontend/package.json | 2 +- .../src/platform/layout/sub-layout/Topper.vue | 8 +- .../template-project/package.json | 6 +- .../io/sc/platform/core/i18n/words.properties | 3 +- .../platform/core/i18n/words_tw_CN.properties | 3 +- .../platform/core/i18n/words_zh_CN.properties | 3 +- io.sc.platform.developer.doc/package.json | 6 +- .../package.json | 6 +- .../META-INF/platform/plugins/liquibase.json | 6 +- ...__Flowable(6.8.0)_Database_Schema_DDL.xml} | 0 ..._8.0.0_20220606__Process_Manager_Data.xml} | 0 ...__Process_Manager_Database_Schema_DDL.xml} | 0 io.sc.platform.lcdp.frontend/package.json | 6 +- .../service/impl/ConfigureServiceImpl.java | 8 +- .../META-INF/platform/plugins/liquibase.json | 2 +- ...LowCode_Developer_Database_Schema_DDL.xml} | 0 .../package.json | 6 +- .../META-INF/platform/plugins/liquibase.json | 2 +- ...6__License_Keygen_Database_Schema_DDL.xml} | 0 io.sc.platform.mvc.frontend/package.json | 6 +- .../criteria/impl/BetweenInclusive.java | 9 +- .../support/criteria/impl/Contains.java | 9 +- .../support/criteria/impl/ContainsField.java | 19 +- .../support/criteria/impl/EndWith.java | 11 +- .../service/support/criteria/impl/Equals.java | 9 +- .../support/criteria/impl/EqualsField.java | 19 +- .../criteria/impl/GreaterOrEquals.java | 17 +- .../criteria/impl/GreaterOrEqualsField.java | 19 +- .../support/criteria/impl/GreaterThan.java | 17 +- .../criteria/impl/GreaterThanField.java | 19 +- .../support/criteria/impl/IContains.java | 11 +- .../support/criteria/impl/IContainsField.java | 19 +- .../support/criteria/impl/IEndWith.java | 11 +- .../support/criteria/impl/IEquals.java | 9 +- .../support/criteria/impl/IEqualsField.java | 19 +- .../service/support/criteria/impl/InSet.java | 9 +- .../support/criteria/impl/IsBlank.java | 15 +- .../support/criteria/impl/IsNotNull.java | 15 +- .../service/support/criteria/impl/IsNull.java | 15 +- .../support/criteria/impl/LessOrEquals.java | 17 +- .../criteria/impl/LessOrEqualsField.java | 19 +- .../support/criteria/impl/LessThan.java | 17 +- .../support/criteria/impl/LessThanField.java | 19 +- .../support/criteria/impl/NotBlank.java | 15 +- .../support/criteria/impl/NotContains.java | 11 +- .../criteria/impl/NotContainsField.java | 19 +- .../support/criteria/impl/NotEndWith.java | 11 +- .../support/criteria/impl/NotEquals.java | 9 +- .../support/criteria/impl/NotEqualsField.java | 19 +- .../support/criteria/impl/NotInSet.java | 15 +- .../support/criteria/impl/NotStartWith.java | 11 +- .../support/criteria/impl/StartWith.java | 11 +- .../package.json | 6 +- .../META-INF/platform/plugins/liquibase.json | 2 +- ...220606__Scheduler_Database_Schema_DDL.xml} | 0 .../META-INF/platform/plugins/liquibase.json | 4 +- .../META-INF/platform/plugins/parameters.json | 24 +- .../security/i18n/parameters.properties | 2 +- .../security/i18n/parameters_tw_CN.properties | 2 +- .../security/i18n/parameters_zh_CN.properties | 2 +- ...ecurity_8.0.0_20220606__Security_Data.xml} | 0 ...0220606__Security_Database_Schema_DDL.xml} | 0 .../api/shortcutmenu/ShortcutMenuVo.java | 79 ++++ io.sc.platform.system.frontend/package.json | 6 +- .../src/components/index.ts | 2 + .../src/i18n/messages.json | 6 +- .../src/i18n/messages_tw_CN.json | 6 +- .../src/i18n/messages_zh_CN.json | 6 +- .../src/routes/routes.json | 130 +++--- .../initializer/ParameterInitializer.java | 19 +- .../menu/controller/MenuWebController.java | 14 + .../menu/jpa/repository/MenuRepository.java | 6 + .../system/menu/service/MenuService.java | 18 + .../menu/service/impl/MenuServiceImpl.java | 38 ++ .../controller/ShortcutMenuWebController.java | 20 + .../jpa/entity/ShortcutMenuEntity.java | 108 +++++ .../repository/ShortcutMenuRepository.java | 10 + .../service/ShortcutMenuService.java | 10 + .../service/impl/ShortcutMenuServiceImpl.java | 77 +++ .../META-INF/platform/plugins/components.json | 3 + .../META-INF/platform/plugins/liquibase.json | 3 +- .../platform/plugins/repositories.json | 3 + ..._20220606__System_Database_Schema_DDL.xml} | 2 +- ...0_20220707__System_Database_Schema_DDL.xml | 50 ++ io.sc.standard.frontend/package.json | 6 +- .../META-INF/platform/plugins/liquibase.json | 4 +- ...tandard_1.0.0_20221020__Standard_Data.xml} | 0 ...d_1.0.0_20221020__Standard_Schema_DDL.xml} | 0 io.sc.website/package.json | 6 +- wra.report.frontend/package.json | 6 +- 110 files changed, 1465 insertions(+), 249 deletions(-) create mode 100644 app.platform/src/main/resources/public/logo-shrcb.svg create mode 100644 app.platform/src/main/resources/public/logo.png rename io.sc.engine.mv/src/main/resources/liquibase/{io.sc.engine.mv_8.0.0_20221020__Model Validate Database Schema DDL.xml => io.sc.engine.mv_8.0.0_20221020__Model_Validate_Database_Schema_DDL.xml} (100%) rename io.sc.engine.rule.server/src/main/resources/liquibase/{RE_1.0.0_20220515__Rule Engine Database Data.xml => RE_1.0.0_20220515__Rule_Engine_Database_Data.xml} (100%) rename io.sc.engine.rule.server/src/main/resources/liquibase/{RE_1.0.0_20220515__Rule Engine Database Schema DDL.xml => RE_1.0.0_20220515__Rule_Engine_Database_Schema_DDL.xml} (100%) rename io.sc.engine.st/src/main/resources/liquibase/{io.sc.engine.st_1.0.0_20221020__ST Data.xml => io.sc.engine.st_1.0.0_20221020__ST_Data.xml} (100%) rename io.sc.engine.st/src/main/resources/liquibase/{io.sc.engine.st_8.0.0_20221020__Stress Test Database Schema DDL.xml => io.sc.engine.st_8.0.0_20221020__Stress_Test_Database_Schema_DDL.xml} (100%) rename io.sc.platform.attachment/src/main/resources/liquibase/{io.sc.platform.attachment_8.0.0_20220606__Attachment Database Schema DDL.xml => io.sc.platform.attachment_8.0.0_20220606__Attachment_Database_Schema_DDL.xml} (100%) rename io.sc.platform.flowable/src/main/resources/liquibase/{io.sc.platform.flowable_8.0.0_20220606__Flowable(6.8.0) Database Schema DDL.xml => io.sc.platform.flowable_8.0.0_20220606__Flowable(6.8.0)_Database_Schema_DDL.xml} (100%) rename io.sc.platform.flowable/src/main/resources/liquibase/{io.sc.platform.flowable_8.0.0_20220606__Process Manager Data.xml => io.sc.platform.flowable_8.0.0_20220606__Process_Manager_Data.xml} (100%) rename io.sc.platform.flowable/src/main/resources/liquibase/{io.sc.platform.flowable_8.0.0_20220606__Process Manager Database Schema DDL.xml => io.sc.platform.flowable_8.0.0_20220606__Process_Manager_Database_Schema_DDL.xml} (100%) rename io.sc.platform.lcdp/src/main/resources/liquibase/{io.sc.platform.lcdp_8.0.0_20220606__LowCode Developer Database Schema DDL.xml => io.sc.platform.lcdp_8.0.0_20220606__LowCode_Developer_Database_Schema_DDL.xml} (100%) rename io.sc.platform.license.keygen/src/main/resources/liquibase/{io.sc.platform.license.keygen_8.0.0_20220606__License Keygen Database Schema DDL.xml => io.sc.platform.license.keygen_8.0.0_20220606__License_Keygen_Database_Schema_DDL.xml} (100%) rename io.sc.platform.scheduler.manager/src/main/resources/liquibase/{io.sc.platform.scheduler.manager_8.0.0_20220606__Scheduler Database Schema DDL.xml => io.sc.platform.scheduler.manager_8.0.0_20220606__Scheduler_Database_Schema_DDL.xml} (100%) rename io.sc.platform.security/src/main/resources/liquibase/{io.sc.platform.security_8.0.0_20220606__Security Data.xml => io.sc.platform.security_8.0.0_20220606__Security_Data.xml} (100%) rename io.sc.platform.security/src/main/resources/liquibase/{io.sc.platform.security_8.0.0_20220606__Security Database Schema DDL.xml => io.sc.platform.security_8.0.0_20220606__Security_Database_Schema_DDL.xml} (100%) create mode 100644 io.sc.platform.system.api/src/main/java/io/sc/platform/system/api/shortcutmenu/ShortcutMenuVo.java create mode 100644 io.sc.platform.system/src/main/java/io/sc/platform/system/shortcutmenu/controller/ShortcutMenuWebController.java create mode 100644 io.sc.platform.system/src/main/java/io/sc/platform/system/shortcutmenu/jpa/entity/ShortcutMenuEntity.java create mode 100644 io.sc.platform.system/src/main/java/io/sc/platform/system/shortcutmenu/jpa/repository/ShortcutMenuRepository.java create mode 100644 io.sc.platform.system/src/main/java/io/sc/platform/system/shortcutmenu/service/ShortcutMenuService.java create mode 100644 io.sc.platform.system/src/main/java/io/sc/platform/system/shortcutmenu/service/impl/ShortcutMenuServiceImpl.java rename io.sc.platform.system/src/main/resources/liquibase/{io.sc.platform.system_8.0.0_20220606__System Database Schema DDL.xml => io.sc.platform.system_8.0.0_20220606__System_Database_Schema_DDL.xml} (99%) create mode 100644 io.sc.platform.system/src/main/resources/liquibase/io.sc.platform.system_8.0.0_20220707__System_Database_Schema_DDL.xml rename io.sc.standard/src/main/resources/liquibase/{io.sc.standard_1.0.0_20221020__Standard Data.xml => io.sc.standard_1.0.0_20221020__Standard_Data.xml} (100%) rename io.sc.standard/src/main/resources/liquibase/{io.sc.standard_1.0.0_20221020__Standard Schema DDL.xml => io.sc.standard_1.0.0_20221020__Standard_Schema_DDL.xml} (100%) diff --git a/app.platform/src/main/java/app/platform/Application.java b/app.platform/src/main/java/app/platform/Application.java index e8a7f8e9..b411bafa 100644 --- a/app.platform/src/main/java/app/platform/Application.java +++ b/app.platform/src/main/java/app/platform/Application.java @@ -2,9 +2,14 @@ package app.platform; import io.sc.platform.core.ApplicationLauncher; import io.sc.platform.core.PlatformSpringBootServletInitializer; +import io.sc.platform.orm.service.support.QueryParameter; +import io.sc.platform.orm.service.support.criteria.Criteria; +import io.sc.platform.orm.service.support.criteria.impl.GreaterOrEquals; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.web.WebApplicationInitializer; +import java.util.List; + /** * 应用程序入口 */ diff --git a/app.platform/src/main/resources/public/logo-shrcb.svg b/app.platform/src/main/resources/public/logo-shrcb.svg new file mode 100644 index 00000000..af16c44d --- /dev/null +++ b/app.platform/src/main/resources/public/logo-shrcb.svg @@ -0,0 +1,442 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app.platform/src/main/resources/public/logo.png b/app.platform/src/main/resources/public/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..c846ca3239c9da339f145a558178c1022a6dde58 GIT binary patch literal 14481 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 -
- {{ $t('application.title') }} -
+
@@ -204,9 +202,9 @@ - + - {{ t('theme') }} + {{ t('settings') }} diff --git a/io.sc.platform.core.frontend/template-project/package.json b/io.sc.platform.core.frontend/template-project/package.json index 43bb7c9c..40a87ccd 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.86", + "version": "8.2.89", "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.86", + "platform-core": "8.2.89", "quasar": "2.17.6", "sort-array": "5.0.0", "svg-path-commander": "2.1.7", @@ -121,4 +121,4 @@ "vue-router": "4.5.0", "xml-formatter": "3.6.3" } -} \ No newline at end of file +} diff --git a/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words.properties b/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words.properties index 566c4f3f..3f573592 100644 --- a/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words.properties +++ b/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words.properties @@ -263,4 +263,5 @@ migration=Migration view=View before=Before send=Send -required=Required \ No newline at end of file +required=Required +settings=Settings \ No newline at end of file diff --git a/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words_tw_CN.properties b/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words_tw_CN.properties index b5c46546..16e91a26 100644 --- a/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words_tw_CN.properties +++ b/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words_tw_CN.properties @@ -263,4 +263,5 @@ migration=\u9077\u79FB view=\u67E5\u770B before=\u4EE5\u524D send=\u767C\u9001 -required=\u5FC5\u9700 \ No newline at end of file +required=\u5FC5\u9700 +settings=\u8A2D\u7F6E \ No newline at end of file diff --git a/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words_zh_CN.properties b/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words_zh_CN.properties index e52f0e2e..f1c24c60 100644 --- a/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words_zh_CN.properties +++ b/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words_zh_CN.properties @@ -263,4 +263,5 @@ migration=\u8FC1\u79FB view=\u67E5\u770B before=\u4EE5\u524D send=\u53D1\u9001 -required=\u5FC5\u9700 \ No newline at end of file +required=\u5FC5\u9700 +settings=\u8BBE\u7F6E \ No newline at end of file diff --git a/io.sc.platform.developer.doc/package.json b/io.sc.platform.developer.doc/package.json index 5898ebe7..bb6b784e 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.24", + "version": "8.2.25", "description": "", "main": "index.js", "scripts": { @@ -28,9 +28,9 @@ "vuepress": "2.0.0-rc.15" }, "dependencies": { - "platform-core": "8.2.86", + "platform-core": "8.2.89", "quasar": "2.17.6", "vue": "3.5.13", "vue-i18n": "11.0.1" } -} \ No newline at end of file +} diff --git a/io.sc.platform.developer.frontend/package.json b/io.sc.platform.developer.frontend/package.json index 89d27059..ac645933 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.24", + "version": "8.2.25", "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.86", + "platform-core": "8.2.89", "quasar": "2.17.6", "sort-array": "5.0.0", "svg-path-commander": "2.1.7", @@ -123,4 +123,4 @@ "vue-router": "4.5.0", "xml-formatter": "3.6.3" } -} \ No newline at end of file +} diff --git a/io.sc.platform.flowable/src/main/resources/META-INF/platform/plugins/liquibase.json b/io.sc.platform.flowable/src/main/resources/META-INF/platform/plugins/liquibase.json index c61c6bae..9ec3ef28 100644 --- a/io.sc.platform.flowable/src/main/resources/META-INF/platform/plugins/liquibase.json +++ b/io.sc.platform.flowable/src/main/resources/META-INF/platform/plugins/liquibase.json @@ -4,9 +4,9 @@ "order" : 400, "description":"工作流", "locations":[ - "classpath:/liquibase/io.sc.platform.flowable_8.0.0_20220606__Flowable(6.8.0) Database Schema DDL.xml", - "classpath:/liquibase/io.sc.platform.flowable_8.0.0_20220606__Process Manager Database Schema DDL.xml", - "classpath:/liquibase/io.sc.platform.flowable_8.0.0_20220606__Process Manager Data.xml" + "classpath:/liquibase/io.sc.platform.flowable_8.0.0_20220606__Flowable(6.8.0)_Database_Schema_DDL.xml", + "classpath:/liquibase/io.sc.platform.flowable_8.0.0_20220606__Process_Manager_Database_Schema_DDL.xml", + "classpath:/liquibase/io.sc.platform.flowable_8.0.0_20220606__Process_Manager_Data.xml" ] } ] \ No newline at end of file diff --git a/io.sc.platform.flowable/src/main/resources/liquibase/io.sc.platform.flowable_8.0.0_20220606__Flowable(6.8.0) Database Schema DDL.xml b/io.sc.platform.flowable/src/main/resources/liquibase/io.sc.platform.flowable_8.0.0_20220606__Flowable(6.8.0)_Database_Schema_DDL.xml similarity index 100% rename from io.sc.platform.flowable/src/main/resources/liquibase/io.sc.platform.flowable_8.0.0_20220606__Flowable(6.8.0) Database Schema DDL.xml rename to io.sc.platform.flowable/src/main/resources/liquibase/io.sc.platform.flowable_8.0.0_20220606__Flowable(6.8.0)_Database_Schema_DDL.xml diff --git a/io.sc.platform.flowable/src/main/resources/liquibase/io.sc.platform.flowable_8.0.0_20220606__Process Manager Data.xml b/io.sc.platform.flowable/src/main/resources/liquibase/io.sc.platform.flowable_8.0.0_20220606__Process_Manager_Data.xml similarity index 100% rename from io.sc.platform.flowable/src/main/resources/liquibase/io.sc.platform.flowable_8.0.0_20220606__Process Manager Data.xml rename to io.sc.platform.flowable/src/main/resources/liquibase/io.sc.platform.flowable_8.0.0_20220606__Process_Manager_Data.xml diff --git a/io.sc.platform.flowable/src/main/resources/liquibase/io.sc.platform.flowable_8.0.0_20220606__Process Manager Database Schema DDL.xml b/io.sc.platform.flowable/src/main/resources/liquibase/io.sc.platform.flowable_8.0.0_20220606__Process_Manager_Database_Schema_DDL.xml similarity index 100% rename from io.sc.platform.flowable/src/main/resources/liquibase/io.sc.platform.flowable_8.0.0_20220606__Process Manager Database Schema DDL.xml rename to io.sc.platform.flowable/src/main/resources/liquibase/io.sc.platform.flowable_8.0.0_20220606__Process_Manager_Database_Schema_DDL.xml diff --git a/io.sc.platform.lcdp.frontend/package.json b/io.sc.platform.lcdp.frontend/package.json index 43fe10ae..96a67094 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.24", + "version": "8.2.25", "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.86", + "platform-core": "8.2.89", "quasar": "2.17.6", "sort-array": "5.0.0", "svg-path-commander": "2.1.7", @@ -123,4 +123,4 @@ "vue-router": "4.5.0", "xml-formatter": "3.6.3" } -} \ No newline at end of file +} diff --git a/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/configure/service/impl/ConfigureServiceImpl.java b/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/configure/service/impl/ConfigureServiceImpl.java index 713e80a1..a22d948d 100644 --- a/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/configure/service/impl/ConfigureServiceImpl.java +++ b/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/configure/service/impl/ConfigureServiceImpl.java @@ -57,13 +57,19 @@ public class ConfigureServiceImpl extends DaoServiceImpl parameters =systemParameterService.getParameters(new String[]{ "parameter.system.homePage", - "parameter.system.notifierTaskNavigateFrontendRoutePath" + "parameter.system.notifierTaskNavigateFrontendRoutePath", + "parameter.system.login.encodePassword" }); String homePage =parameters.get("parameter.system.homePage"); if(StringUtils.hasText(homePage)) { configure.getSetting().setHomePage(homePage); } + String encodePassword =parameters.get("parameter.system.login.encodePassword"); + if(StringUtils.hasText(encodePassword)) { + configure.getTheme().getLogin().setEncodePassword(Boolean.valueOf(encodePassword)); + } + String notifierTaskNavigateFrontendRoutePath =parameters.get("parameter.system.notifierTaskNavigateFrontendRoutePath"); if(StringUtils.hasText(notifierTaskNavigateFrontendRoutePath)) { configure.getSetting().setNotifierTaskNavigateFrontendRoutePath(notifierTaskNavigateFrontendRoutePath); diff --git a/io.sc.platform.lcdp/src/main/resources/META-INF/platform/plugins/liquibase.json b/io.sc.platform.lcdp/src/main/resources/META-INF/platform/plugins/liquibase.json index 270be2f6..7b53399b 100644 --- a/io.sc.platform.lcdp/src/main/resources/META-INF/platform/plugins/liquibase.json +++ b/io.sc.platform.lcdp/src/main/resources/META-INF/platform/plugins/liquibase.json @@ -4,7 +4,7 @@ "order" : 300, "description":"低代码平台", "locations":[ - "classpath:/liquibase/io.sc.platform.lcdp_8.0.0_20220606__LowCode Developer Database Schema DDL.xml", + "classpath:/liquibase/io.sc.platform.lcdp_8.0.0_20220606__LowCode_Developer_Database_Schema_DDL.xml", "classpath:/liquibase/io.sc.platform.lcdp_Form_DDL.xml", "classpath:/liquibase/io.sc.platform.lcdp_Excel_Template_DDL.xml" ] diff --git a/io.sc.platform.lcdp/src/main/resources/liquibase/io.sc.platform.lcdp_8.0.0_20220606__LowCode Developer Database Schema DDL.xml b/io.sc.platform.lcdp/src/main/resources/liquibase/io.sc.platform.lcdp_8.0.0_20220606__LowCode_Developer_Database_Schema_DDL.xml similarity index 100% rename from io.sc.platform.lcdp/src/main/resources/liquibase/io.sc.platform.lcdp_8.0.0_20220606__LowCode Developer Database Schema DDL.xml rename to io.sc.platform.lcdp/src/main/resources/liquibase/io.sc.platform.lcdp_8.0.0_20220606__LowCode_Developer_Database_Schema_DDL.xml diff --git a/io.sc.platform.license.keygen.frontend/package.json b/io.sc.platform.license.keygen.frontend/package.json index 0001236d..8fa25fd8 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.24", + "version": "8.2.25", "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.86", + "platform-core": "8.2.89", "quasar": "2.17.6", "sort-array": "5.0.0", "svg-path-commander": "2.1.7", @@ -123,4 +123,4 @@ "vue-router": "4.5.0", "xml-formatter": "3.6.3" } -} \ No newline at end of file +} diff --git a/io.sc.platform.license.keygen/src/main/resources/META-INF/platform/plugins/liquibase.json b/io.sc.platform.license.keygen/src/main/resources/META-INF/platform/plugins/liquibase.json index e94e2afe..4f3a2e00 100644 --- a/io.sc.platform.license.keygen/src/main/resources/META-INF/platform/plugins/liquibase.json +++ b/io.sc.platform.license.keygen/src/main/resources/META-INF/platform/plugins/liquibase.json @@ -4,7 +4,7 @@ "order" : 0, "description":"License 管理", "locations":[ - "classpath:/liquibase/io.sc.platform.license.keygen_8.0.0_20220606__License Keygen Database Schema DDL.xml" + "classpath:/liquibase/io.sc.platform.license.keygen_8.0.0_20220606__License_Keygen_Database_Schema_DDL.xml" ] } ] \ No newline at end of file diff --git a/io.sc.platform.license.keygen/src/main/resources/liquibase/io.sc.platform.license.keygen_8.0.0_20220606__License Keygen Database Schema DDL.xml b/io.sc.platform.license.keygen/src/main/resources/liquibase/io.sc.platform.license.keygen_8.0.0_20220606__License_Keygen_Database_Schema_DDL.xml similarity index 100% rename from io.sc.platform.license.keygen/src/main/resources/liquibase/io.sc.platform.license.keygen_8.0.0_20220606__License Keygen Database Schema DDL.xml rename to io.sc.platform.license.keygen/src/main/resources/liquibase/io.sc.platform.license.keygen_8.0.0_20220606__License_Keygen_Database_Schema_DDL.xml diff --git a/io.sc.platform.mvc.frontend/package.json b/io.sc.platform.mvc.frontend/package.json index a55cf916..5bcedd89 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.24", + "version": "8.2.25", "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.86", + "platform-core": "8.2.89", "quasar": "2.17.6", "sort-array": "5.0.0", "svg-path-commander": "2.1.7", @@ -123,4 +123,4 @@ "vue-router": "4.5.0", "xml-formatter": "3.6.3" } -} \ No newline at end of file +} diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/BetweenInclusive.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/BetweenInclusive.java index 7fe304b0..db3fbf1c 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/BetweenInclusive.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/BetweenInclusive.java @@ -15,7 +15,14 @@ public class BetweenInclusive extends Between { if(!StringUtils.hasText(start) && !StringUtils.hasText(end)){ throw new IllegalArgumentException("[" + operator + "] need a [start] or [end] value"); } - Path path =root.get(fieldName); + Path path =null; + try { + path = root.get(fieldName); + } catch (IllegalArgumentException e) { // if attribute of the given name does not otherwise exist + return null; + } catch (IllegalStateException e){ // if invoked on a path that corresponds to a basic type + throw e; + } Class clazz =path.getJavaType(); if(Comparable.class.isAssignableFrom(clazz)){ if(StringUtils.hasText(start) && StringUtils.hasText(end)) { diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/Contains.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/Contains.java index 068d0ac4..e1e22c3c 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/Contains.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/Contains.java @@ -18,9 +18,16 @@ public class Contains extends Criteria { if(!StringUtils.hasText(value)){ throw new IllegalArgumentException("[" + operator + "] need a [value] value"); } + Path path =null; + try { + path = root.get(fieldName); + } catch (IllegalArgumentException e) { // if attribute of the given name does not otherwise exist + return null; + } catch (IllegalStateException e){ // if invoked on a path that corresponds to a basic type + throw e; + } Class clazz =root.get(fieldName).getJavaType(); if(String.class.equals(clazz)) { - Path path =root.get(fieldName); return builder.like(path, "%" + value + "%"); }else{ throw new OperatorTypeNotSupportedException("[" + operator + "] only support the field with java.lang.String type, field [" + fieldName + "]'s type is " + clazz.getName()); diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/ContainsField.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/ContainsField.java index c6182508..d5d265e5 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/ContainsField.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/ContainsField.java @@ -17,8 +17,23 @@ public class ContainsField extends Criteria { if(!StringUtils.hasText(value)){ throw new IllegalArgumentException("[" + operator + "] need a [value] value"); } - Path path =root.get(fieldName); - Path path2 =root.get(value); + Path path =null; + try { + path = root.get(fieldName); + } catch (IllegalArgumentException e) { // if attribute of the given name does not otherwise exist + return null; + } catch (IllegalStateException e){ // if invoked on a path that corresponds to a basic type + throw e; + } + + Path path2 =null; + try { + path2 = root.get(value); + } catch (IllegalArgumentException e) { // if attribute of the given name does not otherwise exist + return null; + } catch (IllegalStateException e){ // if invoked on a path that corresponds to a basic type + throw e; + } return builder.like(path, path2); } diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/EndWith.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/EndWith.java index 9f2e7d53..584eeb52 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/EndWith.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/EndWith.java @@ -17,9 +17,16 @@ public class EndWith extends Criteria { if(!StringUtils.hasText(value)){ throw new IllegalArgumentException("[" + operator + "] need a [value] value"); } - Class clazz =root.get(fieldName).getJavaType(); + Path path =null; + try { + path = root.get(fieldName); + } catch (IllegalArgumentException e) { // if attribute of the given name does not otherwise exist + return null; + } catch (IllegalStateException e){ // if invoked on a path that corresponds to a basic type + throw e; + } + Class clazz =path.getJavaType(); if(String.class.equals(clazz)) { - Path path =root.get(fieldName); return builder.like(path, "%" + value); }else{ throw new OperatorTypeNotSupportedException("[" + operator + "] only support the field with java.lang.String type, field [" + fieldName + "]'s type is " + clazz.getName()); diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/Equals.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/Equals.java index e265c71c..37103be9 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/Equals.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/Equals.java @@ -19,7 +19,14 @@ public class Equals extends Criteria { throw new IllegalArgumentException("[" + operator + "] need a [value] value"); } PathInformation pi =getPathInformation(root); - Path path =root.get(pi.getAttributeName()); + Path path =null; + try { + path = root.get(pi.getAttributeName()); + } catch (IllegalArgumentException e) { // if attribute of the given name does not otherwise exist + return null; + } catch (IllegalStateException e){ // if invoked on a path that corresponds to a basic type + throw e; + } if(pi.isSingularReference()){ Object v =conversionService.convert(value, pi.getReferenceAttributeJavaType()); if(v!=null){ diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/EqualsField.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/EqualsField.java index 6a9ce3e8..1d3102a9 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/EqualsField.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/EqualsField.java @@ -18,8 +18,23 @@ public class EqualsField extends Criteria { if(!StringUtils.hasText(value)){ throw new IllegalArgumentException("[" + operator + "] need a [value] value"); } - Path path =root.get(fieldName); - Path path2 =root.get(value); + Path path =null; + try { + path = root.get(fieldName); + } catch (IllegalArgumentException e) { // if attribute of the given name does not otherwise exist + return null; + } catch (IllegalStateException e){ // if invoked on a path that corresponds to a basic type + throw e; + } + + Path path2 =null; + try { + path2 = root.get(value); + } catch (IllegalArgumentException e) { // if attribute of the given name does not otherwise exist + return null; + } catch (IllegalStateException e){ // if invoked on a path that corresponds to a basic type + throw e; + } return builder.equal(path, path2); } diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/GreaterOrEquals.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/GreaterOrEquals.java index d24db912..bb4d2810 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/GreaterOrEquals.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/GreaterOrEquals.java @@ -18,7 +18,14 @@ public class GreaterOrEquals extends Criteria { if(!StringUtils.hasText(value)){ throw new IllegalArgumentException("[" + operator + "] need a [value] value"); } - Path path =root.get(fieldName); + Path path =null; + try { + path = root.get(fieldName); + } catch (IllegalArgumentException e) { // if attribute of the given name does not otherwise exist + return null; + } catch (IllegalStateException e){ // if invoked on a path that corresponds to a basic type + throw e; + } Class clazz =path.getJavaType(); if(Comparable.class.isAssignableFrom(clazz)){ return builder.greaterThanOrEqualTo(path,(Comparable)conversionService.convert(value, clazz)); @@ -31,4 +38,12 @@ public class GreaterOrEquals extends Criteria { public Condition getCondition(Map> typeMapping) { throw new OperatorTypeNotSupportedException(); } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } } diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/GreaterOrEqualsField.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/GreaterOrEqualsField.java index 15bc5839..c22dd438 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/GreaterOrEqualsField.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/GreaterOrEqualsField.java @@ -18,8 +18,23 @@ public class GreaterOrEqualsField extends Criteria { if(!StringUtils.hasText(value)){ throw new IllegalArgumentException("[" + operator + "] need a [value] value"); } - Path path =root.get(fieldName); - Path path2 =root.get(value); + Path path =null; + try { + path = root.get(fieldName); + } catch (IllegalArgumentException e) { // if attribute of the given name does not otherwise exist + return null; + } catch (IllegalStateException e){ // if invoked on a path that corresponds to a basic type + throw e; + } + + Path path2 =null; + try { + path2 = root.get(value); + } catch (IllegalArgumentException e) { // if attribute of the given name does not otherwise exist + return null; + } catch (IllegalStateException e){ // if invoked on a path that corresponds to a basic type + throw e; + } return builder.greaterThanOrEqualTo(path, path2); } diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/GreaterThan.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/GreaterThan.java index 618148a6..bca54386 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/GreaterThan.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/GreaterThan.java @@ -18,7 +18,14 @@ public class GreaterThan extends Criteria { if(!StringUtils.hasText(value)){ throw new IllegalArgumentException("[" + operator + "] need a [value] value"); } - Path path =root.get(fieldName); + Path path =null; + try { + path = root.get(fieldName); + } catch (IllegalArgumentException e) { // if attribute of the given name does not otherwise exist + return null; + } catch (IllegalStateException e){ // if invoked on a path that corresponds to a basic type + throw e; + } Class clazz =path.getJavaType(); if(Comparable.class.isAssignableFrom(clazz)){ return builder.greaterThan(path,(Comparable)conversionService.convert(value, clazz)); @@ -44,4 +51,12 @@ public class GreaterThan extends Criteria { condition.getParameters().put(name.substring(1),pValue); return condition; } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } } diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/GreaterThanField.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/GreaterThanField.java index e9135a97..33719227 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/GreaterThanField.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/GreaterThanField.java @@ -18,8 +18,23 @@ public class GreaterThanField extends Criteria { if(!StringUtils.hasText(value)){ throw new IllegalArgumentException("[" + operator + "] need a [value] value"); } - Path path =root.get(fieldName); - Path path2 =root.get(value); + Path path =null; + try { + path = root.get(fieldName); + } catch (IllegalArgumentException e) { // if attribute of the given name does not otherwise exist + return null; + } catch (IllegalStateException e){ // if invoked on a path that corresponds to a basic type + throw e; + } + + Path path2 =null; + try { + path2 = root.get(value); + } catch (IllegalArgumentException e) { // if attribute of the given name does not otherwise exist + return null; + } catch (IllegalStateException e){ // if invoked on a path that corresponds to a basic type + throw e; + } return builder.greaterThan(path, path2); } diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IContains.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IContains.java index 5e33c1d3..862e0e97 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IContains.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IContains.java @@ -17,9 +17,16 @@ public class IContains extends Contains { if(!StringUtils.hasText(value)){ throw new IllegalArgumentException("[" + operator + "] need a [value] value"); } - Class clazz =root.get(fieldName).getJavaType(); + Path path =null; + try { + path = root.get(fieldName); + } catch (IllegalArgumentException e) { // if attribute of the given name does not otherwise exist + return null; + } catch (IllegalStateException e){ // if invoked on a path that corresponds to a basic type + throw e; + } + Class clazz =path.getJavaType(); if(String.class.equals(clazz)) { - Path path =root.get(fieldName); return builder.like(builder.lower(path),"%" + value.toLowerCase() + "%"); }else{ throw new OperatorTypeNotSupportedException("[" + operator + "] only support the field with java.lang.String type, field [" + fieldName + "]'s type is " + clazz.getName()); diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IContainsField.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IContainsField.java index b8c41252..a41c633a 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IContainsField.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IContainsField.java @@ -16,8 +16,23 @@ public class IContainsField extends ContainsField { if(!StringUtils.hasText(value)){ throw new IllegalArgumentException("[" + operator + "] need a [value] value"); } - Path path =root.get(fieldName); - Path path2 =root.get(value); + Path path =null; + try { + path = root.get(fieldName); + } catch (IllegalArgumentException e) { // if attribute of the given name does not otherwise exist + return null; + } catch (IllegalStateException e){ // if invoked on a path that corresponds to a basic type + throw e; + } + + Path path2 =null; + try { + path2 = root.get(value); + } catch (IllegalArgumentException e) { // if attribute of the given name does not otherwise exist + return null; + } catch (IllegalStateException e){ // if invoked on a path that corresponds to a basic type + throw e; + } return builder.like(builder.lower(path), builder.lower(path2)); } diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IEndWith.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IEndWith.java index a03024a6..71df01cd 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IEndWith.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IEndWith.java @@ -16,9 +16,16 @@ public class IEndWith extends EndWith { if(!StringUtils.hasText(value)){ throw new IllegalArgumentException("[" + operator + "] need a [value] value"); } - Class clazz =root.get(fieldName).getJavaType(); + Path path =null; + try { + path = root.get(fieldName); + } catch (IllegalArgumentException e) { // if attribute of the given name does not otherwise exist + return null; + } catch (IllegalStateException e){ // if invoked on a path that corresponds to a basic type + throw e; + } + Class clazz =path.getJavaType(); if(String.class.equals(clazz)) { - Path path =root.get(fieldName); return builder.like(builder.lower(path), "%" + value.toLowerCase()); }else{ throw new OperatorTypeNotSupportedException("[" + operator + "] only support the field with java.lang.String type, field [" + fieldName + "]'s type is " + clazz.getName()); diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IEquals.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IEquals.java index 17635a15..b35b8567 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IEquals.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IEquals.java @@ -15,7 +15,14 @@ public class IEquals extends Equals { if(!StringUtils.hasText(value)){ throw new IllegalArgumentException("[" + operator + "] need a [value] value"); } - Path path =root.get(fieldName); + Path path =null; + try { + path = root.get(fieldName); + } catch (IllegalArgumentException e) { // if attribute of the given name does not otherwise exist + return null; + } catch (IllegalStateException e){ // if invoked on a path that corresponds to a basic type + throw e; + } Class clazz =path.getJavaType(); if(String.class.isAssignableFrom(clazz)){ return builder.equal(builder.lower(path),conversionService.convert(value, String.class).toLowerCase()); diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IEqualsField.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IEqualsField.java index 31ca9b62..a93b8e6e 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IEqualsField.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IEqualsField.java @@ -16,8 +16,23 @@ public class IEqualsField extends EqualsField { if(!StringUtils.hasText(value)){ throw new IllegalArgumentException("[" + operator + "] need a [value] value"); } - Path path =root.get(fieldName); - Path path2 =root.get(value); + Path path =null; + try { + path = root.get(fieldName); + } catch (IllegalArgumentException e) { // if attribute of the given name does not otherwise exist + return null; + } catch (IllegalStateException e){ // if invoked on a path that corresponds to a basic type + throw e; + } + + Path path2 =null; + try { + path2 = root.get(value); + } catch (IllegalArgumentException e) { // if attribute of the given name does not otherwise exist + return null; + } catch (IllegalStateException e){ // if invoked on a path that corresponds to a basic type + throw e; + } return builder.equal(builder.lower(path), builder.lower(path2)); } diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/InSet.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/InSet.java index 6350e3b3..66ebebc3 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/InSet.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/InSet.java @@ -21,7 +21,14 @@ public class InSet extends Criteria { throw new IllegalArgumentException("[" + operator + "] need a [start] or [end] value"); } PathInformation pi =getPathInformation(root); - Path path =root.get(pi.getAttributeName()); + Path path =null; + try { + path = root.get(pi.getAttributeName()); + } catch (IllegalArgumentException e) { // if attribute of the given name does not otherwise exist + return null; + } catch (IllegalStateException e){ // if invoked on a path that corresponds to a basic type + throw e; + } if(pi.isSingularReference()){ Object[] values =convert(pi.getReferenceAttributeJavaType()); if(values!=null){ diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IsBlank.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IsBlank.java index 186e575d..b21aca36 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IsBlank.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IsBlank.java @@ -5,17 +5,22 @@ import io.sc.platform.orm.service.support.OperatorTypeNotSupportedException; import io.sc.platform.orm.service.support.criteria.Criteria; import org.springframework.core.convert.ConversionService; -import javax.persistence.criteria.CriteriaBuilder; -import javax.persistence.criteria.CriteriaQuery; -import javax.persistence.criteria.Predicate; -import javax.persistence.criteria.Root; +import javax.persistence.criteria.*; import java.util.Map; public class IsBlank extends Criteria { @Override @SuppressWarnings("unchecked") public Predicate getPredicate(Root root, CriteriaQuery query, CriteriaBuilder builder) { - return builder.isEmpty(root.get(fieldName)); + Path path =null; + try { + path = root.get(fieldName); + } catch (IllegalArgumentException e) { // if attribute of the given name does not otherwise exist + return null; + } catch (IllegalStateException e){ // if invoked on a path that corresponds to a basic type + throw e; + } + return builder.isEmpty(path); } @Override diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IsNotNull.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IsNotNull.java index 4dc348b2..9faee353 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IsNotNull.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IsNotNull.java @@ -5,17 +5,22 @@ import io.sc.platform.orm.service.support.OperatorTypeNotSupportedException; import io.sc.platform.orm.service.support.criteria.Criteria; import org.springframework.core.convert.ConversionService; -import javax.persistence.criteria.CriteriaBuilder; -import javax.persistence.criteria.CriteriaQuery; -import javax.persistence.criteria.Predicate; -import javax.persistence.criteria.Root; +import javax.persistence.criteria.*; import java.util.Map; public class IsNotNull extends Criteria { @Override @SuppressWarnings("unchecked") public Predicate getPredicate(Root root, CriteriaQuery query, CriteriaBuilder builder) { - return root.get(fieldName).isNotNull(); + Path path =null; + try { + path = root.get(fieldName); + } catch (IllegalArgumentException e) { // if attribute of the given name does not otherwise exist + return null; + } catch (IllegalStateException e){ // if invoked on a path that corresponds to a basic type + throw e; + } + return path.isNotNull(); } @Override diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IsNull.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IsNull.java index 282061c4..d98f7987 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IsNull.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/IsNull.java @@ -5,17 +5,22 @@ import io.sc.platform.orm.service.support.OperatorTypeNotSupportedException; import io.sc.platform.orm.service.support.criteria.Criteria; import org.springframework.core.convert.ConversionService; -import javax.persistence.criteria.CriteriaBuilder; -import javax.persistence.criteria.CriteriaQuery; -import javax.persistence.criteria.Predicate; -import javax.persistence.criteria.Root; +import javax.persistence.criteria.*; import java.util.Map; public class IsNull extends Criteria { @Override @SuppressWarnings("unchecked") public Predicate getPredicate(Root root, CriteriaQuery query, CriteriaBuilder builder) { - return root.get(fieldName).isNull(); + Path path =null; + try { + path = root.get(fieldName); + } catch (IllegalArgumentException e) { // if attribute of the given name does not otherwise exist + return null; + } catch (IllegalStateException e){ // if invoked on a path that corresponds to a basic type + throw e; + } + return path.isNull(); } @Override diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/LessOrEquals.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/LessOrEquals.java index 5fc3ada9..41390d50 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/LessOrEquals.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/LessOrEquals.java @@ -18,7 +18,14 @@ public class LessOrEquals extends Criteria { if(!StringUtils.hasText(value)){ throw new IllegalArgumentException("[" + operator + "] need a [value] value"); } - Path path =root.get(fieldName); + Path path =null; + try { + path = root.get(fieldName); + } catch (IllegalArgumentException e) { // if attribute of the given name does not otherwise exist + return null; + } catch (IllegalStateException e){ // if invoked on a path that corresponds to a basic type + throw e; + } Class clazz =path.getJavaType(); if(Comparable.class.isAssignableFrom(clazz)){ return builder.lessThanOrEqualTo(path,(Comparable)conversionService.convert(value, clazz)); @@ -31,4 +38,12 @@ public class LessOrEquals extends Criteria { public Condition getCondition(Map> typeMapping) { throw new OperatorTypeNotSupportedException(); } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } } diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/LessOrEqualsField.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/LessOrEqualsField.java index cb18bbe1..a220af04 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/LessOrEqualsField.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/LessOrEqualsField.java @@ -18,8 +18,23 @@ public class LessOrEqualsField extends Criteria { if(!StringUtils.hasText(value)){ throw new IllegalArgumentException("[" + operator + "] need a [value] value"); } - Path path =root.get(fieldName); - Path path2 =root.get(value); + Path path =null; + try { + path = root.get(fieldName); + } catch (IllegalArgumentException e) { // if attribute of the given name does not otherwise exist + return null; + } catch (IllegalStateException e){ // if invoked on a path that corresponds to a basic type + throw e; + } + + Path path2 =null; + try { + path2 = root.get(value); + } catch (IllegalArgumentException e) { // if attribute of the given name does not otherwise exist + return null; + } catch (IllegalStateException e){ // if invoked on a path that corresponds to a basic type + throw e; + } return builder.lessThanOrEqualTo(path, path2); } diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/LessThan.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/LessThan.java index 20405035..df23237a 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/LessThan.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/LessThan.java @@ -18,7 +18,14 @@ public class LessThan extends Criteria { if(!StringUtils.hasText(value)){ throw new IllegalArgumentException("[" + operator + "] need a [value] value"); } - Path path =root.get(fieldName); + Path path =null; + try { + path = root.get(fieldName); + } catch (IllegalArgumentException e) { // if attribute of the given name does not otherwise exist + return null; + } catch (IllegalStateException e){ // if invoked on a path that corresponds to a basic type + throw e; + } Class clazz =path.getJavaType(); if(Comparable.class.isAssignableFrom(clazz)){ return builder.lessThan(path,(Comparable)conversionService.convert(value, clazz)); @@ -31,4 +38,12 @@ public class LessThan extends Criteria { public Condition getCondition(Map> typeMapping) { throw new OperatorTypeNotSupportedException(); } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } } diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/LessThanField.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/LessThanField.java index 4d2b2da5..c42db72f 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/LessThanField.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/LessThanField.java @@ -18,8 +18,23 @@ public class LessThanField extends Criteria { if(!StringUtils.hasText(value)){ throw new IllegalArgumentException("[" + operator + "] need a [value] value"); } - Path path =root.get(fieldName); - Path path2 =root.get(value); + Path path =null; + try { + path = root.get(fieldName); + } catch (IllegalArgumentException e) { // if attribute of the given name does not otherwise exist + return null; + } catch (IllegalStateException e){ // if invoked on a path that corresponds to a basic type + throw e; + } + + Path path2 =null; + try { + path2 = root.get(value); + } catch (IllegalArgumentException e) { // if attribute of the given name does not otherwise exist + return null; + } catch (IllegalStateException e){ // if invoked on a path that corresponds to a basic type + throw e; + } return builder.lessThan(path, path2); } diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotBlank.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotBlank.java index efceec91..890d9380 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotBlank.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotBlank.java @@ -5,17 +5,22 @@ import io.sc.platform.orm.service.support.OperatorTypeNotSupportedException; import io.sc.platform.orm.service.support.criteria.Criteria; import org.springframework.core.convert.ConversionService; -import javax.persistence.criteria.CriteriaBuilder; -import javax.persistence.criteria.CriteriaQuery; -import javax.persistence.criteria.Predicate; -import javax.persistence.criteria.Root; +import javax.persistence.criteria.*; import java.util.Map; public class NotBlank extends Criteria { @Override @SuppressWarnings("unchecked") public Predicate getPredicate(Root root, CriteriaQuery query, CriteriaBuilder builder) { - return builder.isNotEmpty(root.get(fieldName)); + Path path =null; + try { + path = root.get(fieldName); + } catch (IllegalArgumentException e) { // if attribute of the given name does not otherwise exist + return null; + } catch (IllegalStateException e){ // if invoked on a path that corresponds to a basic type + throw e; + } + return builder.isNotEmpty(path); } @Override diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotContains.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotContains.java index 11093e94..76efc5d9 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotContains.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotContains.java @@ -18,9 +18,16 @@ public class NotContains extends Criteria { if(!StringUtils.hasText(value)){ throw new IllegalArgumentException("[" + operator + "] need a [value] value"); } - Class clazz =root.get(fieldName).getJavaType(); + Path path =null; + try { + path = root.get(fieldName); + } catch (IllegalArgumentException e) { // if attribute of the given name does not otherwise exist + return null; + } catch (IllegalStateException e){ // if invoked on a path that corresponds to a basic type + throw e; + } + Class clazz =path.getJavaType(); if(String.class.equals(clazz)) { - Path path =root.get(fieldName); return builder.notLike(path, "%" + value + "%"); }else{ throw new OperatorTypeNotSupportedException("[" + operator + "] only support the field with java.lang.String type, field [" + fieldName + "]'s type is " + clazz.getName()); diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotContainsField.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotContainsField.java index 55233b3d..420b98bf 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotContainsField.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotContainsField.java @@ -18,8 +18,23 @@ public class NotContainsField extends Criteria { if(!StringUtils.hasText(value)){ throw new IllegalArgumentException("[" + operator + "] need a [value] value"); } - Path path =root.get(fieldName); - Path path2 =root.get(value); + Path path =null; + try { + path = root.get(fieldName); + } catch (IllegalArgumentException e) { // if attribute of the given name does not otherwise exist + return null; + } catch (IllegalStateException e){ // if invoked on a path that corresponds to a basic type + throw e; + } + + Path path2 =null; + try { + path2 = root.get(value); + } catch (IllegalArgumentException e) { // if attribute of the given name does not otherwise exist + return null; + } catch (IllegalStateException e){ // if invoked on a path that corresponds to a basic type + throw e; + } return builder.notLike(path, path2); } diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotEndWith.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotEndWith.java index af2da7ae..ada4d73b 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotEndWith.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotEndWith.java @@ -18,9 +18,16 @@ public class NotEndWith extends Criteria { if(!StringUtils.hasText(value)){ throw new IllegalArgumentException("[" + operator + "] need a [value] value"); } - Class clazz =root.get(fieldName).getJavaType(); + Path path =null; + try { + path = root.get(fieldName); + } catch (IllegalArgumentException e) { // if attribute of the given name does not otherwise exist + return null; + } catch (IllegalStateException e){ // if invoked on a path that corresponds to a basic type + throw e; + } + Class clazz =path.getJavaType(); if(String.class.equals(clazz)) { - Path path =root.get(fieldName); return builder.notLike(path, "%" + value); }else{ throw new OperatorTypeNotSupportedException("[" + operator + "] only support the field with java.lang.String type, field [" + fieldName + "]'s type is " + clazz.getName()); diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotEquals.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotEquals.java index 52b138fa..69226e35 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotEquals.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotEquals.java @@ -18,7 +18,14 @@ public class NotEquals extends Criteria { if(!StringUtils.hasText(value)){ throw new IllegalArgumentException("[" + operator + "] need a [value] value"); } - Path path =root.get(fieldName); + Path path =null; + try { + path = root.get(fieldName); + } catch (IllegalArgumentException e) { // if attribute of the given name does not otherwise exist + return null; + } catch (IllegalStateException e){ // if invoked on a path that corresponds to a basic type + throw e; + } Class clazz =path.getJavaType(); if(Comparable.class.isAssignableFrom(clazz)){ return builder.notEqual(path,(Comparable)conversionService.convert(value, clazz)); diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotEqualsField.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotEqualsField.java index 1448b07d..55687f4e 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotEqualsField.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotEqualsField.java @@ -18,8 +18,23 @@ public class NotEqualsField extends Criteria { if(!StringUtils.hasText(value)){ throw new IllegalArgumentException("[" + operator + "] need a [value] value"); } - Path path =root.get(fieldName); - Path path2 =root.get(value); + Path path =null; + try { + path = root.get(fieldName); + } catch (IllegalArgumentException e) { // if attribute of the given name does not otherwise exist + return null; + } catch (IllegalStateException e){ // if invoked on a path that corresponds to a basic type + throw e; + } + + Path path2 =null; + try { + path2 = root.get(value); + } catch (IllegalArgumentException e) { // if attribute of the given name does not otherwise exist + return null; + } catch (IllegalStateException e){ // if invoked on a path that corresponds to a basic type + throw e; + } return builder.notEqual(path, path2); } diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotInSet.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotInSet.java index 800fdaa2..4a9dce03 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotInSet.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotInSet.java @@ -5,10 +5,7 @@ import io.sc.platform.orm.service.support.OperatorTypeNotSupportedException; import io.sc.platform.orm.service.support.criteria.Criteria; import org.springframework.core.convert.ConversionService; -import javax.persistence.criteria.CriteriaBuilder; -import javax.persistence.criteria.CriteriaQuery; -import javax.persistence.criteria.Predicate; -import javax.persistence.criteria.Root; +import javax.persistence.criteria.*; import java.util.Map; public class NotInSet extends Criteria { @@ -20,7 +17,15 @@ public class NotInSet extends Criteria { if(value==null || value.length<=0){ throw new IllegalArgumentException("[" + operator + "] need a [start] or [end] value"); } - return root.get(fieldName).in((Object[])value).not(); + Path path =null; + try { + path = root.get(fieldName); + } catch (IllegalArgumentException e) { // if attribute of the given name does not otherwise exist + return null; + } catch (IllegalStateException e){ // if invoked on a path that corresponds to a basic type + throw e; + } + return path.in((Object[])value).not(); } @Override diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotStartWith.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotStartWith.java index 00e74719..f59d1475 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotStartWith.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/NotStartWith.java @@ -18,9 +18,16 @@ public class NotStartWith extends Criteria { if(!StringUtils.hasText(value)){ throw new IllegalArgumentException("[" + operator + "] need a [value] value"); } - Class clazz =root.get(fieldName).getJavaType(); + Path path =null; + try { + path = root.get(fieldName); + } catch (IllegalArgumentException e) { // if attribute of the given name does not otherwise exist + return null; + } catch (IllegalStateException e){ // if invoked on a path that corresponds to a basic type + throw e; + } + Class clazz =path.getJavaType(); if(String.class.equals(clazz)) { - Path path =root.get(fieldName); return builder.like(path, value + "%").not(); }else{ throw new OperatorTypeNotSupportedException("[" + operator + "] only support the field with java.lang.String type, field [" + fieldName + "]'s type is " + clazz.getName()); diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/StartWith.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/StartWith.java index 491933d4..14416a00 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/StartWith.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/criteria/impl/StartWith.java @@ -18,9 +18,16 @@ public class StartWith extends Criteria { if(!StringUtils.hasText(value)){ throw new IllegalArgumentException("[" + operator + "] need a [value] value"); } - Class clazz =root.get(fieldName).getJavaType(); + Path path =null; + try { + path = root.get(fieldName); + } catch (IllegalArgumentException e) { // if attribute of the given name does not otherwise exist + return null; + } catch (IllegalStateException e){ // if invoked on a path that corresponds to a basic type + throw e; + } + Class clazz =path.getJavaType(); if(String.class.equals(clazz)) { - Path path =root.get(fieldName); return builder.like(path, value + "%"); }else{ throw new OperatorTypeNotSupportedException("[" + operator + "] only support the field with java.lang.String type, field [" + fieldName + "]'s type is " + clazz.getName()); diff --git a/io.sc.platform.scheduler.manager.frontend/package.json b/io.sc.platform.scheduler.manager.frontend/package.json index 1ad19e0d..7611342e 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.24", + "version": "8.2.25", "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.86", + "platform-core": "8.2.89", "quasar": "2.17.6", "sort-array": "5.0.0", "svg-path-commander": "2.1.7", @@ -123,4 +123,4 @@ "vue-router": "4.5.0", "xml-formatter": "3.6.3" } -} \ No newline at end of file +} diff --git a/io.sc.platform.scheduler.manager/src/main/resources/META-INF/platform/plugins/liquibase.json b/io.sc.platform.scheduler.manager/src/main/resources/META-INF/platform/plugins/liquibase.json index 212bbfaa..263f8f54 100644 --- a/io.sc.platform.scheduler.manager/src/main/resources/META-INF/platform/plugins/liquibase.json +++ b/io.sc.platform.scheduler.manager/src/main/resources/META-INF/platform/plugins/liquibase.json @@ -4,7 +4,7 @@ "order" : 1000, "description":"XXL JOB 相关表", "locations":[ - "classpath:/liquibase/io.sc.platform.scheduler.manager_8.0.0_20220606__Scheduler Database Schema DDL.xml" + "classpath:/liquibase/io.sc.platform.scheduler.manager_8.0.0_20220606__Scheduler_Database_Schema_DDL.xml" ] } ] \ No newline at end of file diff --git a/io.sc.platform.scheduler.manager/src/main/resources/liquibase/io.sc.platform.scheduler.manager_8.0.0_20220606__Scheduler Database Schema DDL.xml b/io.sc.platform.scheduler.manager/src/main/resources/liquibase/io.sc.platform.scheduler.manager_8.0.0_20220606__Scheduler_Database_Schema_DDL.xml similarity index 100% rename from io.sc.platform.scheduler.manager/src/main/resources/liquibase/io.sc.platform.scheduler.manager_8.0.0_20220606__Scheduler Database Schema DDL.xml rename to io.sc.platform.scheduler.manager/src/main/resources/liquibase/io.sc.platform.scheduler.manager_8.0.0_20220606__Scheduler_Database_Schema_DDL.xml diff --git a/io.sc.platform.security/src/main/resources/META-INF/platform/plugins/liquibase.json b/io.sc.platform.security/src/main/resources/META-INF/platform/plugins/liquibase.json index 030e008b..bae5dac6 100644 --- a/io.sc.platform.security/src/main/resources/META-INF/platform/plugins/liquibase.json +++ b/io.sc.platform.security/src/main/resources/META-INF/platform/plugins/liquibase.json @@ -4,8 +4,8 @@ "order" : 100, "description":"授权与认证", "locations":[ - "classpath:/liquibase/io.sc.platform.security_8.0.0_20220606__Security Database Schema DDL.xml", - "classpath:/liquibase/io.sc.platform.security_8.0.0_20220606__Security Data.xml" + "classpath:/liquibase/io.sc.platform.security_8.0.0_20220606__Security_Database_Schema_DDL.xml", + "classpath:/liquibase/io.sc.platform.security_8.0.0_20220606__Security_Data.xml" ] } ] \ No newline at end of file diff --git a/io.sc.platform.security/src/main/resources/META-INF/platform/plugins/parameters.json b/io.sc.platform.security/src/main/resources/META-INF/platform/plugins/parameters.json index f596e266..8781d1e3 100644 --- a/io.sc.platform.security/src/main/resources/META-INF/platform/plugins/parameters.json +++ b/io.sc.platform.security/src/main/resources/META-INF/platform/plugins/parameters.json @@ -1,16 +1,14 @@ [ - /*系统*/ - {"id":"parameter.system","order":0}, - /*系统/前端登录表单密码加密*/ - { - "id" : "parameter.login.encodePassword", - "parentId" : "parameter.system", - "code" : "parameter.login.encodePassword", - "defaultValue" : "true", - "order" : 200, - "options" : { - "true" : "parameter.login.encodePassword.options.true", - "false" : "parameter.login.encodePassword.options.false" - } + /*系统/前端登录表单密码加密*/ + { + "parentId" : "parameter.system", + "id" : "parameter.system.login.encodePassword", + "code" : "parameter.system.login.encodePassword", + "defaultValue" : "true", + "order" : 200, + "options" : { + "true" : "parameter.login.encodePassword.options.true", + "false" : "parameter.login.encodePassword.options.false" } + } ] \ No newline at end of file diff --git a/io.sc.platform.security/src/main/resources/io/sc/platform/security/i18n/parameters.properties b/io.sc.platform.security/src/main/resources/io/sc/platform/security/i18n/parameters.properties index 7b2fc5f5..b286f303 100644 --- a/io.sc.platform.security/src/main/resources/io/sc/platform/security/i18n/parameters.properties +++ b/io.sc.platform.security/src/main/resources/io/sc/platform/security/i18n/parameters.properties @@ -1,3 +1,3 @@ -parameter.login.encodePassword=Encode Password in Login Page +parameter.system.login.encodePassword=Encode Password in Login Page parameter.login.encodePassword.options.true=True parameter.login.encodePassword.options.false=False \ No newline at end of file diff --git a/io.sc.platform.security/src/main/resources/io/sc/platform/security/i18n/parameters_tw_CN.properties b/io.sc.platform.security/src/main/resources/io/sc/platform/security/i18n/parameters_tw_CN.properties index e145f576..32517b8e 100644 --- a/io.sc.platform.security/src/main/resources/io/sc/platform/security/i18n/parameters_tw_CN.properties +++ b/io.sc.platform.security/src/main/resources/io/sc/platform/security/i18n/parameters_tw_CN.properties @@ -1,3 +1,3 @@ -parameter.login.encodePassword=\u767B\u9304\u9801\u9762\u5BC6\u78BC\u52A0\u5BC6 +parameter.system.login.encodePassword=\u767B\u9304\u9801\u9762\u5BC6\u78BC\u52A0\u5BC6 parameter.login.encodePassword.options.true=\u662F parameter.login.encodePassword.options.false=\u5426 \ No newline at end of file diff --git a/io.sc.platform.security/src/main/resources/io/sc/platform/security/i18n/parameters_zh_CN.properties b/io.sc.platform.security/src/main/resources/io/sc/platform/security/i18n/parameters_zh_CN.properties index 4eb5dcce..13e4f009 100644 --- a/io.sc.platform.security/src/main/resources/io/sc/platform/security/i18n/parameters_zh_CN.properties +++ b/io.sc.platform.security/src/main/resources/io/sc/platform/security/i18n/parameters_zh_CN.properties @@ -1,3 +1,3 @@ -parameter.login.encodePassword=\u767B\u5F55\u9875\u9762\u5BC6\u7801\u52A0\u5BC6 +parameter.system.login.encodePassword=\u767B\u5F55\u9875\u9762\u5BC6\u7801\u52A0\u5BC6 parameter.login.encodePassword.options.true=\u662F parameter.login.encodePassword.options.false=\u5426 \ No newline at end of file diff --git a/io.sc.platform.security/src/main/resources/liquibase/io.sc.platform.security_8.0.0_20220606__Security Data.xml b/io.sc.platform.security/src/main/resources/liquibase/io.sc.platform.security_8.0.0_20220606__Security_Data.xml similarity index 100% rename from io.sc.platform.security/src/main/resources/liquibase/io.sc.platform.security_8.0.0_20220606__Security Data.xml rename to io.sc.platform.security/src/main/resources/liquibase/io.sc.platform.security_8.0.0_20220606__Security_Data.xml diff --git a/io.sc.platform.security/src/main/resources/liquibase/io.sc.platform.security_8.0.0_20220606__Security Database Schema DDL.xml b/io.sc.platform.security/src/main/resources/liquibase/io.sc.platform.security_8.0.0_20220606__Security_Database_Schema_DDL.xml similarity index 100% rename from io.sc.platform.security/src/main/resources/liquibase/io.sc.platform.security_8.0.0_20220606__Security Database Schema DDL.xml rename to io.sc.platform.security/src/main/resources/liquibase/io.sc.platform.security_8.0.0_20220606__Security_Database_Schema_DDL.xml diff --git a/io.sc.platform.system.api/src/main/java/io/sc/platform/system/api/shortcutmenu/ShortcutMenuVo.java b/io.sc.platform.system.api/src/main/java/io/sc/platform/system/api/shortcutmenu/ShortcutMenuVo.java new file mode 100644 index 00000000..ce86f3a9 --- /dev/null +++ b/io.sc.platform.system.api/src/main/java/io/sc/platform/system/api/shortcutmenu/ShortcutMenuVo.java @@ -0,0 +1,79 @@ +package io.sc.platform.system.api.shortcutmenu; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.sc.platform.orm.api.vo.CorporationAuditorVo; + +import java.util.Date; + +public class ShortcutMenuVo extends CorporationAuditorVo { + //主键 + @JsonProperty(index = 1) + private String id; + + //登录名 + @JsonProperty(index = 2) + private String loginName; + + // 快捷菜单ID + private String menuId; + + //快捷菜单代码 + @JsonProperty(index = 3) + private String menuCode; + + //快捷菜单名称 + @JsonProperty(index = 4) + private String shortcutMenuName; + + //QQ号 + @JsonProperty(index = 5) + private Integer order; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getLoginName() { + return loginName; + } + + public void setLoginName(String loginName) { + this.loginName = loginName; + } + + public String getMenuId() { + return menuId; + } + + public void setMenuId(String menuId) { + this.menuId = menuId; + } + + public String getMenuCode() { + return menuCode; + } + + public void setMenuCode(String menuCode) { + this.menuCode = menuCode; + } + + public String getShortcutMenuName() { + return shortcutMenuName; + } + + public void setShortcutMenuName(String shortcutMenuName) { + this.shortcutMenuName = shortcutMenuName; + } + + public Integer getOrder() { + return order; + } + + public void setOrder(Integer order) { + this.order = order; + } +} diff --git a/io.sc.platform.system.frontend/package.json b/io.sc.platform.system.frontend/package.json index 9d5c6587..03ec4839 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.24", + "version": "8.2.25", "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.86", + "platform-core": "8.2.89", "quasar": "2.17.6", "sort-array": "5.0.0", "svg-path-commander": "2.1.7", @@ -121,4 +121,4 @@ "vue-router": "4.5.0", "xml-formatter": "3.6.3" } -} \ No newline at end of file +} diff --git a/io.sc.platform.system.frontend/src/components/index.ts b/io.sc.platform.system.frontend/src/components/index.ts index 08d9f124..08ecac72 100644 --- a/io.sc.platform.system.frontend/src/components/index.ts +++ b/io.sc.platform.system.frontend/src/components/index.ts @@ -2,6 +2,7 @@ * 此文件为自动生成文件,请勿修改 */ +import component_system_Settings from '@/views/settings/Settings.vue'; import component_system_License from '@/views/license/License.vue'; import component_system_application from '@/views/application/Application.vue'; import component_system_Corporation from '@/views/corporation/Corporation.vue'; @@ -22,6 +23,7 @@ import component_system_monitor_Log from '@/views/monitor/Log.vue'; import component_system_monitor_ServerInfo from '@/views/monitor/ServerInfo.vue'; const localComponents = { + 'component.system.Settings': component_system_Settings, 'component.system.License': component_system_License, 'component.system.application': component_system_application, 'component.system.Corporation': component_system_Corporation, diff --git a/io.sc.platform.system.frontend/src/i18n/messages.json b/io.sc.platform.system.frontend/src/i18n/messages.json index 4cafc1e2..559408d2 100644 --- a/io.sc.platform.system.frontend/src/i18n/messages.json +++ b/io.sc.platform.system.frontend/src/i18n/messages.json @@ -198,5 +198,9 @@ "system.monitor.serverInfo.online": "Online", - "system.monitor.serverInfo.serviceRequest": "Service Request" + "system.monitor.serverInfo.serviceRequest": "Service Request", + + "route.system.settings": "Settings", + "settings.shortcutMenus": "Shortcut Menus", + "settings.shortcutMenus.entity.shortcutMenuName": "Shortcut Menu Name" } diff --git a/io.sc.platform.system.frontend/src/i18n/messages_tw_CN.json b/io.sc.platform.system.frontend/src/i18n/messages_tw_CN.json index 02a66096..c67a377a 100644 --- a/io.sc.platform.system.frontend/src/i18n/messages_tw_CN.json +++ b/io.sc.platform.system.frontend/src/i18n/messages_tw_CN.json @@ -176,5 +176,9 @@ "system.monitor.serverInfo.online": "在線用戶", - "system.monitor.serverInfo.serviceRequest": "服務請求" + "system.monitor.serverInfo.serviceRequest": "服務請求", + + "route.system.settings": "設置", + "settings.shortcutMenus": "常用菜單", + "settings.shortcutMenus.entity.shortcutMenuName": "快捷菜單名稱" } diff --git a/io.sc.platform.system.frontend/src/i18n/messages_zh_CN.json b/io.sc.platform.system.frontend/src/i18n/messages_zh_CN.json index 38bf9c38..b95aca30 100644 --- a/io.sc.platform.system.frontend/src/i18n/messages_zh_CN.json +++ b/io.sc.platform.system.frontend/src/i18n/messages_zh_CN.json @@ -206,5 +206,9 @@ "system.monitor.serverInfo.online": "在线用户", - "system.monitor.serverInfo.serviceRequest": "服务请求" + "system.monitor.serverInfo.serviceRequest": "服务请求", + + "route.system.settings": "设置", + "settings.shortcutMenus": "常用菜单", + "settings.shortcutMenus.entity.shortcutMenuName": "快捷菜单名称" } diff --git a/io.sc.platform.system.frontend/src/routes/routes.json b/io.sc.platform.system.frontend/src/routes/routes.json index b025b68d..f9358c66 100644 --- a/io.sc.platform.system.frontend/src/routes/routes.json +++ b/io.sc.platform.system.frontend/src/routes/routes.json @@ -1,4 +1,18 @@ [ + { + "force": true, + "parent": "/", + "name": "route.system.settings", + "path": "system/settings", + "priority": 0, + "module": "io.sc.platform.system.frontend", + "component": "component.system.Settings", + "componentPath": "@/views/settings/Settings.vue", + "redirect": null, + "meta": { + "permissions": ["/system/settings/**/*"] + } + }, { "parent": "/", "name": "route.system.license", @@ -6,12 +20,10 @@ "priority": 0, "module": "io.sc.platform.system.frontend", "component": "component.system.License", - "componentPath":"@/views/license/License.vue", + "componentPath": "@/views/license/License.vue", "redirect": null, "meta": { - "permissions": [ - "/system/license/**/*" - ] + "permissions": ["/system/license/**/*"] } }, { @@ -21,12 +33,10 @@ "priority": 0, "module": "io.sc.platform.system.frontend", "component": "component.system.application", - "componentPath":"@/views/application/Application.vue", + "componentPath": "@/views/application/Application.vue", "redirect": null, "meta": { - "permissions": [ - "/system/application/**/*" - ] + "permissions": ["/system/application/**/*"] } }, { @@ -36,17 +46,15 @@ "priority": 0, "module": "io.sc.platform.system.frontend", "component": "component.system.Corporation", - "componentPath":"@/views/corporation/Corporation.vue", + "componentPath": "@/views/corporation/Corporation.vue", "redirect": null, "meta": { - "permissions": [ - "/system/corporation/**/*" - ], + "permissions": ["/system/corporation/**/*"], "actions": [ - {"name":"query", "i18nKey":"query", "permissions":[{"method": "GET", "matcher": "/api/system/corporation"}]}, - {"name":"add", "i18nKey":"add", "permissions":[{"method": "POST", "matcher": "/api/system/corporation"}]}, - {"name":"remove", "i18nKey":"remove", "permissions":[{"method": "DELETE", "matcher": "/api/system/corporation"}]}, - {"name":"edit", "i18nKey":"edit", "permissions":[{"method": "PUT", "matcher": "/api/system/corporation"}]} + { "name": "query", "i18nKey": "query", "permissions": [{ "method": "GET", "matcher": "/api/system/corporation" }] }, + { "name": "add", "i18nKey": "add", "permissions": [{ "method": "POST", "matcher": "/api/system/corporation" }] }, + { "name": "remove", "i18nKey": "remove", "permissions": [{ "method": "DELETE", "matcher": "/api/system/corporation" }] }, + { "name": "edit", "i18nKey": "edit", "permissions": [{ "method": "PUT", "matcher": "/api/system/corporation" }] } ] } }, @@ -57,12 +65,10 @@ "priority": 0, "module": "io.sc.platform.system.frontend", "component": "component.system.User", - "componentPath":"@/views/user/User.vue", + "componentPath": "@/views/user/User.vue", "redirect": null, "meta": { - "permissions": [ - "/system/user/**/*" - ] + "permissions": ["/system/user/**/*"] } }, { @@ -72,12 +78,10 @@ "priority": 0, "module": "io.sc.platform.system.frontend", "component": "component.system.Role", - "componentPath":"@/views/role/Role.vue", + "componentPath": "@/views/role/Role.vue", "redirect": null, "meta": { - "permissions": [ - "/system/role/**/*" - ] + "permissions": ["/system/role/**/*"] } }, { @@ -87,12 +91,10 @@ "priority": 0, "module": "io.sc.platform.system.frontend", "component": "component.system.Org", - "componentPath":"@/views/org/Org.vue", + "componentPath": "@/views/org/Org.vue", "redirect": null, "meta": { - "permissions": [ - "/system/org/**/*" - ] + "permissions": ["/system/org/**/*"] } }, { @@ -102,12 +104,10 @@ "priority": 0, "module": "io.sc.platform.system.frontend", "component": "component.system.Department", - "componentPath":"@/views/department/Department.vue", + "componentPath": "@/views/department/Department.vue", "redirect": null, "meta": { - "permissions": [ - "/system/department/**/*" - ] + "permissions": ["/system/department/**/*"] } }, { @@ -117,12 +117,10 @@ "priority": 0, "module": "io.sc.platform.system.frontend", "component": "component.system.Menu", - "componentPath":"@/views/menu/Menu.vue", + "componentPath": "@/views/menu/Menu.vue", "redirect": null, "meta": { - "permissions": [ - "/system/menu/**/*" - ] + "permissions": ["/system/menu/**/*"] } }, { @@ -132,12 +130,10 @@ "priority": 0, "module": "io.sc.platform.system.frontend", "component": "component.system.announcementManager", - "componentPath":"@/views/announcement/AnnouncementManager.vue", + "componentPath": "@/views/announcement/AnnouncementManager.vue", "redirect": null, "meta": { - "permissions": [ - "/system/announcement/**/*" - ] + "permissions": ["/system/announcement/**/*"] } }, { @@ -147,12 +143,10 @@ "priority": 0, "module": "io.sc.platform.system.frontend", "component": "component.system.NotificationManager", - "componentPath":"@/views/notification/NotificationManager.vue", + "componentPath": "@/views/notification/NotificationManager.vue", "redirect": null, "meta": { - "permissions": [ - "/system/notificationManager/**/*" - ] + "permissions": ["/system/notificationManager/**/*"] } }, { @@ -162,12 +156,10 @@ "priority": 0, "module": "io.sc.platform.system.frontend", "component": "component.system.Parameter", - "componentPath":"@/views/parameter/Parameter.vue", + "componentPath": "@/views/parameter/Parameter.vue", "redirect": null, "meta": { - "permissions": [ - "/system/parameter/**/*" - ] + "permissions": ["/system/parameter/**/*"] } }, { @@ -177,12 +169,10 @@ "priority": 0, "module": "io.sc.platform.system.frontend", "component": "component.system.Dictionary", - "componentPath":"@/views/dictionary/Dictionary.vue", + "componentPath": "@/views/dictionary/Dictionary.vue", "redirect": null, "meta": { - "permissions": [ - "/system/dictionary/**/*" - ] + "permissions": ["/system/dictionary/**/*"] } }, { @@ -192,12 +182,10 @@ "priority": 0, "module": "io.sc.platform.system.frontend", "component": "component.system.Desensitizer", - "componentPath":"@/views/desensitizer/Desensitizer.vue", + "componentPath": "@/views/desensitizer/Desensitizer.vue", "redirect": null, "meta": { - "permissions": [ - "/system/desensitizer/**/*" - ] + "permissions": ["/system/desensitizer/**/*"] } }, { @@ -207,12 +195,10 @@ "priority": 0, "module": "io.sc.platform.system.frontend", "component": "component.system.I18n", - "componentPath":"@/views/i18n/I18n.vue", + "componentPath": "@/views/i18n/I18n.vue", "redirect": null, "meta": { - "permissions": [ - "/system/i18n/**/*" - ] + "permissions": ["/system/i18n/**/*"] } }, { @@ -222,12 +208,10 @@ "priority": 0, "module": "io.sc.platform.system.frontend", "component": "component.system.datasource", - "componentPath":"@/views/datasource/Datasource.vue", + "componentPath": "@/views/datasource/Datasource.vue", "redirect": null, "meta": { - "permissions": [ - "/system/datasource/**/*" - ] + "permissions": ["/system/datasource/**/*"] } }, { @@ -237,12 +221,10 @@ "priority": 0, "module": "io.sc.platform.system.frontend", "component": "component.system.monitor.AuditLog", - "componentPath":"@/views/monitor/AuditLog.vue", + "componentPath": "@/views/monitor/AuditLog.vue", "redirect": null, "meta": { - "permissions": [ - "/system/monitor/auditlog/**/*" - ] + "permissions": ["/system/monitor/auditlog/**/*"] } }, { @@ -252,12 +234,10 @@ "priority": 0, "module": "io.sc.platform.system.frontend", "component": "component.system.monitor.Log", - "componentPath":"@/views/monitor/Log.vue", + "componentPath": "@/views/monitor/Log.vue", "redirect": null, "meta": { - "permissions": [ - "/system/monitor/log/**/*" - ] + "permissions": ["/system/monitor/log/**/*"] } }, { @@ -267,12 +247,10 @@ "priority": 0, "module": "io.sc.platform.system.frontend", "component": "component.system.monitor.ServerInfo", - "componentPath":"@/views/monitor/ServerInfo.vue", + "componentPath": "@/views/monitor/ServerInfo.vue", "redirect": null, "meta": { - "permissions": [ - "/system/monitor/serverInfo/**/*" - ] + "permissions": ["/system/monitor/serverInfo/**/*"] } } ] diff --git a/io.sc.platform.system/src/main/java/io/sc/platform/system/initializer/ParameterInitializer.java b/io.sc.platform.system/src/main/java/io/sc/platform/system/initializer/ParameterInitializer.java index a44944b9..8e0f5358 100644 --- a/io.sc.platform.system/src/main/java/io/sc/platform/system/initializer/ParameterInitializer.java +++ b/io.sc.platform.system/src/main/java/io/sc/platform/system/initializer/ParameterInitializer.java @@ -9,6 +9,7 @@ import io.sc.platform.system.parameter.jpa.entity.ParameterEntity; import io.sc.platform.system.parameter.service.ParameterService; import org.springframework.context.ApplicationContext; import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.util.StringUtils; import java.util.*; @@ -28,7 +29,7 @@ public class ParameterInitializer implements ApplicationInitializer { @Override public synchronized boolean isInitialized() { - List needAddedParameters =getneedAddedParameters(); + List needAddedParameters =getNeedAddedParameters(); if(!needAddedParameters.isEmpty()){ isInitialized =false; }else { @@ -44,22 +45,23 @@ public class ParameterInitializer implements ApplicationInitializer { for(ParameterEntity entity : entities){ cache.put(entity.getCode(),entity); } - List needAddedParameters =getneedAddedParameters(); + List needAddedParameters =getNeedAddedParameters(); try { for(Parameter item : needAddedParameters){ ParameterEntity entity =new ParameterEntity(); - entity.setCode(item.getCode()); + entity.setCode(StringUtils.hasText(item.getCode())?item.getCode():item.getId()); entity.setValue(item.getDefaultValue()); entity.setOrder(item.getOrder()); entity.setParent(cache.get(item.getParentId())); - parameterService.add(entity); + ParameterEntity added =parameterService.add(entity); + cache.put(added.getCode(),added); } } catch (Exception e) { throw new ApplicationInitializerExecuteException(e); } } - private List getneedAddedParameters() { + private List getNeedAddedParameters() { // 插件定义的参数 List plugins =PluginManager.getInstance().getParameters(); Map cache =new HashMap<>(); @@ -93,6 +95,13 @@ public class ParameterInitializer implements ApplicationInitializer { for(String id : needAddedParameterIds) { result.add(cache.get(id)); } + + Collections.sort(result, new Comparator() { + @Override + public int compare(Parameter o1, Parameter o2) { + return o1.getId().compareTo(o2.getId()); + } + }); return result; } } diff --git a/io.sc.platform.system/src/main/java/io/sc/platform/system/menu/controller/MenuWebController.java b/io.sc.platform.system/src/main/java/io/sc/platform/system/menu/controller/MenuWebController.java index aa2c924e..0358af31 100644 --- a/io.sc.platform.system/src/main/java/io/sc/platform/system/menu/controller/MenuWebController.java +++ b/io.sc.platform.system/src/main/java/io/sc/platform/system/menu/controller/MenuWebController.java @@ -8,6 +8,7 @@ import io.sc.platform.mvc.plugins.item.FrontEndRouteMetaAction; import io.sc.platform.mvc.support.CascadeMany2Many; import io.sc.platform.orm.service.support.QueryParameter; import io.sc.platform.orm.service.support.QueryResult; +import io.sc.platform.orm.util.EntityVoUtil; import io.sc.platform.system.api.menu.MenuRouteActionVo; import io.sc.platform.system.api.menu.MenuRouteVo; import io.sc.platform.system.api.menu.MenuVo; @@ -23,6 +24,7 @@ import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.security.Principal; import java.util.ArrayList; import java.util.List; @@ -65,6 +67,18 @@ public class MenuWebController extends RestCrudController listAllMenusByUser(QueryParameter queryParameter,Principal principal) throws Exception{ + if(StringUtils.hasText(principal.getName())){ + if(queryParameter.existsCriteria()){ + return EntityVoUtil.toVo(service.list(queryParameter)); + }else { + return EntityVoUtil.toVo(service.getMenusByUser(principal.getName())); + } + } + return QueryResult.emptyList(); + } + /** * 列出所有菜单树,并且将角色所拥有的菜单列表作出标记 * @param roleId 角色ID diff --git a/io.sc.platform.system/src/main/java/io/sc/platform/system/menu/jpa/repository/MenuRepository.java b/io.sc.platform.system/src/main/java/io/sc/platform/system/menu/jpa/repository/MenuRepository.java index c97232df..79cf94a4 100644 --- a/io.sc.platform.system/src/main/java/io/sc/platform/system/menu/jpa/repository/MenuRepository.java +++ b/io.sc.platform.system/src/main/java/io/sc/platform/system/menu/jpa/repository/MenuRepository.java @@ -7,6 +7,7 @@ import org.springframework.data.repository.query.Param; import org.springframework.stereotype.Repository; import java.util.List; +import java.util.Set; @Repository("io.sc.platform.system.menu.jpa.repository.MenuRepository") public interface MenuRepository extends DaoRepository { @@ -26,4 +27,9 @@ public interface MenuRepository extends DaoRepository { @Query("select distinct menu from MenuEntity as menu left join fetch menu.children where menu.parent is null order by menu.order") public List findMenusTree(); + + @Query("select distinct menu from MenuEntity as menu where menu.name in (:names)") + public List findByNames(@Param("names") Set names); + + public MenuEntity findByName(String code); } diff --git a/io.sc.platform.system/src/main/java/io/sc/platform/system/menu/service/MenuService.java b/io.sc.platform.system/src/main/java/io/sc/platform/system/menu/service/MenuService.java index 17c45545..593555de 100644 --- a/io.sc.platform.system/src/main/java/io/sc/platform/system/menu/service/MenuService.java +++ b/io.sc.platform.system/src/main/java/io/sc/platform/system/menu/service/MenuService.java @@ -43,6 +43,15 @@ public interface MenuService extends DaoService listAllMenusWithSelectedStatusByApplication(String applicationId, QueryParameter queryParameter) throws Exception; + /** + * 列出所有菜单树,并且将用户所拥有的快捷菜单列表作出标记 + * @param userId 用户ID + * @param queryParameter 查询参数 + * @return 所有菜单树,并且将应用所拥有的菜单列表作出标记 + * @throws Exception 违例 + */ + public List listAllShortcutMenusWithSelectedStatusByUser(String userId, QueryParameter queryParameter) throws Exception; + /** * 查询角色所拥有的菜单 * @param roleId 角色ID @@ -70,6 +79,15 @@ public interface MenuService extends DaoService listMenusByApplication(String applicationId, QueryParameter queryParameter) throws Exception; + /** + * 查询用户所拥有的快捷菜单 + * @param userId 用户ID + * @param queryParameter 查询参数 + * @return 应用所拥有的菜单 + * @throws Exception 违例 + */ + public List listShortcutMenusByUser(String userId, QueryParameter queryParameter) throws Exception; + /** * 给菜单添加角色 * @param wrapper 具有级联关系的菜单和角色多对多关系 Wrapper diff --git a/io.sc.platform.system/src/main/java/io/sc/platform/system/menu/service/impl/MenuServiceImpl.java b/io.sc.platform.system/src/main/java/io/sc/platform/system/menu/service/impl/MenuServiceImpl.java index 1b586292..21cf7ea1 100644 --- a/io.sc.platform.system/src/main/java/io/sc/platform/system/menu/service/impl/MenuServiceImpl.java +++ b/io.sc.platform.system/src/main/java/io/sc/platform/system/menu/service/impl/MenuServiceImpl.java @@ -18,6 +18,7 @@ import io.sc.platform.system.menu.service.support.MenuEntityTreeBuilder; import io.sc.platform.system.plugins.PluginManager; import io.sc.platform.system.plugins.item.MenuItem; import io.sc.platform.system.role.jpa.entity.RoleEntity; +import io.sc.platform.system.user.jpa.entity.UserEntity; import io.sc.platform.util.TreeBuilder; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Sort; @@ -214,6 +215,31 @@ public class MenuServiceImpl extends DaoServiceImpl listAllShortcutMenusWithSelectedStatusByUser(String userId, QueryParameter queryParameter) throws Exception { + if(!StringUtils.hasText(userId)){ + return Collections.emptyList(); + } + Sort sort =queryParameter.getSort(); + if(sort==null){ + queryParameter.addSortBy("order"); + } + List allMenuEntities = repository.findAll(); + List selectedMenuEntities = listShortcutMenusByUser(userId, queryParameter); + List allMenus = EntityVoUtil.toVo(allMenuEntities); + List selectedMenus = EntityVoUtil.toVo(selectedMenuEntities); + Set selectedMenuIds = new HashSet<>(); + for (MenuVo selectedMenu : selectedMenus) { + selectedMenuIds.add(selectedMenu.getId()); + } + for (MenuVo allMenu : allMenus) { + if (selectedMenuIds.contains(allMenu.getId())) { + allMenu.setTicked(true); + } + } + return allMenus; + } + @Override public List listMenusByRole(String roleId, QueryParameter queryParameter) throws Exception { if(StringUtils.hasText(roleId)) { @@ -250,6 +276,18 @@ public class MenuServiceImpl extends DaoServiceImpl listShortcutMenusByUser(String userId, QueryParameter queryParameter) throws Exception { + if(StringUtils.hasText(userId)) { + Specification specification = (root, query, criteriaBuilder) -> { + Join join = root.join("shortcutUsers"); + return criteriaBuilder.equal(join.get("id"), userId); + }; + return this.list(queryParameter,specification); + } + return QueryResult.emptyList(); + } + @Override @Transactional public void addRoles(CascadeMany2Many wrapper) throws Exception { diff --git a/io.sc.platform.system/src/main/java/io/sc/platform/system/shortcutmenu/controller/ShortcutMenuWebController.java b/io.sc.platform.system/src/main/java/io/sc/platform/system/shortcutmenu/controller/ShortcutMenuWebController.java new file mode 100644 index 00000000..6897d266 --- /dev/null +++ b/io.sc.platform.system/src/main/java/io/sc/platform/system/shortcutmenu/controller/ShortcutMenuWebController.java @@ -0,0 +1,20 @@ +package io.sc.platform.system.shortcutmenu.controller; + +import io.sc.platform.mvc.controller.support.RestCrudController; +import io.sc.platform.orm.service.support.QueryParameter; +import io.sc.platform.system.api.shortcutmenu.ShortcutMenuVo; +import io.sc.platform.system.shortcutmenu.jpa.entity.ShortcutMenuEntity; +import io.sc.platform.system.shortcutmenu.jpa.repository.ShortcutMenuRepository; +import io.sc.platform.system.shortcutmenu.service.ShortcutMenuService; +import org.springframework.data.domain.Page; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +@RestController("io.sc.platform.system.shortcutmenu.controller.ShortcutMenuWebController") +@RequestMapping("/api/system/setttings/shortcutmenu") +public class ShortcutMenuWebController extends RestCrudController { + +} diff --git a/io.sc.platform.system/src/main/java/io/sc/platform/system/shortcutmenu/jpa/entity/ShortcutMenuEntity.java b/io.sc.platform.system/src/main/java/io/sc/platform/system/shortcutmenu/jpa/entity/ShortcutMenuEntity.java new file mode 100644 index 00000000..9327b37d --- /dev/null +++ b/io.sc.platform.system/src/main/java/io/sc/platform/system/shortcutmenu/jpa/entity/ShortcutMenuEntity.java @@ -0,0 +1,108 @@ +package io.sc.platform.system.shortcutmenu.jpa.entity; + +import io.sc.platform.orm.entity.CorporationAuditorEntity; +import io.sc.platform.system.api.shortcutmenu.ShortcutMenuVo; +import org.hibernate.annotations.GenericGenerator; + +import javax.persistence.*; +import javax.validation.constraints.Size; + +/** + * 用户快捷菜单实体类 + */ +@Entity +@Table(name="SYS_SHORTCUT_MENU") +public class ShortcutMenuEntity extends CorporationAuditorEntity { + //主键 + @Id + @GeneratedValue(generator = "system-uuid") + @GenericGenerator(name = "system-uuid", strategy = "uuid2") + @Column(name="ID_", length=36) + @Size(max=36) + private String id; + + //登录名 + @Column(name="LOGINNAME_") + private String loginName; + + @Transient + private String menuId; + + //菜单代码 + @Column(name="MENU_CODE_") + private String menuCode; + + //快捷菜单名称 + @Column(name="MENU_SHORTCUT_NAME_",length=255) + @Size(max=255) + private String shortcutMenuName; + + //排序 + @Column(name="ORDER_",nullable=false) + protected Integer order; + + public ShortcutMenuEntity() {} + + @Override + public ShortcutMenuVo toVo() { + ShortcutMenuVo vo =new ShortcutMenuVo(); + super.toVo(vo); + + vo.setId(this.getId()); + vo.setLoginName(this.getLoginName()); + vo.setMenuId(this.getMenuId()); + vo.setMenuCode(this.getMenuCode()); + vo.setShortcutMenuName(this.getShortcutMenuName()); + vo.setOrder(this.getOrder()); + return vo; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getLoginName() { + return loginName; + } + + public void setLoginName(String loginName) { + this.loginName = loginName; + } + + public String getMenuId() { + return menuId; + } + + public void setMenuId(String menuId) { + this.menuId = menuId; + } + + public String getMenuCode() { + return menuCode; + } + + public void setMenuCode(String menuCode) { + this.menuCode = menuCode; + } + + public @Size(max = 255) String getShortcutMenuName() { + return shortcutMenuName; + } + + public void setShortcutMenuName(@Size(max = 255) String shortcutMenuName) { + this.shortcutMenuName = shortcutMenuName; + } + + public Integer getOrder() { + return order; + } + + public void setOrder(Integer order) { + this.order = order; + } +} + diff --git a/io.sc.platform.system/src/main/java/io/sc/platform/system/shortcutmenu/jpa/repository/ShortcutMenuRepository.java b/io.sc.platform.system/src/main/java/io/sc/platform/system/shortcutmenu/jpa/repository/ShortcutMenuRepository.java new file mode 100644 index 00000000..c4562d92 --- /dev/null +++ b/io.sc.platform.system/src/main/java/io/sc/platform/system/shortcutmenu/jpa/repository/ShortcutMenuRepository.java @@ -0,0 +1,10 @@ +package io.sc.platform.system.shortcutmenu.jpa.repository; + +import io.sc.platform.orm.repository.DaoRepository; +import io.sc.platform.system.shortcutmenu.jpa.entity.ShortcutMenuEntity; +import org.springframework.stereotype.Repository; + +@Repository("io.sc.platform.system.shortcutmenu.jpa.repository.ShortcutMenuRepository") +public interface ShortcutMenuRepository extends DaoRepository { + +} diff --git a/io.sc.platform.system/src/main/java/io/sc/platform/system/shortcutmenu/service/ShortcutMenuService.java b/io.sc.platform.system/src/main/java/io/sc/platform/system/shortcutmenu/service/ShortcutMenuService.java new file mode 100644 index 00000000..f79b5219 --- /dev/null +++ b/io.sc.platform.system/src/main/java/io/sc/platform/system/shortcutmenu/service/ShortcutMenuService.java @@ -0,0 +1,10 @@ +package io.sc.platform.system.shortcutmenu.service; + +import io.sc.platform.orm.service.DaoService; +import io.sc.platform.system.api.shortcutmenu.ShortcutMenuVo; +import io.sc.platform.system.shortcutmenu.jpa.entity.ShortcutMenuEntity; +import io.sc.platform.system.shortcutmenu.jpa.repository.ShortcutMenuRepository; +import org.springframework.data.domain.Page; + +public interface ShortcutMenuService extends DaoService { +} diff --git a/io.sc.platform.system/src/main/java/io/sc/platform/system/shortcutmenu/service/impl/ShortcutMenuServiceImpl.java b/io.sc.platform.system/src/main/java/io/sc/platform/system/shortcutmenu/service/impl/ShortcutMenuServiceImpl.java new file mode 100644 index 00000000..f8e30d51 --- /dev/null +++ b/io.sc.platform.system/src/main/java/io/sc/platform/system/shortcutmenu/service/impl/ShortcutMenuServiceImpl.java @@ -0,0 +1,77 @@ +package io.sc.platform.system.shortcutmenu.service.impl; + +import io.sc.platform.orm.service.impl.DaoServiceImpl; +import io.sc.platform.orm.service.support.QueryParameter; +import io.sc.platform.security.util.SecurityUtil; +import io.sc.platform.system.api.shortcutmenu.ShortcutMenuVo; +import io.sc.platform.system.menu.jpa.entity.MenuEntity; +import io.sc.platform.system.menu.service.MenuService; +import io.sc.platform.system.shortcutmenu.jpa.entity.ShortcutMenuEntity; +import io.sc.platform.system.shortcutmenu.jpa.repository.ShortcutMenuRepository; +import io.sc.platform.system.shortcutmenu.service.ShortcutMenuService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Page; +import org.springframework.stereotype.Service; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@Service("io.sc.platform.system.shortcutmenu.service.impl.ShortcutMenuServiceImpl") +public class ShortcutMenuServiceImpl extends DaoServiceImpl implements ShortcutMenuService { + @Autowired private MenuService menuService; + + @Override + public ShortcutMenuEntity add(ShortcutMenuEntity entity) throws Exception { + if(entity!=null){ + entity.setLoginName(SecurityUtil.getLoginName()); + } + ShortcutMenuEntity result =super.add(entity); + updateMenuIdByName(result); + return result; + } + + @Override + public ShortcutMenuEntity update(String s, ShortcutMenuEntity entity) throws Exception { + if(entity!=null){ + entity.setLoginName(SecurityUtil.getLoginName()); + } + ShortcutMenuEntity result =super.update(s, entity); + updateMenuIdByName(result); + return result; + } + + @Override + public Page query(QueryParameter queryParameter) throws Exception { + Page page =super.query(queryParameter); + updateMenuIdByName(page); + return page; + } + + private void updateMenuIdByName(Page page) { + if(page==null) { return; } + List vos =page.getContent(); + if(vos==null || vos.isEmpty()) { return; } + Map cache =new HashMap<>(); + for(ShortcutMenuEntity vo : vos){ + cache.put(vo.getMenuCode(),vo); + } + List menuEntities =menuService.getRepository().findByNames(cache.keySet()); + if(menuEntities!=null && !menuEntities.isEmpty()){ + for(MenuEntity entity : menuEntities){ + ShortcutMenuEntity vo =cache.get(entity.getName()); + if(vo!=null){ + vo.setMenuId(entity.getId()); + } + } + } + } + + private void updateMenuIdByName(ShortcutMenuEntity entity) { + if(entity==null) { return; } + MenuEntity menuEntity =menuService.getRepository().findByName(entity.getMenuCode()); + if(menuEntity!=null){ + entity.setMenuId(menuEntity.getId()); + } + } +} diff --git a/io.sc.platform.system/src/main/resources/META-INF/platform/plugins/components.json b/io.sc.platform.system/src/main/resources/META-INF/platform/plugins/components.json index e6ca4a4e..dcfb54f1 100644 --- a/io.sc.platform.system/src/main/resources/META-INF/platform/plugins/components.json +++ b/io.sc.platform.system/src/main/resources/META-INF/platform/plugins/components.json @@ -62,6 +62,9 @@ "io.sc.platform.system.role.controller", "io.sc.platform.system.role.service.impl", + "io.sc.platform.system.shortcutmenu.controller", + "io.sc.platform.system.shortcutmenu.service.impl", + "io.sc.platform.system.user.controller", "io.sc.platform.system.user.service.impl" ], diff --git a/io.sc.platform.system/src/main/resources/META-INF/platform/plugins/liquibase.json b/io.sc.platform.system/src/main/resources/META-INF/platform/plugins/liquibase.json index db6e29f7..93163a60 100644 --- a/io.sc.platform.system/src/main/resources/META-INF/platform/plugins/liquibase.json +++ b/io.sc.platform.system/src/main/resources/META-INF/platform/plugins/liquibase.json @@ -4,7 +4,8 @@ "order" : 200, "description":"系统管理", "locations":[ - "classpath:/liquibase/io.sc.platform.system_8.0.0_20220606__System Database Schema DDL.xml" + "classpath:/liquibase/io.sc.platform.system_8.0.0_20220606__System_Database_Schema_DDL.xml", + "classpath:/liquibase/io.sc.platform.system_8.0.0_20220707__System_Database_Schema_DDL.xml" ] } ] \ No newline at end of file diff --git a/io.sc.platform.system/src/main/resources/META-INF/platform/plugins/repositories.json b/io.sc.platform.system/src/main/resources/META-INF/platform/plugins/repositories.json index f1a2dcca..cc9fe3ba 100644 --- a/io.sc.platform.system/src/main/resources/META-INF/platform/plugins/repositories.json +++ b/io.sc.platform.system/src/main/resources/META-INF/platform/plugins/repositories.json @@ -54,6 +54,9 @@ "io.sc.platform.system.role.jpa.entity", "io.sc.platform.system.role.jpa.repository", + "io.sc.platform.system.shortcutmenu.jpa.entity", + "io.sc.platform.system.shortcutmenu.jpa.repository", + "io.sc.platform.system.user.jpa.entity", "io.sc.platform.system.user.jpa.repository" ], diff --git a/io.sc.platform.system/src/main/resources/liquibase/io.sc.platform.system_8.0.0_20220606__System Database Schema DDL.xml b/io.sc.platform.system/src/main/resources/liquibase/io.sc.platform.system_8.0.0_20220606__System_Database_Schema_DDL.xml similarity index 99% rename from io.sc.platform.system/src/main/resources/liquibase/io.sc.platform.system_8.0.0_20220606__System Database Schema DDL.xml rename to io.sc.platform.system/src/main/resources/liquibase/io.sc.platform.system_8.0.0_20220606__System_Database_Schema_DDL.xml index fe2fc103..7b77a5d6 100644 --- a/io.sc.platform.system/src/main/resources/liquibase/io.sc.platform.system_8.0.0_20220606__System Database Schema DDL.xml +++ b/io.sc.platform.system/src/main/resources/liquibase/io.sc.platform.system_8.0.0_20220606__System_Database_Schema_DDL.xml @@ -252,7 +252,7 @@ - + diff --git a/io.sc.platform.system/src/main/resources/liquibase/io.sc.platform.system_8.0.0_20220707__System_Database_Schema_DDL.xml b/io.sc.platform.system/src/main/resources/liquibase/io.sc.platform.system_8.0.0_20220707__System_Database_Schema_DDL.xml new file mode 100644 index 00000000..b164b320 --- /dev/null +++ b/io.sc.platform.system/src/main/resources/liquibase/io.sc.platform.system_8.0.0_20220707__System_Database_Schema_DDL.xml @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/io.sc.standard.frontend/package.json b/io.sc.standard.frontend/package.json index 26583115..a87f0969 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.24", + "version": "8.2.25", "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.86", + "platform-core": "8.2.89", "quasar": "2.17.6", "sort-array": "5.0.0", "svg-path-commander": "2.1.7", @@ -123,4 +123,4 @@ "vue-router": "4.5.0", "xml-formatter": "3.6.3" } -} \ No newline at end of file +} diff --git a/io.sc.standard/src/main/resources/META-INF/platform/plugins/liquibase.json b/io.sc.standard/src/main/resources/META-INF/platform/plugins/liquibase.json index 23bd83aa..ae05676d 100644 --- a/io.sc.standard/src/main/resources/META-INF/platform/plugins/liquibase.json +++ b/io.sc.standard/src/main/resources/META-INF/platform/plugins/liquibase.json @@ -16,8 +16,8 @@ "order" : 500, "description":"数据标准", "locations":[ - "classpath:/liquibase/io.sc.standard_1.0.0_20221020__Standard Schema DDL.xml", - "classpath:/liquibase/io.sc.standard_1.0.0_20221020__Standard Data.xml" + "classpath:/liquibase/io.sc.standard_1.0.0_20221020__Standard_Schema_DDL.xml", + "classpath:/liquibase/io.sc.standard_1.0.0_20221020__Standard_Data.xml" ] } ] diff --git a/io.sc.standard/src/main/resources/liquibase/io.sc.standard_1.0.0_20221020__Standard Data.xml b/io.sc.standard/src/main/resources/liquibase/io.sc.standard_1.0.0_20221020__Standard_Data.xml similarity index 100% rename from io.sc.standard/src/main/resources/liquibase/io.sc.standard_1.0.0_20221020__Standard Data.xml rename to io.sc.standard/src/main/resources/liquibase/io.sc.standard_1.0.0_20221020__Standard_Data.xml diff --git a/io.sc.standard/src/main/resources/liquibase/io.sc.standard_1.0.0_20221020__Standard Schema DDL.xml b/io.sc.standard/src/main/resources/liquibase/io.sc.standard_1.0.0_20221020__Standard_Schema_DDL.xml similarity index 100% rename from io.sc.standard/src/main/resources/liquibase/io.sc.standard_1.0.0_20221020__Standard Schema DDL.xml rename to io.sc.standard/src/main/resources/liquibase/io.sc.standard_1.0.0_20221020__Standard_Schema_DDL.xml diff --git a/io.sc.website/package.json b/io.sc.website/package.json index d795fb9b..a96b09e1 100644 --- a/io.sc.website/package.json +++ b/io.sc.website/package.json @@ -1,6 +1,6 @@ { "name": "io.sc.website", - "version": "8.2.24", + "version": "8.2.25", "description": "", "main": "index.js", "scripts": { @@ -28,6 +28,6 @@ }, "dependencies": { "vue": "3.5.13", - "platform-core": "8.2.86" + "platform-core": "8.2.89" } -} \ No newline at end of file +} diff --git a/wra.report.frontend/package.json b/wra.report.frontend/package.json index 3ccc69e2..06422ae8 100644 --- a/wra.report.frontend/package.json +++ b/wra.report.frontend/package.json @@ -1,6 +1,6 @@ { "name": "wra.report.frontend", - "version": "8.2.24", + "version": "8.2.25", "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.86", + "platform-core": "8.2.89", "quasar": "2.17.6", "sort-array": "5.0.0", "svg-path-commander": "2.1.7", @@ -121,4 +121,4 @@ "vue-router": "4.5.0", "xml-formatter": "3.6.3" } -} \ No newline at end of file +}