diff --git a/app.platform/src/main/java/app/platform/Application.java b/app.platform/src/main/java/app/platform/Application.java
index e8a7f8e9..83728c3f 100644
--- a/app.platform/src/main/java/app/platform/Application.java
+++ b/app.platform/src/main/java/app/platform/Application.java
@@ -2,6 +2,7 @@ package app.platform;
import io.sc.platform.core.ApplicationLauncher;
import io.sc.platform.core.PlatformSpringBootServletInitializer;
+import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.WebApplicationInitializer;
@@ -9,6 +10,7 @@ import org.springframework.web.WebApplicationInitializer;
* 应用程序入口
*/
@SpringBootApplication(proxyBeanMethods = false)
+@MapperScan("com.xxl.job.admin.dao")
public class Application extends PlatformSpringBootServletInitializer implements WebApplicationInitializer {
public static void main(String[] args) throws Exception {
ApplicationLauncher.run(Application.class,args);
diff --git a/com.xxl.job.core/build.gradle b/com.xxl.job.core/build.gradle
new file mode 100644
index 00000000..270d4b5b
--- /dev/null
+++ b/com.xxl.job.core/build.gradle
@@ -0,0 +1,8 @@
+dependencies {
+ api(
+ "org.springframework.boot:spring-boot-starter-web",
+ "io.netty:netty-codec-http",
+ "com.google.code.gson:gson",
+ "org.codehaus.groovy:groovy",
+ )
+}
\ No newline at end of file
diff --git a/config/application.properties b/config/application.properties
deleted file mode 100644
index b28b6dfc..00000000
--- a/config/application.properties
+++ /dev/null
@@ -1,223 +0,0 @@
-##########################################################################
-#(100) excluded auto configuration - io.sc.platform.core
-##########################################################################
-spring.autoconfigure.exclude =
-
-##########################################################################
-#(150) application configuration - io.sc.platform.core
-##########################################################################
-# - io.sc.platform.core
-application.audit-log-mode = none
-#application.audit-log-mode = none
-#application.audit-log-mode = log
-#application.audit-log-mode = database
-# - io.sc.platform.installer
-application.installer.enabled = true
-# - io.sc.platform.jdbc.liquibase
-application.updater.enabled = true
-# - io.sc.platform.security
-application.default-password = password
-
-##########################################################################
-#(200) spring.main configuration - io.sc.platform.core
-##########################################################################
-spring.main.allow-bean-definition-overriding = false
-spring.main.banner-mode = console
-spring.main.lazy-initialization = false
-spring.main.log-startup-info = true
-spring.main.register-shutdown-hook = true
-
-##########################################################################
-#(210) jasypt encryptor configuration - io.sc.platform.core
-##########################################################################
-jasypt.encryptor.bean = platformJasyptStringEncryptor
-
-##########################################################################
-#(300) web server configuration - io.sc.platform.mvc
-##########################################################################
-#server.address = 127.0.0.1
-server.port = 8080
-server.servlet.context-path = /
-server.servlet.session.timeout = 30m
-server.error.path = /error
-server.error.whitelabel.enabled = true
-server.error.include-exception = true
-server.error.include-binding-errors = always
-server.error.include-message = always
-server.error.include-stacktrace = always
-
-##########################################################################
-#(1000) dataSource configuration - io.sc.platform.jdbc
-##########################################################################
-spring.datasource.items[primary].driver-class-name = org.h2.Driver
-spring.datasource.items[primary].url = jdbc:h2:mem:DB_PLATFORM;DB_CLOSE_DELAY=-1
-spring.datasource.items[primary].username = platform
-spring.datasource.items[primary].password = platform
-
-##########################################################################
-#(1100) jpa configuration - io.sc.platform.orm.jpa
-##########################################################################
-spring.jpa.open-in-view = false
-spring.jpa.show-sql = false
-spring.jpa.generate-ddl = false
-spring.jpa.hibernate.ddl-auto = none
-spring.jpa.hibernate.jdbc.batch_size = 25
-spring.jpa.properties.hibernate.enable_lazy_load_no_trans =true
-spring.jpa.properties.hibernate.dialect =org.hibernate.dialect.H2Dialect
-
-##########################################################################
-#(1500) hikari configuration - io.sc.platform.jdbc
-##########################################################################
-#spring.datasource.items[primary].hikari.autoCommit = true
-#spring.datasource.items[primary].hikari.connectionTimeout = 10000
-#spring.datasource.items[primary].hikari.idleTimeout = 600000
-#spring.datasource.items[primary].hikari.maxLifetime = 1800000
-#spring.datasource.items[primary].hikari.minimumIdle = 10
-#spring.datasource.items[primary].hikari.maximumPoolSize = 10
-#spring.datasource.items[primary].hikari.metricRegistry =
-#spring.datasource.items[primary].hikari.healthCheckRegistry =
-#spring.datasource.items[primary].hikari.poolName =
-#spring.datasource.items[primary].hikari.initializationFailTimeout = 1
-#spring.datasource.items[primary].hikari.isolateInternalQueries = false
-#spring.datasource.items[primary].hikari.allowPoolSuspension = false
-#spring.datasource.items[primary].hikari.readOnly = false
-#spring.datasource.items[primary].hikari.registerMbeans = false
-#spring.datasource.items[primary].hikari.catalog =
-#spring.datasource.items[primary].hikari.connectionInitSql =
-#spring.datasource.items[primary].hikari.driverClassName =
-#spring.datasource.items[primary].hikari.transactionIsolation =
-#spring.datasource.items[primary].hikari.validationTimeout = 5000
-#spring.datasource.items[primary].hikari.leakDetectionThreshold = 0
-#spring.datasource.items[primary].hikari.dataSource =
-#spring.datasource.items[primary].hikari.schema =
-#spring.datasource.items[primary].hikari.threadFactory =
-#spring.datasource.items[primary].hikari.scheduledExecutor =
-
-##########################################################################
-#(2100) spring.session configuration - io.sc.platform.mvc
-##########################################################################
-spring.session.store-type = none
-#spring.session.store-type = jdbc
-#spring.session.store-type = redis
-spring.session.jdbc.initializer.enabled = false
-spring.session.jdbc.cleanup-cron = 0 */5 * * * *
-spring.session.redis.namespace = spring:session
-spring.session.redis.cleanupCron = 0 */5 * * * *
-
-##########################################################################
-#(2200) spring web configuration (WebProperties) - io.sc.platform.mvc
-##########################################################################
-spring.web.resources.add-mappings = true
-spring.web.resources.cache.cachecontrol.cache-public = true
-spring.web.resources.cache.cachecontrol.must-revalidate = true
-spring.web.resources.chain.cache = true
-spring.web.resources.chain.compressed = true
-
-##########################################################################
-#(2300) management http server configuration - io.sc.platform.mvc
-##########################################################################
-management.endpoints.enabled-by-default = true
-management.endpoints.web.exposure.include = *
-management.context-path = /actuator
-management.security.enabled = false
-
-##########################################################################
-#(2400) thymeleaf configuration - io.sc.platform.mvc
-##########################################################################
-spring.thymeleaf.enabled = true
-spring.thymeleaf.cache = false
-spring.thymeleaf.encoding = UTF-8
-spring.thymeleaf.mode = HTML
-spring.thymeleaf.prefix = classpath:/templates/
-spring.thymeleaf.check-template = false
-spring.thymeleaf.check-template-location = false
-spring.thymeleaf.servlet.content-type = text/html
-
-##########################################################################
-#(2500) jackson configuration - io.sc.platform.mvc
-##########################################################################
-spring.jackson.time-zone = Asia/Shanghai
-spring.jackson.date-format = yyyy-MM-dd HH:mm:ss
-spring.jackson.serialization.indent_output = true
-spring.jackson.serialization.fail_on_empty_beans = false
-spring.jackson.deserialization.fail_on_ignored_properties = false
-spring.jackson.parser.allow_comments = true
-spring.jackson.parser.allow_single_quotes = true
-spring.jackson.parser.allow_trailing_comma = true
-spring.jackson.parser.allow_unquoted_field_names = true
-spring.jackson.parser.ignore_undefined = true
-spring.jackson.parser.allow_unquoted_control_chars = true
-
-##########################################################################
-#(2600) i18n message source configuration - io.sc.platform.mvc
-##########################################################################
-spring.messages.alwaysUseMessageFormat = false
-spring.messages.cacheDuration = -1
-spring.messages.encoding = UTF-8
-spring.messages.fallbackToSystemLocale = false
-spring.messages.useCodeAsDefaultMessage = true
-
-##########################################################################
-#(3000) platform security configuration - io.sc.platform.security.loginform
-##########################################################################
-spring.security.formLogin.loginPage = /login
-spring.security.formLogin.loginProcessingUrl = /login
-spring.security.formLogin.failureUrl = /login-error
-spring.security.logout.logoutUrl = /logout
-spring.security.logout.logoutSuccessUrl = /
-
-##########################################################################
-#(4000) email configuration - io.sc.platform.communication
-##########################################################################
-spring.mail.host=zzz.xxx.yyy
-spring.mail.port=25
-spring.mail.protocol=smtp
-spring.mail.test-connection=false
-spring.mail.default-encoding=UTF-8
-spring.mail.properties.mail.smtp.auth=true
-spring.mail.username=xxx
-spring.mail.password=yyy
-
-##########################################################################
-#(5000) flowable bpm configuration - io.sc.platform.flowable
-##########################################################################
-# core
-flowable.asyncExecutorActivate =false
-flowable.asyncHistoryExecutorActivate = false
-flowable.check-process-definitions=false
-flowable.custom-mybatis-mappers=
-flowable.custom-mybatis-x-m-l-mappers=
-flowable.database-schema=
-flowable.database-schema-update=true
-flowable.db-history-used=true
-flowable.deployment-name=SpringBootAutoDeployment
-flowable.history-level=
-flowable.process-definition-location-prefix=classpath*:/processes/
-flowable.process-definition-location-suffixes=**.bpmn20.xml,**.bpmn
-# process
-flowable.process.definition-cache-limit=-1
-flowable.process.enable-safe-xml=true
-flowable.process.servlet.load-on-startup=-1
-flowable.process.servlet.name=Flowable BPMN Rest API
-flowable.process.servlet.path=/process-api
-# cmmn
-flowable.cmmn.enabled=false
-# content
-flowable.content.enabled=false
-# dmn
-flowable.dmn.enabled=false
-# form
-flowable.form.enabled=false
-# idm
-flowable.idm.enabled=false
-
-##########################################################################
-#(8000) cxf configuration - io.sc.platform.ws.cxf
-##########################################################################
-cxf.path = /webservices
-
-##########################################################################
-#(9000) p6spy configuration - io.sc.platform.jdbc
-##########################################################################
-p6spy.enabled = true
-p6spy.ignorePattern = false
diff --git a/config/banner.txt b/config/banner.txt
deleted file mode 100644
index 420b910e..00000000
--- a/config/banner.txt
+++ /dev/null
@@ -1,48 +0,0 @@
-**************************************************************************************
- Name: app.platform
- Version: ${application.version}
- Base on Spring Boot ${spring-boot.version}
-**************************************************************************************
-System.environment:
---------------------------------------------------------------------------------------
- java.specification.version = 1.8
- java.specification.vendor = Oracle Corporation
- java.specification.name = Java Platform API Specification
- java.vm.specification.version = 1.8
- java.vm.specification.vendor = Oracle Corporation
- java.vm.specification.name = Java Virtual Machine Specification
- java.home = /Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/jre
- java.version = 1.8.0_332
- java.vendor = Azul Systems, Inc.
- java.vendor.url = http://www.azul.com/
- java.vm.version = 25.332-b09
- java.vm.vendor = Azul Systems, Inc.
- java.vm.name = OpenJDK 64-Bit Server VM
- java.class.version = 52.0
- java.class.path = ${java.class.path2}
- java.library.path = /Users/wangshaoping/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:.
- java.io.tmpdir = /var/folders/82/6m96_g610hj1v1tcpvhtjysr0000gn/T/
- java.ext.dirs = /Users/wangshaoping/Library/Java/Extensions:/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/jre/lib/ext:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java
- os.name = Mac OS X
- os.arch = aarch64
- os.version = 13.5.1
- user.name = wangshaoping
- user.home = /Users/wangshaoping
- user.dir = /Users/wangshaoping/wspsc/workspace/wangshaoping/v8/platform
-
-Application.environment
---------------------------------------------------------------------------------------
- application.name = app.platform
- application.is-running-in-development = false
- application.is-running-in-web-container = false
-
- application.home.dir = /Users/wangshaoping/wspsc/workspace/wangshaoping/v8/platform
- application.installer.enabled = ${application.installer.enabled}
- application.updater.enabled = ${application.updater.enabled}
- application.audit-log-mode = ${application.audit-log-mode}
- spring.config.location = file:/Users/wangshaoping/wspsc/workspace/wangshaoping/v8/platform/config/application.properties
- spring.banner.location = file:/Users/wangshaoping/wspsc/workspace/wangshaoping/v8/platform/config/banner.txt
- logging.config = file:/Users/wangshaoping/wspsc/workspace/wangshaoping/v8/platform/config/logback-spring.xml
- p6spy.enabled = ${p6spy.enabled}
- p6spy.ignorePattern = ${p6spy.ignorePattern}
-**************************************************************************************
diff --git a/config/license.txt b/config/license.txt
deleted file mode 100644
index d5ee1622..00000000
--- a/config/license.txt
+++ /dev/null
@@ -1,216 +0,0 @@
- Apache License
- Version 2.0, January 2004
- https://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- https://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
-=======================================================================
-
-To the extent any open source subcomponents are licensed under the EPL and/or other
-similar licenses that require the source code and/or modifications to
-source code to be made available (as would be noted above), you may obtain a
-copy of the source code corresponding to the binaries for such open source
-components and modifications thereto, if any, (the "Source Files"), by
-downloading the Source Files from https://www.springsource.org/download,
-or by sending a request, with your name and address to: VMware, Inc., 3401 Hillview
-Avenue, Palo Alto, CA 94304, United States of America or email info@vmware.com. All
-such requests should clearly specify: OPEN SOURCE FILES REQUEST, Attention General
-Counsel. VMware shall mail a copy of the Source Files to you on a CD or equivalent
-physical medium. This offer to obtain a copy of the Source Files is valid for three
-years from the date you acquired this Software product.
diff --git a/config/logback-spring.xml b/config/logback-spring.xml
deleted file mode 100644
index cae04191..00000000
--- a/config/logback-spring.xml
+++ /dev/null
@@ -1,66 +0,0 @@
-
-
-
-
-
-
-
-
-
- ${pattern}
-
-
-
-
- ${pattern}
- ${homedir}/logs/log.log
-
- ${homedir}/logs/log.%d.log
- 30
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/gradle.properties b/gradle.properties
index 76d7a0c2..f0eb91cf 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -37,7 +37,7 @@ application_version=1.0.0
###########################################################
platform_group=io.sc
platform_version=8.1.13
-platform_plugin_version=8.1.11
+platform_plugin_version=8.1.13
platform_core_frontend_version=8.1.42
###########################################################
diff --git a/io.sc.platform.app/build.gradle b/io.sc.platform.app/build.gradle
index 51755484..2b58f586 100644
--- a/io.sc.platform.app/build.gradle
+++ b/io.sc.platform.app/build.gradle
@@ -1,5 +1,7 @@
dependencies {
api(
+// project(":com.xxl.job.admin"),
+// project(":com.xxl.job.core"),
project(":io.sc.platform.csv"),
project(":io.sc.platform.communication"),
project(":io.sc.platform.flowable"),
diff --git a/io.sc.platform.core.frontend/.npmrc b/io.sc.platform.core.frontend/.npmrc
index 06969b7b..c1c0b295 100644
--- a/io.sc.platform.core.frontend/.npmrc
+++ b/io.sc.platform.core.frontend/.npmrc
@@ -8,4 +8,4 @@ email=
# 登录 npm 仓库的用户认证信息, 在 npm publish 时使用, publish 的 npm registry 在 package.json 文件中 publishConfig 部分配置
# _authToken 可通过以下命令获取
# curl -X PUT -H "Content-Type:application/json" -d '{"_id":"org.couchdb.user:admin","name":"admin","password":"admin"}' http://nexus.sc.io:8000/repository/npm-releases/-/user/org.couchdb.user:admin
-//nexus.sc.io:8000/repository/npm-releases/:_authToken=NpmToken.25afcf59-9193-3068-bcfa-faf76ceadb13
\ No newline at end of file
+//nexus.sc.io:8000/repository/npm-releases/:_authToken=NpmToken.193db44c-7ca5-3cb6-a990-d24b93fb0d10
\ No newline at end of file
diff --git a/io.sc.platform.gradle/templates/pgp/app/src/main/java/app/platform/Application.java.txt b/io.sc.platform.gradle/templates/pgp/app/src/main/java/app/platform/Application.java.txt
index e8a7f8e9..83728c3f 100644
--- a/io.sc.platform.gradle/templates/pgp/app/src/main/java/app/platform/Application.java.txt
+++ b/io.sc.platform.gradle/templates/pgp/app/src/main/java/app/platform/Application.java.txt
@@ -2,6 +2,7 @@ package app.platform;
import io.sc.platform.core.ApplicationLauncher;
import io.sc.platform.core.PlatformSpringBootServletInitializer;
+import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.WebApplicationInitializer;
@@ -9,6 +10,7 @@ import org.springframework.web.WebApplicationInitializer;
* 应用程序入口
*/
@SpringBootApplication(proxyBeanMethods = false)
+@MapperScan("com.xxl.job.admin.dao")
public class Application extends PlatformSpringBootServletInitializer implements WebApplicationInitializer {
public static void main(String[] args) throws Exception {
ApplicationLauncher.run(Application.class,args);
diff --git a/io.sc.platform.mvc/src/main/java/io/sc/platform/mvc/controller/IndexWebController.java b/io.sc.platform.mvc/src/main/java/io/sc/platform/mvc/controller/IndexWebController.java
index 5b44d02c..67800e35 100644
--- a/io.sc.platform.mvc/src/main/java/io/sc/platform/mvc/controller/IndexWebController.java
+++ b/io.sc.platform.mvc/src/main/java/io/sc/platform/mvc/controller/IndexWebController.java
@@ -19,7 +19,7 @@ public class IndexWebController {
@RequestMapping(value={"","/","index.html"})
public ModelAndView index(HttpServletRequest request) {
- ModelAndView mv =new ModelAndView(systemParameterService.getParameter("parameter.system.indexPageTemplate"));
+ ModelAndView mv =new ModelAndView("io.sc.platform.mvc.frontend.html");
return mv;
}
}
diff --git a/io.sc.platform.orm.mybatis/build.gradle b/io.sc.platform.orm.mybatis/build.gradle
index 489a5209..dace4528 100644
--- a/io.sc.platform.orm.mybatis/build.gradle
+++ b/io.sc.platform.orm.mybatis/build.gradle
@@ -1,6 +1,6 @@
dependencies {
api(
project(":io.sc.platform.orm"),
- "org.mybatis:mybatis:${mybatis_version}",
+ "org.mybatis.spring.boot:mybatis-spring-boot-starter:2.3.2",
)
}
diff --git a/io.sc.platform.security/src/main/java/io/sc/platform/security/initializer/AdministratorRoleAndUserInitializer.java b/io.sc.platform.security/src/main/java/io/sc/platform/security/initializer/RoleAndUserInitializer.java
similarity index 93%
rename from io.sc.platform.security/src/main/java/io/sc/platform/security/initializer/AdministratorRoleAndUserInitializer.java
rename to io.sc.platform.security/src/main/java/io/sc/platform/security/initializer/RoleAndUserInitializer.java
index 7043cf91..11f297c5 100644
--- a/io.sc.platform.security/src/main/java/io/sc/platform/security/initializer/AdministratorRoleAndUserInitializer.java
+++ b/io.sc.platform.security/src/main/java/io/sc/platform/security/initializer/RoleAndUserInitializer.java
@@ -14,8 +14,8 @@ import org.springframework.security.crypto.password.PasswordEncoder;
import java.util.Date;
-public class AdministratorRoleAndUserInitializer implements ApplicationInitializer{
- private static final Logger log =LoggerFactory.getLogger(AdministratorRoleAndUserInitializer.class);
+public class RoleAndUserInitializer implements ApplicationInitializer{
+ private static final Logger log =LoggerFactory.getLogger(RoleAndUserInitializer.class);
private Boolean isInitialized =null;
private PasswordEncoder passwordEncoder;
private JdbcTemplate jdbcTemplate;
@@ -28,12 +28,12 @@ public class AdministratorRoleAndUserInitializer implements ApplicationInitializ
@Override
public String getName() {
- return "Role Initializer";
+ return "User and Role Initializer";
}
@Override
public String getDescription() {
- return "Initialize administrator role";
+ return "Initialize User and Role";
}
@Override
diff --git a/io.sc.platform.security/src/main/resources/META-INF/services/io.sc.platform.core.initializer.ApplicationInitializer b/io.sc.platform.security/src/main/resources/META-INF/services/io.sc.platform.core.initializer.ApplicationInitializer
index 084876f4..7cc9a4ce 100644
--- a/io.sc.platform.security/src/main/resources/META-INF/services/io.sc.platform.core.initializer.ApplicationInitializer
+++ b/io.sc.platform.security/src/main/resources/META-INF/services/io.sc.platform.core.initializer.ApplicationInitializer
@@ -1,2 +1,2 @@
io.sc.platform.security.initializer.CorporationInitializer
-io.sc.platform.security.initializer.AdministratorRoleAndUserInitializer
\ No newline at end of file
+io.sc.platform.security.initializer.RoleAndUserInitializer
\ No newline at end of file
diff --git a/io.sc.platform.system/src/main/java/io/sc/platform/system/announcement/controller/AnnouncementController.java b/io.sc.platform.system/src/main/java/io/sc/platform/system/announcement/controller/AnnouncementWebController.java
similarity index 70%
rename from io.sc.platform.system/src/main/java/io/sc/platform/system/announcement/controller/AnnouncementController.java
rename to io.sc.platform.system/src/main/java/io/sc/platform/system/announcement/controller/AnnouncementWebController.java
index 7632c3f2..03b988ce 100644
--- a/io.sc.platform.system/src/main/java/io/sc/platform/system/announcement/controller/AnnouncementController.java
+++ b/io.sc.platform.system/src/main/java/io/sc/platform/system/announcement/controller/AnnouncementWebController.java
@@ -1,7 +1,6 @@
package io.sc.platform.system.announcement.controller;
import io.sc.platform.mvc.controller.support.RestCrudController;
-import io.sc.platform.system.announcement.convertor.AnnouncementEntityVoConverter;
import io.sc.platform.system.announcement.jpa.entity.AnnouncementEntity;
import io.sc.platform.system.announcement.jpa.repository.AnnouncementRepository;
import io.sc.platform.system.announcement.service.AnnouncementService;
@@ -10,5 +9,5 @@ import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("api/system/announcement")
-public class AnnouncementController extends RestCrudController {
+public class AnnouncementWebController extends RestCrudController {
}
diff --git a/io.sc.platform.system/src/main/java/io/sc/platform/system/auditlog/controller/AuditLogController.java b/io.sc.platform.system/src/main/java/io/sc/platform/system/auditlog/controller/AuditLogWebController.java
similarity index 80%
rename from io.sc.platform.system/src/main/java/io/sc/platform/system/auditlog/controller/AuditLogController.java
rename to io.sc.platform.system/src/main/java/io/sc/platform/system/auditlog/controller/AuditLogWebController.java
index 4199c7ac..232c87e2 100644
--- a/io.sc.platform.system/src/main/java/io/sc/platform/system/auditlog/controller/AuditLogController.java
+++ b/io.sc.platform.system/src/main/java/io/sc/platform/system/auditlog/controller/AuditLogWebController.java
@@ -9,6 +9,6 @@ import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/api/system/monitor/auditlog")
-public class AuditLogController extends RestCrudController {
+public class AuditLogWebController extends RestCrudController {
}
diff --git a/io.sc.platform.system/src/main/java/io/sc/platform/system/corporation/controller/CorporationController.java b/io.sc.platform.system/src/main/java/io/sc/platform/system/corporation/controller/CorporationWebController.java
similarity index 73%
rename from io.sc.platform.system/src/main/java/io/sc/platform/system/corporation/controller/CorporationController.java
rename to io.sc.platform.system/src/main/java/io/sc/platform/system/corporation/controller/CorporationWebController.java
index 01287fc4..05620c40 100644
--- a/io.sc.platform.system/src/main/java/io/sc/platform/system/corporation/controller/CorporationController.java
+++ b/io.sc.platform.system/src/main/java/io/sc/platform/system/corporation/controller/CorporationWebController.java
@@ -1,17 +1,15 @@
package io.sc.platform.system.corporation.controller;
import io.sc.platform.mvc.controller.support.RestCrudController;
-import io.sc.platform.system.api.corporation.CorporationVo;
import io.sc.platform.system.corporation.convertor.CorporationEntityVoConverter;
import io.sc.platform.system.corporation.jpa.entity.CorporationEntity;
import io.sc.platform.system.corporation.jpa.repository.CorporationRepository;
import io.sc.platform.system.corporation.service.CorporationService;
-import io.sc.platform.system.org.convertor.OrgEntityVoConverter;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("api/system/corporation")
-public class CorporationController extends RestCrudController {
+public class CorporationWebController extends RestCrudController {
private CorporationEntityVoConverter converter =new CorporationEntityVoConverter();
}
diff --git a/io.sc.platform.system/src/main/java/io/sc/platform/system/dictionary/controller/DictionaryController.java b/io.sc.platform.system/src/main/java/io/sc/platform/system/dictionary/controller/DictionaryWebController.java
similarity index 87%
rename from io.sc.platform.system/src/main/java/io/sc/platform/system/dictionary/controller/DictionaryController.java
rename to io.sc.platform.system/src/main/java/io/sc/platform/system/dictionary/controller/DictionaryWebController.java
index b6daccf7..7191c9ae 100644
--- a/io.sc.platform.system/src/main/java/io/sc/platform/system/dictionary/controller/DictionaryController.java
+++ b/io.sc.platform.system/src/main/java/io/sc/platform/system/dictionary/controller/DictionaryWebController.java
@@ -14,7 +14,7 @@ import java.util.List;
@RestController
@RequestMapping("api/system/dictionary")
-public class DictionaryController extends RestCrudController {
+public class DictionaryWebController extends RestCrudController {
@PostMapping("updateDictionariesOrder")
public void updateDictionariesOrder(@RequestBody List> orderItems) throws Exception{
diff --git a/io.sc.platform.system/src/main/java/io/sc/platform/system/ds/controller/DsController.java b/io.sc.platform.system/src/main/java/io/sc/platform/system/ds/controller/DsWebController.java
similarity index 76%
rename from io.sc.platform.system/src/main/java/io/sc/platform/system/ds/controller/DsController.java
rename to io.sc.platform.system/src/main/java/io/sc/platform/system/ds/controller/DsWebController.java
index 66793d06..2de4496a 100644
--- a/io.sc.platform.system/src/main/java/io/sc/platform/system/ds/controller/DsController.java
+++ b/io.sc.platform.system/src/main/java/io/sc/platform/system/ds/controller/DsWebController.java
@@ -1,7 +1,6 @@
package io.sc.platform.system.ds.controller;
import io.sc.platform.mvc.controller.support.RestCrudController;
-import io.sc.platform.system.api.ds.DsVo;
import io.sc.platform.system.ds.jpa.entity.DsEntity;
import io.sc.platform.system.ds.jpa.repository.DsRepository;
import io.sc.platform.system.ds.service.DsService;
@@ -10,6 +9,6 @@ import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/datasource")
-public class DsController extends RestCrudController {
+public class DsWebController extends RestCrudController {
}
diff --git a/io.sc.platform.system/src/main/java/io/sc/platform/system/i18n/controller/I18nController.java b/io.sc.platform.system/src/main/java/io/sc/platform/system/i18n/controller/I18nWebController.java
similarity index 66%
rename from io.sc.platform.system/src/main/java/io/sc/platform/system/i18n/controller/I18nController.java
rename to io.sc.platform.system/src/main/java/io/sc/platform/system/i18n/controller/I18nWebController.java
index 82786b3f..7eae58a1 100644
--- a/io.sc.platform.system/src/main/java/io/sc/platform/system/i18n/controller/I18nController.java
+++ b/io.sc.platform.system/src/main/java/io/sc/platform/system/i18n/controller/I18nWebController.java
@@ -2,23 +2,15 @@ package io.sc.platform.system.i18n.controller;
import io.sc.platform.core.service.MessageSourceService;
import io.sc.platform.mvc.controller.support.RestCrudController;
-import io.sc.platform.system.api.i18n.I18n;
-import io.sc.platform.system.api.i18n.I18nLanguage;
-import io.sc.platform.system.auditlog.jpa.entity.AuditLogEntity;
-import io.sc.platform.system.auditlog.jpa.repository.AuditLogRepository;
-import io.sc.platform.system.auditlog.service.AuditLogService;
import io.sc.platform.system.i18n.jpa.entity.I18nEntity;
import io.sc.platform.system.i18n.jpa.repository.I18nRepository;
import io.sc.platform.system.i18n.service.I18nService;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Required;
import org.springframework.web.bind.annotation.*;
-import java.util.Map;
-
@RestController
@RequestMapping("/api/system/i18n")
-public class I18nController extends RestCrudController {
+public class I18nWebController extends RestCrudController {
@Autowired private MessageSourceService messageSourceService;
@PostMapping("importMessages")
diff --git a/io.sc.platform.system/src/main/java/io/sc/platform/system/initializer/RoleAndMenuInitializer.java b/io.sc.platform.system/src/main/java/io/sc/platform/system/initializer/RoleAndMenuInitializer.java
new file mode 100644
index 00000000..611383b4
--- /dev/null
+++ b/io.sc.platform.system/src/main/java/io/sc/platform/system/initializer/RoleAndMenuInitializer.java
@@ -0,0 +1,92 @@
+package io.sc.platform.system.initializer;
+
+import io.sc.platform.core.initializer.ApplicationInitializer;
+import io.sc.platform.core.initializer.ApplicationInitializerExecuteException;
+import io.sc.platform.jdbc.sql.builder.SqlBuilder;
+import io.sc.platform.security.service.support.Role;
+import io.sc.platform.system.menu.convertor.MenuEntityVoConvertor;
+import io.sc.platform.system.menu.jpa.entity.MenuEntity;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.context.ApplicationContext;
+import org.springframework.jdbc.core.JdbcTemplate;
+
+import java.util.List;
+
+public class RoleAndMenuInitializer implements ApplicationInitializer{
+ private static final Logger log =LoggerFactory.getLogger(RoleAndMenuInitializer.class);
+ private Boolean isInitialized =null;
+ private JdbcTemplate jdbcTemplate;
+
+ @Override
+ public void init(ApplicationContext applicationContext) {
+ this.jdbcTemplate =applicationContext.getBean(JdbcTemplate.class);
+ }
+
+ @Override
+ public String getName() {
+ return "Role and Menu Initializer";
+ }
+
+ @Override
+ public String getDescription() {
+ return "Initialize Role and Menu";
+ }
+
+ @Override
+ public int getOrder() {
+ return 3000;
+ }
+
+ @Override
+ public synchronized boolean isInitialized() {
+ if(isInitialized!=null) {
+ return isInitialized;
+ }
+
+ try {
+ int count = countRoleAndMenu();
+ if(count==0) {
+ isInitialized =false;
+ return isInitialized;
+ }
+ } catch (Exception e) {
+ log.error("",e);
+ }
+ isInitialized =true;
+ return isInitialized;
+ }
+
+ @Override
+ public void execute() throws ApplicationInitializerExecuteException {
+ Role role =findAdminRole();
+ if(role!=null){
+ List menus =findMenus();
+ if(menus!=null && !menus.isEmpty()){
+ for(MenuEntity menu : menus){
+ insertRoleAndMenu(role.getId(),menu.getId());
+ }
+ }
+ }
+ }
+
+ private Role findAdminRole(){
+ return jdbcTemplate.query("select * from SYS_ROLE where CODE_='admin'", Role.getResultSetExtractor());
+ }
+
+ private List findMenus(){
+ return jdbcTemplate.query("select * from SYS_MENU",new MenuEntityVoConvertor());
+ }
+
+ private void insertRoleAndMenu(String roleId,String menuId){
+ SqlBuilder.getInsertIntoSqlBuilder()
+ .table("SYS_ROLE_MENU")
+ .field("ROLE_ID_",roleId)
+ .field("MENU_ID_",menuId)
+ .insert(jdbcTemplate);
+ }
+
+ private int countRoleAndMenu(){
+ return jdbcTemplate.queryForObject("select count(*) from SYS_ROLE_MENU", Integer.class);
+ }
+}
diff --git a/io.sc.platform.system/src/main/java/io/sc/platform/system/menu/controller/MenuController.java b/io.sc.platform.system/src/main/java/io/sc/platform/system/menu/controller/MenuWebController.java
similarity index 97%
rename from io.sc.platform.system/src/main/java/io/sc/platform/system/menu/controller/MenuController.java
rename to io.sc.platform.system/src/main/java/io/sc/platform/system/menu/controller/MenuWebController.java
index 1d6fb3c6..a8b4340f 100644
--- a/io.sc.platform.system/src/main/java/io/sc/platform/system/menu/controller/MenuController.java
+++ b/io.sc.platform.system/src/main/java/io/sc/platform/system/menu/controller/MenuWebController.java
@@ -15,7 +15,7 @@ import java.util.List;
@RestController
@RequestMapping("/api/system/menu")
-public class MenuController extends RestCrudController {
+public class MenuWebController extends RestCrudController {
/**
* 列出所有菜单树,并且将角色所拥有的菜单列表作出标记
* @param roleId 角色ID
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 86a9b423..e02f0570 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
@@ -12,6 +12,8 @@ import java.util.List;
public interface MenuService extends DaoService {
+ public List getMenusByUser(String userId) throws Exception;
+
/**
* 列出所有菜单树,并且将角色所拥有的菜单列表作出标记
* @param roleId 角色ID
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 59307e14..a6499c26 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
@@ -37,6 +37,57 @@ public class MenuServiceImpl extends DaoServiceImpl treeBuilder =new MenuEntityTreeBuilder();
@Autowired private JdbcTemplate jdbcTemplate;
+
+ @Override
+ public List getMenusByUser(String userId) throws Exception {
+ if(!StringUtils.hasText(userId)){
+ throw new IllegalArgumentException("user's login name is empty!");
+ }
+
+ String sql =""
+ + " select * from SYS_MENU"
+ + " where "
+ + " ID_ in ("
+ + " select distinct MENU_ID_ from SYS_ROLE_MENU"
+ + " where ROLE_ID_ in ("
+ + " select distinct ROLE_ID_ from SYS_USER_ROLE"
+ + " where USER_ID_=?"
+ + " )"
+ + " )"
+ + " and ENABLE_=1"
+ + " order by ORDER_";
+ List roleMenus =jdbcTemplate.query(sql, new MenuEntityVoConvertor(),userId);
+
+ //获取用户所属机构的有权访问的菜单
+ sql =""
+ + " select * from SYS_MENU"
+ + " where "
+ + " ID_ in ("
+ + " select distinct MENU_ID_ from SYS_ORG_MENU"
+ + " where ORG_ID_ in ("
+ + " select distinct ORG_ID_ from SYS_USER_ORG"
+ + " where USER_ID_=?"
+ + " )"
+ + " )"
+ + " and ENABLE_=1"
+ + " order by ORDER_";
+ List orgMenus =jdbcTemplate.query(sql, new MenuEntityVoConvertor(),userId);
+
+ //最终合并后的菜单
+ List menus =null;
+ if(orgMenus!=null && orgMenus.size()>0){
+ menus =new ArrayList();
+ for(MenuEntity roleMenu : roleMenus){
+ if(orgMenus.contains(roleMenu)){
+ menus.add(roleMenu);
+ }
+ }
+ }else{
+ menus =roleMenus;
+ }
+ return menus;
+ }
+
@Override
public List listAllMenusWithSelectedStatusByRole(String roleId, QueryParameter queryParameter) throws Exception {
MenuEntityVoConvertor converter =new MenuEntityVoConvertor();
diff --git a/io.sc.platform.system/src/main/java/io/sc/platform/system/monitor/controller/LogViewerController.java b/io.sc.platform.system/src/main/java/io/sc/platform/system/monitor/controller/LogViewerWebController.java
similarity index 99%
rename from io.sc.platform.system/src/main/java/io/sc/platform/system/monitor/controller/LogViewerController.java
rename to io.sc.platform.system/src/main/java/io/sc/platform/system/monitor/controller/LogViewerWebController.java
index f3f63d7e..81c5185f 100644
--- a/io.sc.platform.system/src/main/java/io/sc/platform/system/monitor/controller/LogViewerController.java
+++ b/io.sc.platform.system/src/main/java/io/sc/platform/system/monitor/controller/LogViewerWebController.java
@@ -22,7 +22,7 @@ import java.util.*;
@RestController
@RequestMapping("/api/monitor/logger")
-public class LogViewerController {
+public class LogViewerWebController {
@Autowired private LoggersEndpoint loggersEndpoint;
@PostMapping("getLogFileContents")
diff --git a/io.sc.platform.system/src/main/java/io/sc/platform/system/org/controller/OrgController.java b/io.sc.platform.system/src/main/java/io/sc/platform/system/org/controller/OrgWebController.java
similarity index 93%
rename from io.sc.platform.system/src/main/java/io/sc/platform/system/org/controller/OrgController.java
rename to io.sc.platform.system/src/main/java/io/sc/platform/system/org/controller/OrgWebController.java
index 376711e5..30459fd7 100644
--- a/io.sc.platform.system/src/main/java/io/sc/platform/system/org/controller/OrgController.java
+++ b/io.sc.platform.system/src/main/java/io/sc/platform/system/org/controller/OrgWebController.java
@@ -5,25 +5,18 @@ import io.sc.platform.mvc.support.One2Many;
import io.sc.platform.orm.service.support.QueryParameter;
import io.sc.platform.orm.service.support.QueryResult;
import io.sc.platform.system.api.org.OrgVo;
-import io.sc.platform.system.api.role.RoleVo;
import io.sc.platform.system.org.convertor.OrgEntityVoConverter;
import io.sc.platform.system.org.jpa.entity.OrgEntity;
import io.sc.platform.system.org.jpa.repository.OrgRepository;
import io.sc.platform.system.org.service.OrgService;
-import io.sc.platform.system.role.convertor.RoleEntityVoConverter;
-import io.sc.platform.system.role.jpa.entity.RoleEntity;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.core.convert.ConversionService;
-import org.springframework.data.domain.Page;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
-import java.util.Date;
import java.util.List;
@RestController
@RequestMapping("/api/system/org")
-public class OrgController extends RestCrudController {
+public class OrgWebController extends RestCrudController {
private OrgEntityVoConverter converter =new OrgEntityVoConverter();
/**
diff --git a/io.sc.platform.system/src/main/java/io/sc/platform/system/parameter/controller/ParameterController.java b/io.sc.platform.system/src/main/java/io/sc/platform/system/parameter/controller/ParameterWebController.java
similarity index 79%
rename from io.sc.platform.system/src/main/java/io/sc/platform/system/parameter/controller/ParameterController.java
rename to io.sc.platform.system/src/main/java/io/sc/platform/system/parameter/controller/ParameterWebController.java
index 2daa0f4f..d119ca11 100644
--- a/io.sc.platform.system/src/main/java/io/sc/platform/system/parameter/controller/ParameterController.java
+++ b/io.sc.platform.system/src/main/java/io/sc/platform/system/parameter/controller/ParameterWebController.java
@@ -9,6 +9,6 @@ import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("api/system/parameter")
-public class ParameterController extends RestCrudController {
+public class ParameterWebController extends RestCrudController {
}
diff --git a/io.sc.platform.system/src/main/java/io/sc/platform/system/preference/controller/PreferencesController.java b/io.sc.platform.system/src/main/java/io/sc/platform/system/preference/controller/PreferencesWebController.java
similarity index 85%
rename from io.sc.platform.system/src/main/java/io/sc/platform/system/preference/controller/PreferencesController.java
rename to io.sc.platform.system/src/main/java/io/sc/platform/system/preference/controller/PreferencesWebController.java
index 30af4dbe..7f714799 100644
--- a/io.sc.platform.system/src/main/java/io/sc/platform/system/preference/controller/PreferencesController.java
+++ b/io.sc.platform.system/src/main/java/io/sc/platform/system/preference/controller/PreferencesWebController.java
@@ -5,6 +5,6 @@ import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/preferences")
-public class PreferencesController {
+public class PreferencesWebController {
}
diff --git a/io.sc.platform.system/src/main/java/io/sc/platform/system/role/controller/RoleController.java b/io.sc.platform.system/src/main/java/io/sc/platform/system/role/controller/RoleWebController.java
similarity index 96%
rename from io.sc.platform.system/src/main/java/io/sc/platform/system/role/controller/RoleController.java
rename to io.sc.platform.system/src/main/java/io/sc/platform/system/role/controller/RoleWebController.java
index 7303c590..cb13d6c5 100644
--- a/io.sc.platform.system/src/main/java/io/sc/platform/system/role/controller/RoleController.java
+++ b/io.sc.platform.system/src/main/java/io/sc/platform/system/role/controller/RoleWebController.java
@@ -9,15 +9,13 @@ import io.sc.platform.system.role.convertor.RoleEntityVoConverter;
import io.sc.platform.system.role.jpa.entity.RoleEntity;
import io.sc.platform.system.role.jpa.repository.RoleRepository;
import io.sc.platform.system.role.service.RoleService;
-import io.sc.platform.system.user.convertor.UserEntityVoConverter;
-import io.sc.platform.system.user.jpa.entity.UserEntity;
import org.springframework.data.domain.Page;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/api/system/role")
-public class RoleController extends RestCrudController {
+public class RoleWebController extends RestCrudController {
private RoleEntityVoConverter converter =new RoleEntityVoConverter();
/**
diff --git a/io.sc.platform.system/src/main/java/io/sc/platform/system/user/controller/UserController.java b/io.sc.platform.system/src/main/java/io/sc/platform/system/user/controller/UserWebController.java
similarity index 94%
rename from io.sc.platform.system/src/main/java/io/sc/platform/system/user/controller/UserController.java
rename to io.sc.platform.system/src/main/java/io/sc/platform/system/user/controller/UserWebController.java
index 73ae8785..0d6c9f18 100644
--- a/io.sc.platform.system/src/main/java/io/sc/platform/system/user/controller/UserController.java
+++ b/io.sc.platform.system/src/main/java/io/sc/platform/system/user/controller/UserWebController.java
@@ -1,7 +1,5 @@
package io.sc.platform.system.user.controller;
-import io.sc.platform.jdbc.meta.MetaDataLoader;
-import io.sc.platform.jdbc.meta.support.Table;
import io.sc.platform.mvc.controller.support.RestCrudController;
import io.sc.platform.mvc.support.One2Many;
import io.sc.platform.orm.api.exception.UserNewPasswordAndConfirmNewPasswordNotMatchException;
@@ -16,26 +14,22 @@ import io.sc.platform.system.user.jpa.repository.UserRepository;
import io.sc.platform.system.user.service.UserService;
import io.sc.platform.system.user.service.support.SetUserPasswordWrapper;
import io.sc.platform.system.user.service.support.UserSession;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
-import javax.sql.DataSource;
import java.security.Principal;
import java.util.List;
import java.util.Map;
-import io.sc.platform.jdbc.meta.MetaDataLoader;
-
@RestController
@RequestMapping("/api/system/user")
-public class UserController extends RestCrudController {
- private UserEntityVoConverter converter =new UserEntityVoConverter();
+public class UserWebController extends RestCrudController {
+ private UserEntityVoConverter userConverter =new UserEntityVoConverter();
@GetMapping("session")
- public UserSession session(HttpServletRequest request){
+ public UserSession session(HttpServletRequest request) throws Exception {
return service.getUserSession(request);
}
@@ -131,7 +125,7 @@ public class UserController extends RestCrudController queryUsersByRole(@RequestParam(name="roleId",required=false) String roleId, QueryParameter parameter) throws Exception{
if(StringUtils.hasText(roleId)){
Page result =service.queryUsersByRole(roleId,parameter);
- return converter.toVo(result);
+ return userConverter.toVo(result);
}
return QueryResult.emptyPage();
}
@@ -147,7 +141,7 @@ public class UserController extends RestCrudController queryOtherUsersByRole(@RequestParam(name="roleId",required=false) String roleId,QueryParameter parameter) throws Exception{
if(StringUtils.hasText(roleId)){
Page result =service.queryOtherUsersByRole(roleId,parameter);
- return converter.toVo(result);
+ return userConverter.toVo(result);
}
return QueryResult.emptyPage();
}
@@ -163,7 +157,7 @@ public class UserController extends RestCrudController queryUsersByOrg(@RequestParam(name="orgId",required=false) String orgId,QueryParameter parameter) throws Exception{
if(StringUtils.hasText(orgId)){
Page result =service.queryUsersByOrg(orgId,parameter);
- return converter.toVo(result);
+ return userConverter.toVo(result);
}
return QueryResult.emptyPage();
}
@@ -179,7 +173,7 @@ public class UserController extends RestCrudController queryOtherUsersByOrg(@RequestParam(name="orgId",required=false) String orgId,QueryParameter parameter) throws Exception{
if(StringUtils.hasText(orgId)){
Page result =service.queryOtherUsersByOrg(orgId,parameter);
- return converter.toVo(result);
+ return userConverter.toVo(result);
}
return QueryResult.emptyPage();
}
diff --git a/io.sc.platform.system/src/main/java/io/sc/platform/system/user/service/UserService.java b/io.sc.platform.system/src/main/java/io/sc/platform/system/user/service/UserService.java
index 43d68f3f..6dc4ea5d 100644
--- a/io.sc.platform.system/src/main/java/io/sc/platform/system/user/service/UserService.java
+++ b/io.sc.platform.system/src/main/java/io/sc/platform/system/user/service/UserService.java
@@ -13,7 +13,7 @@ import java.util.List;
import java.util.Set;
public interface UserService extends DaoService {
- public UserSession getUserSession(HttpServletRequest request);
+ public UserSession getUserSession(HttpServletRequest request) throws Exception;
/**
* 重置用户密码
diff --git a/io.sc.platform.system/src/main/java/io/sc/platform/system/user/service/impl/UserServiceImpl.java b/io.sc.platform.system/src/main/java/io/sc/platform/system/user/service/impl/UserServiceImpl.java
index 8bb3453d..0b8ba1d9 100644
--- a/io.sc.platform.system/src/main/java/io/sc/platform/system/user/service/impl/UserServiceImpl.java
+++ b/io.sc.platform.system/src/main/java/io/sc/platform/system/user/service/impl/UserServiceImpl.java
@@ -12,6 +12,8 @@ import io.sc.platform.security.util.SecurityUtil;
import io.sc.platform.system.api.menu.MenuRouteVo;
import io.sc.platform.system.api.menu.MenuVo;
import io.sc.platform.system.i18n.service.I18nService;
+import io.sc.platform.system.menu.convertor.MenuEntityVoConvertor;
+import io.sc.platform.system.menu.jpa.entity.MenuEntity;
import io.sc.platform.system.menu.service.MenuService;
import io.sc.platform.system.org.jpa.entity.OrgEntity;
import io.sc.platform.system.org.service.OrgService;
@@ -56,8 +58,8 @@ public class UserServiceImpl extends DaoServiceImpl menus =menuService.getAllMenus();
+ public UserSession getUserSession(HttpServletRequest request) throws Exception {
+ List menus =new MenuEntityVoConvertor().toVo(menuService.getMenusByUser(request.getUserPrincipal().getName()));
UserSession result =new UserSession();
result.setUser(SecurityUtil.securityUser2map());
result.setMenus(menus);
diff --git a/io.sc.platform.system/src/main/resources/META-INF/services/io.sc.platform.core.initializer.ApplicationInitializer b/io.sc.platform.system/src/main/resources/META-INF/services/io.sc.platform.core.initializer.ApplicationInitializer
index 6439b424..bf469029 100644
--- a/io.sc.platform.system/src/main/resources/META-INF/services/io.sc.platform.core.initializer.ApplicationInitializer
+++ b/io.sc.platform.system/src/main/resources/META-INF/services/io.sc.platform.core.initializer.ApplicationInitializer
@@ -1,2 +1,3 @@
io.sc.platform.system.initializer.MenuInitializer
+io.sc.platform.system.initializer.RoleAndMenuInitializer
io.sc.platform.system.initializer.ParameterInitializer
\ No newline at end of file
diff --git a/settings.gradle b/settings.gradle
index 29347589..7785428e 100755
--- a/settings.gradle
+++ b/settings.gradle
@@ -1,6 +1,9 @@
include ':app.platform'
//include ':com.xuxueli.xxl-job-admin'
//include ':com.xuxueli.xxl-job-core'
+include ':com.xxl.job.admin'
+include ':com.xxl.job.core'
+include ':com.xxl.job.executor'
include ':io.sc.example'
include ':io.sc.platform.app'
include ':io.sc.platform.app-nacos'