diff --git a/im-admin/script/sql/ry_vue_5.X.sql b/db/im-admin.sql similarity index 100% rename from im-admin/script/sql/ry_vue_5.X.sql rename to db/im-admin.sql diff --git a/im-admin/.run/ruoyi-monitor-admin.run.xml b/im-admin/.run/ruoyi-monitor-admin.run.xml deleted file mode 100644 index bcac3d5..0000000 --- a/im-admin/.run/ruoyi-monitor-admin.run.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - diff --git a/im-admin/.run/ruoyi-server.run.xml b/im-admin/.run/ruoyi-server.run.xml deleted file mode 100644 index 57b0fb8..0000000 --- a/im-admin/.run/ruoyi-server.run.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - diff --git a/im-admin/.run/ruoyi-snailjob-server.run.xml b/im-admin/.run/ruoyi-snailjob-server.run.xml deleted file mode 100644 index f1d3447..0000000 --- a/im-admin/.run/ruoyi-snailjob-server.run.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - diff --git a/im-admin/LICENSE b/im-admin/LICENSE deleted file mode 100644 index 32b3071..0000000 --- a/im-admin/LICENSE +++ /dev/null @@ -1,20 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2019 RuoYi-Vue-Plus - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/im-admin/pom.xml b/im-admin/pom.xml index 7b92aa7..c4d24ee 100644 --- a/im-admin/pom.xml +++ b/im-admin/pom.xml @@ -5,12 +5,10 @@ 4.0.0 org.dromara - ruoyi-vue-plus + im-admin ${revision} - - RuoYi-Vue-Plus - https://gitee.com/dromara/RuoYi-Vue-Plus - RuoYi-Vue-Plus多租户管理系统 + im-admin + 盒子IM后台管理系统 5.2.3 @@ -49,8 +47,6 @@ 1.2.83 8.7.2-20241022 - - 7.0.1 3.2.2 @@ -67,8 +63,6 @@ local info - ruoyi - 123456 @@ -77,8 +71,6 @@ dev info - ruoyi - 123456 @@ -90,8 +82,6 @@ prod warn - ruoyi - 123456 @@ -118,13 +108,6 @@ import - - org.flowable - flowable-bom - ${flowable.version} - pom - import - @@ -359,7 +342,6 @@ ruoyi-admin ruoyi-common - ruoyi-extend ruoyi-modules pom diff --git a/im-admin/ruoyi-admin/pom.xml b/im-admin/ruoyi-admin/pom.xml index 9e97804..1f756f3 100644 --- a/im-admin/ruoyi-admin/pom.xml +++ b/im-admin/ruoyi-admin/pom.xml @@ -3,7 +3,7 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - ruoyi-vue-plus + im-admin org.dromara ${revision} @@ -22,29 +22,6 @@ com.mysql mysql-connector-j - - - - - - - - - - - - - - - - - - - - - - - org.dromara ruoyi-common-doc @@ -69,53 +46,17 @@ org.dromara ruoyi-system - - - org.dromara - ruoyi-job - - org.dromara ruoyi-generator - - - org.dromara - ruoyi-demo - - - - - org.dromara - ruoyi-workflow - - - - de.codecentric - spring-boot-admin-starter-client - - org.springframework.boot spring-boot-starter-test test - - - - - - - - - - - - - diff --git a/im-admin/ruoyi-admin/src/main/java/org/dromara/DromaraApplication.java b/im-admin/ruoyi-admin/src/main/java/org/dromara/DromaraApplication.java index 8ef33fe..afe4349 100644 --- a/im-admin/ruoyi-admin/src/main/java/org/dromara/DromaraApplication.java +++ b/im-admin/ruoyi-admin/src/main/java/org/dromara/DromaraApplication.java @@ -17,7 +17,7 @@ public class DromaraApplication { SpringApplication application = new SpringApplication(DromaraApplication.class); application.setApplicationStartup(new BufferingApplicationStartup(2048)); application.run(args); - System.out.println("(♥◠‿◠)ノ゙ RuoYi-Vue-Plus启动成功 ლ(´ڡ`ლ)゙"); + System.out.println("盒子IM后台管理服务启动成功"); } } diff --git a/im-admin/ruoyi-admin/src/main/resources/application-dev.yml b/im-admin/ruoyi-admin/src/main/resources/application-dev.yml index 4410ab5..feee579 100644 --- a/im-admin/ruoyi-admin/src/main/resources/application-dev.yml +++ b/im-admin/ruoyi-admin/src/main/resources/application-dev.yml @@ -1,33 +1,3 @@ ---- # 监控中心配置 -spring.boot.admin.client: - # 增加客户端开关 - enabled: true - url: http://localhost:9090/admin - instance: - service-host-type: IP - metadata: - username: ${spring.boot.admin.client.username} - userpassword: ${spring.boot.admin.client.password} - username: @monitor.username@ - password: @monitor.password@ - ---- # snail-job 配置 -snail-job: - enabled: true - # 需要在 SnailJob 后台组管理创建对应名称的组,然后创建任务的时候选择对应的组,才能正确分派任务 - group: "ruoyi_group" - # SnailJob 接入验证令牌 详见 script/sql/snail_job.sql `sj_group_config` 表 - token: "SJ_cKqBTPzCsWA3VyuCfFoccmuIEGXjr5KT" - server: - host: 127.0.0.1 - port: 17888 - # 详见 script/sql/snail_job.sql `sj_namespace` 表 - namespace: ${spring.profiles.active} - # 随主应用端口飘逸 - port: 2${server.port} - # 客户端ip指定 - host: - --- # 数据源配置 spring: datasource: @@ -56,26 +26,8 @@ spring: type: ${spring.datasource.type} driverClassName: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true - username: - password: -# oracle: -# type: ${spring.datasource.type} -# driverClassName: oracle.jdbc.OracleDriver -# url: jdbc:oracle:thin:@//localhost:1521/XE -# username: ROOT -# password: root -# postgres: -# type: ${spring.datasource.type} -# driverClassName: org.postgresql.Driver -# url: jdbc:postgresql://localhost:5432/postgres?useUnicode=true&characterEncoding=utf8&useSSL=true&autoReconnect=true&reWriteBatchedInserts=true -# username: root -# password: root -# sqlserver: -# type: ${spring.datasource.type} -# driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver -# url: jdbc:sqlserver://localhost:1433;DatabaseName=tempdb;SelectMethod=cursor;encrypt=false;rewriteBatchedStatements=true -# username: SA -# password: root + username: root + password: root hikari: # 最大连接池数量 maxPoolSize: 20 @@ -100,13 +52,7 @@ spring.data: # 端口,默认为6379 port: 6379 # 数据库索引 - database: 0 - # redis 密码必须配置 - password: ruoyi123 - # 连接超时时间 - timeout: 10s - # 是否开启ssl - ssl.enabled: false + database: 4 # redisson 配置 redisson: @@ -119,7 +65,7 @@ redisson: # 单节点配置 singleServerConfig: # 客户端名称 - clientName: ${ruoyi.name} + clientName: im-admin # 最小空闲连接数 connectionMinimumIdleSize: 8 # 连接池大小 @@ -130,134 +76,3 @@ redisson: timeout: 3000 # 发布和订阅连接池大小 subscriptionConnectionPoolSize: 50 - ---- # mail 邮件发送 -mail: - enabled: false - host: smtp.163.com - port: 465 - # 是否需要用户名密码验证 - auth: true - # 发送方,遵循RFC-822标准 - from: xxx@163.com - # 用户名(注意:如果使用foxmail邮箱,此处user为qq号) - user: xxx@163.com - # 密码(注意,某些邮箱需要为SMTP服务单独设置密码,详情查看相关帮助) - pass: xxxxxxxxxx - # 使用 STARTTLS安全连接,STARTTLS是对纯文本通信协议的扩展。 - starttlsEnable: true - # 使用SSL安全连接 - sslEnable: true - # SMTP超时时长,单位毫秒,缺省值不超时 - timeout: 0 - # Socket连接超时值,单位毫秒,缺省值不超时 - connectionTimeout: 0 - ---- # sms 短信 支持 阿里云 腾讯云 云片 等等各式各样的短信服务商 -# https://sms4j.com/doc3/ 差异配置文档地址 支持单厂商多配置,可以配置多个同时使用 -sms: - # 配置源类型用于标定配置来源(interface,yaml) - config-type: yaml - # 用于标定yml中的配置是否开启短信拦截,接口配置不受此限制 - restricted: true - # 短信拦截限制单手机号每分钟最大发送,只对开启了拦截的配置有效 - minute-max: 1 - # 短信拦截限制单手机号每日最大发送量,只对开启了拦截的配置有效 - account-max: 30 - # 以下配置来自于 org.dromara.sms4j.provider.config.BaseConfig类中 - blends: - # 唯一ID 用于发送短信寻找具体配置 随便定义别用中文即可 - # 可以同时存在两个相同厂商 例如: ali1 ali2 两个不同的阿里短信账号 也可用于区分租户 - config1: - # 框架定义的厂商名称标识,标定此配置是哪个厂商,详细请看厂商标识介绍部分 - supplier: alibaba - # 有些称为accessKey有些称之为apiKey,也有称为sdkKey或者appId。 - access-key-id: 您的accessKey - # 称为accessSecret有些称之为apiSecret - access-key-secret: 您的accessKeySecret - signature: 您的短信签名 - sdk-app-id: 您的sdkAppId - config2: - # 厂商标识,标定此配置是哪个厂商,详细请看厂商标识介绍部分 - supplier: tencent - access-key-id: 您的accessKey - access-key-secret: 您的accessKeySecret - signature: 您的短信签名 - sdk-app-id: 您的sdkAppId - - ---- # 三方授权 -justauth: - # 前端外网访问地址 - address: http://localhost:80 - type: - maxkey: - # maxkey 服务器地址 - # 注意 如下均配置均不需要修改 maxkey 已经内置好了数据 - server-url: http://sso.maxkey.top - client-id: 876892492581044224 - client-secret: x1Y5MTMwNzIwMjMxNTM4NDc3Mzche8 - redirect-uri: ${justauth.address}/social-callback?source=maxkey - topiam: - # topiam 服务器地址 - server-url: http://127.0.0.1:1989/api/v1/authorize/y0q************spq***********8ol - client-id: 449c4*********937************759 - client-secret: ac7***********1e0************28d - redirect-uri: ${justauth.address}/social-callback?source=topiam - scopes: [openid, email, phone, profile] - qq: - client-id: 10**********6 - client-secret: 1f7d08**********5b7**********29e - redirect-uri: ${justauth.address}/social-callback?source=qq - union-id: false - weibo: - client-id: 10**********6 - client-secret: 1f7d08**********5b7**********29e - redirect-uri: ${justauth.address}/social-callback?source=weibo - gitee: - client-id: 91436b7940090d09c72c7daf85b959cfd5f215d67eea73acbf61b6b590751a98 - client-secret: 02c6fcfd70342980cd8dd2f2c06c1a350645d76c754d7a264c4e125f9ba915ac - redirect-uri: ${justauth.address}/social-callback?source=gitee - dingtalk: - client-id: 10**********6 - client-secret: 1f7d08**********5b7**********29e - redirect-uri: ${justauth.address}/social-callback?source=dingtalk - baidu: - client-id: 10**********6 - client-secret: 1f7d08**********5b7**********29e - redirect-uri: ${justauth.address}/social-callback?source=baidu - csdn: - client-id: 10**********6 - client-secret: 1f7d08**********5b7**********29e - redirect-uri: ${justauth.address}/social-callback?source=csdn - coding: - client-id: 10**********6 - client-secret: 1f7d08**********5b7**********29e - redirect-uri: ${justauth.address}/social-callback?source=coding - coding-group-name: xx - oschina: - client-id: 10**********6 - client-secret: 1f7d08**********5b7**********29e - redirect-uri: ${justauth.address}/social-callback?source=oschina - alipay_wallet: - client-id: 10**********6 - client-secret: 1f7d08**********5b7**********29e - redirect-uri: ${justauth.address}/social-callback?source=alipay_wallet - alipay-public-key: MIIB**************DAQAB - wechat_open: - client-id: 10**********6 - client-secret: 1f7d08**********5b7**********29e - redirect-uri: ${justauth.address}/social-callback?source=wechat_open - wechat_mp: - client-id: 10**********6 - client-secret: 1f7d08**********5b7**********29e - redirect-uri: ${justauth.address}/social-callback?source=wechat_mp - wechat_enterprise: - client-id: 10**********6 - client-secret: 1f7d08**********5b7**********29e - redirect-uri: ${justauth.address}/social-callback?source=wechat_enterprise - agent-id: 1000002 - gitlab: - client-id: 10**********6 - client-secret: 1f7d08**********5b7**********29e - redirect-uri: ${justauth.address}/social-callback?source=gitlab diff --git a/im-admin/ruoyi-admin/src/main/resources/application-prod.yml b/im-admin/ruoyi-admin/src/main/resources/application-prod.yml index d261118..f350544 100644 --- a/im-admin/ruoyi-admin/src/main/resources/application-prod.yml +++ b/im-admin/ruoyi-admin/src/main/resources/application-prod.yml @@ -122,7 +122,7 @@ redisson: # 单节点配置 singleServerConfig: # 客户端名称 - clientName: ${ruoyi.name} + clientName: im-admin # 最小空闲连接数 connectionMinimumIdleSize: 32 # 连接池大小 diff --git a/im-admin/ruoyi-admin/src/main/resources/application.yml b/im-admin/ruoyi-admin/src/main/resources/application.yml index 82d0f1e..80083aa 100644 --- a/im-admin/ruoyi-admin/src/main/resources/application.yml +++ b/im-admin/ruoyi-admin/src/main/resources/application.yml @@ -1,9 +1,9 @@ # 项目相关配置 -ruoyi: +app: # 名称 - name: RuoYi-Vue-Plus + name: 盒子IM # 版本 - version: ${revision} + version: 3.1 # 版权年份 copyrightYear: 2024 @@ -22,7 +22,7 @@ captcha: # 开发环境配置 server: # 服务器的HTTP端口,默认为8080 - port: 8080 + port: 8889 servlet: # 应用的访问路径 context-path: / @@ -60,7 +60,7 @@ user: # Spring配置 spring: application: - name: ${ruoyi.name} + name: im-admin threads: # 开启虚拟线程 仅jdk21可用 virtual: @@ -122,21 +122,6 @@ security: - /*/api-docs - /*/api-docs/** -# 多租户配置 -tenant: - # 是否开启 - enable: true - # 排除表 - excludes: - - sys_menu - - sys_tenant - - sys_tenant_package - - sys_role_dept - - sys_role_menu - - sys_user_post - - sys_user_role - - sys_client - - sys_oss_config # MyBatisPlus配置 # https://baomidou.com/config/ @@ -185,21 +170,11 @@ springdoc: api-docs: # 是否开启接口文档 enabled: true -# swagger-ui: -# # 持久化认证数据 -# persistAuthorization: true info: # 标题 - title: '标题:${ruoyi.name}多租户管理系统_接口文档' - # 描述 - description: '描述:用于管理集团旗下公司的人员信息,具体包括XXX,XXX模块...' + title: '标题:${app.name}后台管理系统' # 版本 - version: '版本号: ${ruoyi.version}' - # 作者信息 - contact: - name: Lion Li - email: crazylionli@163.com - url: https://gitee.com/dromara/RuoYi-Vue-Plus + version: '版本号: ${app.version}' components: # 鉴权方式配置 security-schemes: @@ -225,8 +200,6 @@ xss: # 排除链接(多个用逗号分隔) excludeUrls: - /system/notice - - /workflow/model/save - - /workflow/model/editModelXml # 全局线程池相关配置 # 如使用JDK21请直接使用虚拟线程 不要开启此配置 @@ -245,17 +218,6 @@ lock4j: # 分布式锁的超时时间,默认为 30 秒 expire: 30000 ---- # Actuator 监控端点的配置项 -management: - endpoints: - web: - exposure: - include: '*' - endpoint: - health: - show-details: ALWAYS - logfile: - external-file: ./logs/sys-console.log --- # 默认/推荐使用sse推送 sse: @@ -270,25 +232,3 @@ websocket: path: /resource/websocket # 设置访问源地址 allowedOrigins: '*' - ---- #flowable配置 -flowable: - # 开关 用于启动/停用工作流 - enabled: true - process.enabled: ${flowable.enabled} - eventregistry.enabled: ${flowable.enabled} - async-executor-activate: false #关闭定时任务JOB - # 将databaseSchemaUpdate设置为true。当Flowable发现库与数据库表结构不一致时,会自动将数据库表结构升级至新版本。 - database-schema-update: true - activity-font-name: 宋体 - label-font-name: 宋体 - annotation-font-name: 宋体 - # 关闭各个模块生成表,目前只使用工作流基础表 - idm: - enabled: false - cmmn: - enabled: false - dmn: - enabled: false - app: - enabled: false diff --git a/im-admin/ruoyi-admin/src/main/resources/banner.txt b/im-admin/ruoyi-admin/src/main/resources/banner.txt deleted file mode 100644 index 21b1126..0000000 --- a/im-admin/ruoyi-admin/src/main/resources/banner.txt +++ /dev/null @@ -1,8 +0,0 @@ -Application Version: ${revision} -Spring Boot Version: ${spring-boot.version} -__________ _____.___.__ ____ ____ __________.__ -\______ \__ __ ____\__ | |__| \ \ / /_ __ ____ \______ \ | __ __ ______ - | _/ | \/ _ \/ | | | ______ \ Y / | \_/ __ \ ______ | ___/ | | | \/ ___/ - | | \ | ( <_> )____ | | /_____/ \ /| | /\ ___/ /_____/ | | | |_| | /\___ \ - |____|_ /____/ \____// ______|__| \___/ |____/ \___ > |____| |____/____//____ > - \/ \/ \/ \/ diff --git a/im-admin/ruoyi-common/pom.xml b/im-admin/ruoyi-common/pom.xml index 2930fd0..d6b5d54 100644 --- a/im-admin/ruoyi-common/pom.xml +++ b/im-admin/ruoyi-common/pom.xml @@ -3,7 +3,7 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - ruoyi-vue-plus + im-admin org.dromara ${revision} @@ -16,7 +16,6 @@ ruoyi-common-doc ruoyi-common-excel ruoyi-common-idempotent - ruoyi-common-job ruoyi-common-log ruoyi-common-mail ruoyi-common-mybatis diff --git a/im-admin/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/config/RuoYiConfig.java b/im-admin/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/config/RuoYiConfig.java index cc0d2df..2a2afcf 100644 --- a/im-admin/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/config/RuoYiConfig.java +++ b/im-admin/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/config/RuoYiConfig.java @@ -12,7 +12,7 @@ import org.springframework.stereotype.Component; @Data @Component -@ConfigurationProperties(prefix = "ruoyi") +@ConfigurationProperties(prefix = "app") public class RuoYiConfig { /** diff --git a/im-admin/ruoyi-common/ruoyi-common-job/pom.xml b/im-admin/ruoyi-common/ruoyi-common-job/pom.xml deleted file mode 100644 index 3a4a0cb..0000000 --- a/im-admin/ruoyi-common/ruoyi-common-job/pom.xml +++ /dev/null @@ -1,46 +0,0 @@ - - - - org.dromara - ruoyi-common - ${revision} - - 4.0.0 - - ruoyi-common-job - - - ruoyi-common-job 定时任务 - - - - - - org.springframework.boot - spring-boot-autoconfigure - - - - - com.aizuda - snail-job-client-starter - - - com.aizuda - snail-job-client-job-core - - - - org.projectlombok - lombok - - - - org.dromara - ruoyi-common-core - - - - diff --git a/im-admin/ruoyi-common/ruoyi-common-job/src/main/java/org/dromara/common/job/config/SnailJobConfig.java b/im-admin/ruoyi-common/ruoyi-common-job/src/main/java/org/dromara/common/job/config/SnailJobConfig.java deleted file mode 100644 index cba3753..0000000 --- a/im-admin/ruoyi-common/ruoyi-common-job/src/main/java/org/dromara/common/job/config/SnailJobConfig.java +++ /dev/null @@ -1,37 +0,0 @@ -package org.dromara.common.job.config; - -import ch.qos.logback.classic.Logger; -import ch.qos.logback.classic.LoggerContext; -import ch.qos.logback.classic.spi.ILoggingEvent; -import com.aizuda.snailjob.client.common.appender.SnailLogbackAppender; -import com.aizuda.snailjob.client.common.event.SnailClientStartingEvent; -import com.aizuda.snailjob.client.starter.EnableSnailJob; -import org.slf4j.LoggerFactory; -import org.springframework.boot.autoconfigure.AutoConfiguration; -import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; -import org.springframework.context.event.EventListener; -import org.springframework.scheduling.annotation.EnableScheduling; - -/** - * 启动定时任务 - * - * @author opensnail - * @date 2024-05-17 - */ -@AutoConfiguration -@ConditionalOnProperty(prefix = "snail-job", name = "enabled", havingValue = "true") -@EnableScheduling -@EnableSnailJob -public class SnailJobConfig { - - @EventListener(SnailClientStartingEvent.class) - public void onStarting(SnailClientStartingEvent event) { - LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory(); - SnailLogbackAppender ca = new SnailLogbackAppender<>(); - ca.setName("snail_log_appender"); - ca.start(); - Logger rootLogger = lc.getLogger(Logger.ROOT_LOGGER_NAME); - rootLogger.addAppender(ca); - } - -} diff --git a/im-admin/ruoyi-common/ruoyi-common-job/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/im-admin/ruoyi-common/ruoyi-common-job/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports deleted file mode 100644 index 3aa1881..0000000 --- a/im-admin/ruoyi-common/ruoyi-common-job/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ /dev/null @@ -1 +0,0 @@ -org.dromara.common.job.config.SnailJobConfig diff --git a/im-admin/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/config/RedisConfig.java b/im-admin/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/config/RedisConfig.java index f8fe79a..aa00233 100644 --- a/im-admin/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/config/RedisConfig.java +++ b/im-admin/ruoyi-common/ruoyi-common-redis/src/main/java/org/dromara/common/redis/config/RedisConfig.java @@ -106,51 +106,5 @@ public class RedisConfig { return new RedisExceptionHandler(); } - /** - * redis集群配置 yml - * - * --- # redis 集群配置(单机与集群只能开启一个另一个需要注释掉) - * spring.data: - * redis: - * cluster: - * nodes: - * - 192.168.0.100:6379 - * - 192.168.0.101:6379 - * - 192.168.0.102:6379 - * # 密码 - * password: - * # 连接超时时间 - * timeout: 10s - * # 是否开启ssl - * ssl.enabled: false - * - * redisson: - * # 线程池数量 - * threads: 16 - * # Netty线程池数量 - * nettyThreads: 32 - * # 集群配置 - * clusterServersConfig: - * # 客户端名称 - * clientName: ${ruoyi.name} - * # master最小空闲连接数 - * masterConnectionMinimumIdleSize: 32 - * # master连接池大小 - * masterConnectionPoolSize: 64 - * # slave最小空闲连接数 - * slaveConnectionMinimumIdleSize: 32 - * # slave连接池大小 - * slaveConnectionPoolSize: 64 - * # 连接空闲超时,单位:毫秒 - * idleConnectionTimeout: 10000 - * # 命令等待超时,单位:毫秒 - * timeout: 3000 - * # 发布和订阅连接池大小 - * subscriptionConnectionPoolSize: 50 - * # 读取模式 - * readMode: "SLAVE" - * # 订阅模式 - * subscriptionMode: "MASTER" - */ } diff --git a/im-admin/ruoyi-extend/pom.xml b/im-admin/ruoyi-extend/pom.xml deleted file mode 100644 index d7280ce..0000000 --- a/im-admin/ruoyi-extend/pom.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - ruoyi-vue-plus - org.dromara - ${revision} - - 4.0.0 - ruoyi-extend - pom - - - ruoyi-monitor-admin - ruoyi-snailjob-server - - - diff --git a/im-admin/ruoyi-extend/ruoyi-monitor-admin/Dockerfile b/im-admin/ruoyi-extend/ruoyi-monitor-admin/Dockerfile deleted file mode 100644 index 99aaa74..0000000 --- a/im-admin/ruoyi-extend/ruoyi-monitor-admin/Dockerfile +++ /dev/null @@ -1,20 +0,0 @@ -# 贝尔实验室 Spring 官方推荐镜像 JDK下载地址 https://bell-sw.com/pages/downloads/ -FROM bellsoft/liberica-openjdk-debian:17.0.11-cds -#FROM bellsoft/liberica-openjdk-debian:21.0.3-cds -#FROM findepi/graalvm:java17-native - -LABEL maintainer="Lion Li" - -RUN mkdir -p /ruoyi/monitor/logs - -WORKDIR /ruoyi/monitor - -ENV LANG=C.UTF-8 LC_ALL=C.UTF-8 JAVA_OPTS="" - -EXPOSE 9090 - -ADD ./target/ruoyi-monitor-admin.jar ./app.jar - -ENTRYPOINT java -Djava.security.egd=file:/dev/./urandom \ - -XX:+HeapDumpOnOutOfMemoryError -XX:+UseZGC ${JAVA_OPTS} \ - -jar app.jar diff --git a/im-admin/ruoyi-extend/ruoyi-monitor-admin/pom.xml b/im-admin/ruoyi-extend/ruoyi-monitor-admin/pom.xml deleted file mode 100644 index 77c9eb7..0000000 --- a/im-admin/ruoyi-extend/ruoyi-monitor-admin/pom.xml +++ /dev/null @@ -1,76 +0,0 @@ - - - - ruoyi-extend - org.dromara - ${revision} - - 4.0.0 - jar - ruoyi-monitor-admin - - - - - org.springframework.boot - spring-boot-starter-web - - - spring-boot-starter-tomcat - org.springframework.boot - - - - - - org.springframework.boot - spring-boot-starter-undertow - - - - - org.springframework.boot - spring-boot-starter-security - - - - de.codecentric - spring-boot-admin-starter-server - - - - de.codecentric - spring-boot-admin-starter-client - - - - org.projectlombok - lombok - - - - - - ${project.artifactId} - - - org.springframework.boot - spring-boot-maven-plugin - ${spring-boot.version} - - - - - - - repackage - - - - - - - - diff --git a/im-admin/ruoyi-extend/ruoyi-monitor-admin/src/main/java/org/dromara/monitor/admin/MonitorAdminApplication.java b/im-admin/ruoyi-extend/ruoyi-monitor-admin/src/main/java/org/dromara/monitor/admin/MonitorAdminApplication.java deleted file mode 100644 index 0339ebb..0000000 --- a/im-admin/ruoyi-extend/ruoyi-monitor-admin/src/main/java/org/dromara/monitor/admin/MonitorAdminApplication.java +++ /dev/null @@ -1,19 +0,0 @@ -package org.dromara.monitor.admin; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; - -/** - * Admin 监控启动程序 - * - * @author Lion Li - */ -@SpringBootApplication -public class MonitorAdminApplication { - - public static void main(String[] args) { - SpringApplication.run(MonitorAdminApplication.class, args); - System.out.println("Admin 监控启动成功"); - } - -} diff --git a/im-admin/ruoyi-extend/ruoyi-monitor-admin/src/main/java/org/dromara/monitor/admin/config/AdminServerConfig.java b/im-admin/ruoyi-extend/ruoyi-monitor-admin/src/main/java/org/dromara/monitor/admin/config/AdminServerConfig.java deleted file mode 100644 index 53d248e..0000000 --- a/im-admin/ruoyi-extend/ruoyi-monitor-admin/src/main/java/org/dromara/monitor/admin/config/AdminServerConfig.java +++ /dev/null @@ -1,31 +0,0 @@ -package org.dromara.monitor.admin.config; - -import de.codecentric.boot.admin.server.config.EnableAdminServer; -import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; -import org.springframework.boot.autoconfigure.task.TaskExecutionAutoConfiguration; -import org.springframework.boot.task.ThreadPoolTaskExecutorBuilder; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.Lazy; -import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; - -import java.util.concurrent.Executor; - -/** - * springboot-admin server配置类 - * - * @author Lion Li - */ -@Configuration -@EnableAdminServer -public class AdminServerConfig { - - @Lazy - @Bean(name = TaskExecutionAutoConfiguration.APPLICATION_TASK_EXECUTOR_BEAN_NAME) - @ConditionalOnMissingBean(Executor.class) - public ThreadPoolTaskExecutor applicationTaskExecutor(ThreadPoolTaskExecutorBuilder builder) { - return builder.build(); - } - - -} diff --git a/im-admin/ruoyi-extend/ruoyi-monitor-admin/src/main/java/org/dromara/monitor/admin/config/SecurityConfig.java b/im-admin/ruoyi-extend/ruoyi-monitor-admin/src/main/java/org/dromara/monitor/admin/config/SecurityConfig.java deleted file mode 100644 index 3458cc9..0000000 --- a/im-admin/ruoyi-extend/ruoyi-monitor-admin/src/main/java/org/dromara/monitor/admin/config/SecurityConfig.java +++ /dev/null @@ -1,54 +0,0 @@ -package org.dromara.monitor.admin.config; - -import de.codecentric.boot.admin.server.config.AdminServerProperties; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.security.config.Customizer; -import org.springframework.security.config.annotation.web.builders.HttpSecurity; -import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; -import org.springframework.security.config.annotation.web.configurers.AbstractHttpConfigurer; -import org.springframework.security.config.annotation.web.configurers.HeadersConfigurer; -import org.springframework.security.web.SecurityFilterChain; -import org.springframework.security.web.authentication.SavedRequestAwareAuthenticationSuccessHandler; -import org.springframework.security.web.util.matcher.AntPathRequestMatcher; - -/** - * admin 监控 安全配置 - * - * @author Lion Li - */ -@EnableWebSecurity -@Configuration -public class SecurityConfig { - - private final String adminContextPath; - - public SecurityConfig(AdminServerProperties adminServerProperties) { - this.adminContextPath = adminServerProperties.getContextPath(); - } - - @Bean - public SecurityFilterChain filterChain(HttpSecurity httpSecurity) throws Exception { - SavedRequestAwareAuthenticationSuccessHandler successHandler = new SavedRequestAwareAuthenticationSuccessHandler(); - successHandler.setTargetUrlParameter("redirectTo"); - successHandler.setDefaultTargetUrl(adminContextPath + "/"); - - return httpSecurity - .headers((header) -> - header.frameOptions(HeadersConfigurer.FrameOptionsConfig::disable)) - .authorizeHttpRequests((authorize) -> - authorize.requestMatchers( - new AntPathRequestMatcher(adminContextPath + "/assets/**"), - new AntPathRequestMatcher(adminContextPath + "/login") - ).permitAll() - .anyRequest().authenticated()) - .formLogin((formLogin) -> - formLogin.loginPage(adminContextPath + "/login").successHandler(successHandler)) - .logout((logout) -> - logout.logoutUrl(adminContextPath + "/logout")) - .httpBasic(Customizer.withDefaults()) - .csrf(AbstractHttpConfigurer::disable) - .build(); - } - -} diff --git a/im-admin/ruoyi-extend/ruoyi-monitor-admin/src/main/java/org/dromara/monitor/admin/notifier/CustomNotifier.java b/im-admin/ruoyi-extend/ruoyi-monitor-admin/src/main/java/org/dromara/monitor/admin/notifier/CustomNotifier.java deleted file mode 100644 index 838eefc..0000000 --- a/im-admin/ruoyi-extend/ruoyi-monitor-admin/src/main/java/org/dromara/monitor/admin/notifier/CustomNotifier.java +++ /dev/null @@ -1,55 +0,0 @@ -package org.dromara.monitor.admin.notifier; - -import de.codecentric.boot.admin.server.domain.entities.Instance; -import de.codecentric.boot.admin.server.domain.entities.InstanceRepository; -import de.codecentric.boot.admin.server.domain.events.InstanceEvent; -import de.codecentric.boot.admin.server.domain.events.InstanceStatusChangedEvent; -import de.codecentric.boot.admin.server.notify.AbstractEventNotifier; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Component; -import reactor.core.publisher.Mono; - -import static de.codecentric.boot.admin.server.domain.values.StatusInfo.*; - -/** - * 自定义事件通知处理 - * - * @author Lion Li - */ -@Slf4j -@Component -public class CustomNotifier extends AbstractEventNotifier { - - protected CustomNotifier(InstanceRepository repository) { - super(repository); - } - - @Override - @SuppressWarnings("all") - protected Mono doNotify(InstanceEvent event, Instance instance) { - return Mono.fromRunnable(() -> { - // 实例状态改变事件 - if (event instanceof InstanceStatusChangedEvent) { - // 获取实例注册名称 - String registName = instance.getRegistration().getName(); - // 获取实例ID - String instanceId = event.getInstance().getValue(); - // 获取实例状态 - String status = ((InstanceStatusChangedEvent) event).getStatusInfo().getStatus(); - // 获取服务URL - String serviceUrl = instance.getRegistration().getServiceUrl(); - String statusName = switch (status) { - case STATUS_UP -> "服务上线"; // 实例成功启动并可以正常处理请求 - case STATUS_OFFLINE -> "服务离线"; //实例被手动或自动地从服务中移除 - case STATUS_RESTRICTED -> "服务受限"; //表示实例在某些方面受限,可能无法完全提供所有服务 - case STATUS_OUT_OF_SERVICE -> "停止服务状态"; //表示实例已被标记为停止提供服务,可能是计划内维护或测试 - case STATUS_DOWN -> "服务下线"; //实例因崩溃、错误或其他原因停止运行 - case STATUS_UNKNOWN -> "服务未知异常"; //监控系统无法确定实例的当前状态 - default -> "未知状态"; //没有匹配的状态 - }; - log.info("Instance Status Change: 状态名称【{}】, 注册名称【{}】, 实例ID【{}】, 状态【{}】, 服务URL【{}】", - statusName, registName, instanceId, status, serviceUrl); - } - }); - } -} diff --git a/im-admin/ruoyi-extend/ruoyi-monitor-admin/src/main/resources/application.yml b/im-admin/ruoyi-extend/ruoyi-monitor-admin/src/main/resources/application.yml deleted file mode 100644 index 622c93d..0000000 --- a/im-admin/ruoyi-extend/ruoyi-monitor-admin/src/main/resources/application.yml +++ /dev/null @@ -1,48 +0,0 @@ -server: - port: 9090 -spring: - application: - name: ruoyi-monitor-admin - profiles: - active: @profiles.active@ - -logging: - config: classpath:logback-plus.xml - ---- # 监控中心服务端配置 -spring: - security: - user: - name: @monitor.username@ - password: @monitor.password@ - boot: - admin: - ui: - title: RuoYi-Vue-Plus服务监控中心 - context-path: /admin - ---- # Actuator 监控端点的配置项 -management: - endpoints: - web: - exposure: - include: '*' - endpoint: - health: - show-details: ALWAYS - logfile: - external-file: ./logs/ruoyi-monitor-admin.log - ---- # 监控配置 -spring.boot.admin.client: - # 增加客户端开关 - enabled: true - # 设置 Spring Boot Admin Server 地址 - url: http://localhost:9090/admin - instance: - service-host-type: IP - metadata: - username: ${spring.boot.admin.client.username} - userpassword: ${spring.boot.admin.client.password} - username: @monitor.username@ - password: @monitor.password@ diff --git a/im-admin/ruoyi-extend/ruoyi-monitor-admin/src/main/resources/banner.txt b/im-admin/ruoyi-extend/ruoyi-monitor-admin/src/main/resources/banner.txt deleted file mode 100644 index 5d24152..0000000 --- a/im-admin/ruoyi-extend/ruoyi-monitor-admin/src/main/resources/banner.txt +++ /dev/null @@ -1,8 +0,0 @@ -Application Version: ${revision} -Spring Boot Version: ${spring-boot.version} - __ __ _ _ _ _ -| \/ | (_) | /\ | | (_) -| \ / | ___ _ __ _| |_ ___ _ __ ______ / \ __| |_ __ ___ _ _ __ -| |\/| |/ _ \| '_ \| | __/ _ \| '__|______/ /\ \ / _` | '_ ` _ \| | '_ \ -| | | | (_) | | | | | || (_) | | / ____ \ (_| | | | | | | | | | | -|_| |_|\___/|_| |_|_|\__\___/|_| /_/ \_\__,_|_| |_| |_|_|_| |_| diff --git a/im-admin/ruoyi-extend/ruoyi-monitor-admin/src/main/resources/logback-plus.xml b/im-admin/ruoyi-extend/ruoyi-monitor-admin/src/main/resources/logback-plus.xml deleted file mode 100644 index 16bb937..0000000 --- a/im-admin/ruoyi-extend/ruoyi-monitor-admin/src/main/resources/logback-plus.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - logback - - - - - - - ${console.log.pattern} - utf-8 - - - - - ${log.path}.log - - ${log.path}.%d{yyyy-MM-dd}.log - - 60 - - - ${log.pattern} - - - - - - - - - \ No newline at end of file diff --git a/im-admin/ruoyi-extend/ruoyi-snailjob-server/Dockerfile b/im-admin/ruoyi-extend/ruoyi-snailjob-server/Dockerfile deleted file mode 100644 index a66ca66..0000000 --- a/im-admin/ruoyi-extend/ruoyi-snailjob-server/Dockerfile +++ /dev/null @@ -1,21 +0,0 @@ -# 贝尔实验室 Spring 官方推荐镜像 JDK下载地址 https://bell-sw.com/pages/downloads/ -FROM bellsoft/liberica-openjdk-debian:17.0.11-cds -#FROM bellsoft/liberica-openjdk-debian:21.0.3-cds -#FROM findepi/graalvm:java17-native - -LABEL maintainer="Lion Li" - -RUN mkdir -p /ruoyi/snailjob/logs - -WORKDIR /ruoyi/snailjob - -ENV LANG=C.UTF-8 LC_ALL=C.UTF-8 JAVA_OPTS="-Xms512m -Xmx1024m" - -EXPOSE 8800 -EXPOSE 17888 - -ADD ./target/ruoyi-snailjob-server.jar ./app.jar - -ENTRYPOINT java -Djava.security.egd=file:/dev/./urandom \ - -XX:+HeapDumpOnOutOfMemoryError -XX:+UseZGC ${JAVA_OPTS} \ - -jar app.jar diff --git a/im-admin/ruoyi-extend/ruoyi-snailjob-server/pom.xml b/im-admin/ruoyi-extend/ruoyi-snailjob-server/pom.xml deleted file mode 100644 index 0b3afd3..0000000 --- a/im-admin/ruoyi-extend/ruoyi-snailjob-server/pom.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - org.dromara - ruoyi-extend - ${revision} - - 4.0.0 - jar - ruoyi-snailjob-server - - - - com.aizuda - snail-job-server-starter - ${snailjob.version} - - - org.scala-lang - scala-library - - - - - - org.scala-lang - scala-library - 2.13.9 - - - - de.codecentric - spring-boot-admin-starter-client - ${spring-boot-admin.version} - - - - - ${project.artifactId} - - - org.springframework.boot - spring-boot-maven-plugin - ${spring-boot.version} - - - - repackage - - - - - - - - diff --git a/im-admin/ruoyi-extend/ruoyi-snailjob-server/src/main/java/com/aizuda/snailjob/server/starter/filter/ActuatorAuthFilter.java b/im-admin/ruoyi-extend/ruoyi-snailjob-server/src/main/java/com/aizuda/snailjob/server/starter/filter/ActuatorAuthFilter.java deleted file mode 100644 index e3a6892..0000000 --- a/im-admin/ruoyi-extend/ruoyi-snailjob-server/src/main/java/com/aizuda/snailjob/server/starter/filter/ActuatorAuthFilter.java +++ /dev/null @@ -1,64 +0,0 @@ -package com.aizuda.snailjob.server.starter.filter; - -import jakarta.servlet.*; -import jakarta.servlet.http.HttpServletRequest; -import jakarta.servlet.http.HttpServletResponse; - -import java.io.IOException; -import java.nio.charset.StandardCharsets; -import java.util.Base64; - -public class ActuatorAuthFilter implements Filter { - - private final String username; - private final String password; - - public ActuatorAuthFilter(String username, String password) { - this.username = username; - this.password = password; - } - - @Override - public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { - HttpServletRequest request = (HttpServletRequest) servletRequest; - HttpServletResponse response = (HttpServletResponse) servletResponse; - - // 获取 Authorization 头 - String authHeader = request.getHeader("Authorization"); - - if (authHeader == null || !authHeader.startsWith("Basic ")) { - // 如果没有提供 Authorization 或者格式不对,则返回 401 - response.setHeader("WWW-Authenticate", "Basic realm=\"realm\""); - response.sendError(HttpServletResponse.SC_UNAUTHORIZED, "Unauthorized"); - return; - } - - // 解码 Base64 编码的用户名和密码 - String base64Credentials = authHeader.substring("Basic ".length()); - byte[] credDecoded = Base64.getDecoder().decode(base64Credentials); - String credentials = new String(credDecoded, StandardCharsets.UTF_8); - String[] split = credentials.split(":"); - if (split.length != 2) { - response.setHeader("WWW-Authenticate", "Basic realm=\"realm\""); - response.sendError(HttpServletResponse.SC_UNAUTHORIZED, "Unauthorized"); - return; - } - // 验证用户名和密码 - if (!username.equals(split[0]) && password.equals(split[1])) { - response.setHeader("WWW-Authenticate", "Basic realm=\"realm\""); - response.sendError(HttpServletResponse.SC_UNAUTHORIZED, "Unauthorized"); - return; - } - // 如果认证成功,继续处理请求 - filterChain.doFilter(request, response); - } - - @Override - public void init(FilterConfig filterConfig) { - } - - @Override - public void destroy() { - } - -} diff --git a/im-admin/ruoyi-extend/ruoyi-snailjob-server/src/main/java/com/aizuda/snailjob/server/starter/filter/SecurityConfig.java b/im-admin/ruoyi-extend/ruoyi-snailjob-server/src/main/java/com/aizuda/snailjob/server/starter/filter/SecurityConfig.java deleted file mode 100644 index 3cae8f5..0000000 --- a/im-admin/ruoyi-extend/ruoyi-snailjob-server/src/main/java/com/aizuda/snailjob/server/starter/filter/SecurityConfig.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.aizuda.snailjob.server.starter.filter; - -import org.springframework.beans.factory.annotation.Value; -import org.springframework.boot.web.servlet.FilterRegistrationBean; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - -/** - * 权限安全配置 - * - * @author Lion Li - */ -@Configuration -public class SecurityConfig { - - @Value("${spring.boot.admin.client.username}") - private String username; - @Value("${spring.boot.admin.client.password}") - private String password; - - @Bean - public FilterRegistrationBean actuatorFilterRegistrationBean() { - FilterRegistrationBean registrationBean = new FilterRegistrationBean<>(); - registrationBean.setFilter(new ActuatorAuthFilter(username, password)); - registrationBean.addUrlPatterns("/actuator", "/actuator/**"); - return registrationBean; - } - -} diff --git a/im-admin/ruoyi-extend/ruoyi-snailjob-server/src/main/java/org/dromara/snailjob/SnailJobServerApplication.java b/im-admin/ruoyi-extend/ruoyi-snailjob-server/src/main/java/org/dromara/snailjob/SnailJobServerApplication.java deleted file mode 100644 index dfab068..0000000 --- a/im-admin/ruoyi-extend/ruoyi-snailjob-server/src/main/java/org/dromara/snailjob/SnailJobServerApplication.java +++ /dev/null @@ -1,19 +0,0 @@ -package org.dromara.snailjob; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; - -/** - * SnailJob Server 启动程序 - * - * @author opensnail - * @date 2024-05-17 - */ -@SpringBootApplication -public class SnailJobServerApplication { - - public static void main(String[] args) { - SpringApplication.run(com.aizuda.snailjob.server.SnailJobServerApplication.class, args); - } - -} diff --git a/im-admin/ruoyi-extend/ruoyi-snailjob-server/src/main/resources/application-dev.yml b/im-admin/ruoyi-extend/ruoyi-snailjob-server/src/main/resources/application-dev.yml deleted file mode 100644 index 3ed797c..0000000 --- a/im-admin/ruoyi-extend/ruoyi-snailjob-server/src/main/resources/application-dev.yml +++ /dev/null @@ -1,50 +0,0 @@ -spring: - datasource: - type: com.zaxxer.hikari.HikariDataSource - driver-class-name: com.mysql.cj.jdbc.Driver - url: jdbc:mysql://localhost:3306/ry-vue?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true - username: root - password: root - hikari: - connection-timeout: 30000 - validation-timeout: 5000 - minimum-idle: 10 - maximum-pool-size: 20 - idle-timeout: 600000 - max-lifetime: 900000 - keepaliveTime: 30000 - ---- # snail-job 服务端配置 -snail-job: - # 拉取重试数据的每批次的大小 - retry-pull-page-size: 1000 - # 拉取重试数据的每批次的大小 - job-pull-page-size: 1000 - # 服务端netty端口 - netty-port: 17888 - # 一个客户端每秒最多接收的重试数量指令 - limiter: 1000 - # 号段模式下步长配置 - step: 100 - # 日志保存时间(单位: day) - log-storage: 90 - # 回调配置 - callback: - #回调最大执行次数 - max-count: 288 - #间隔时间 - trigger-interval: 900 - retry-max-pull-count: 10 - ---- # 监控中心配置 -spring.boot.admin.client: - # 增加客户端开关 - enabled: true - url: http://localhost:9090/admin - instance: - service-host-type: IP - metadata: - username: ${spring.boot.admin.client.username} - userpassword: ${spring.boot.admin.client.password} - username: @monitor.username@ - password: @monitor.password@ diff --git a/im-admin/ruoyi-extend/ruoyi-snailjob-server/src/main/resources/application-prod.yml b/im-admin/ruoyi-extend/ruoyi-snailjob-server/src/main/resources/application-prod.yml deleted file mode 100644 index 1d830db..0000000 --- a/im-admin/ruoyi-extend/ruoyi-snailjob-server/src/main/resources/application-prod.yml +++ /dev/null @@ -1,50 +0,0 @@ -spring: - datasource: - type: com.zaxxer.hikari.HikariDataSource - driver-class-name: com.mysql.cj.jdbc.Driver - url: jdbc:mysql://localhost:3306/ry-vue?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true - username: root - password: root - hikari: - connection-timeout: 30000 - validation-timeout: 5000 - minimum-idle: 10 - maximum-pool-size: 20 - idle-timeout: 600000 - max-lifetime: 900000 - keepaliveTime: 30000 - ---- # snail-job 服务端配置 -snail-job: - # 拉取重试数据的每批次的大小 - retry-pull-page-size: 1000 - # 拉取重试数据的每批次的大小 - job-pull-page-size: 1000 - # 服务端 netty 端口 - netty-port: 17888 - # 一个客户端每秒最多接收的重试数量指令 - limiter: 1000 - # 号段模式下步长配置 - step: 100 - # 日志保存时间(单位: day) - log-storage: 90 - # 回调配置 - callback: - #回调最大执行次数 - max-count: 288 - #间隔时间 - trigger-interval: 900 - retry-max-pull-count: 10 - ---- # 监控中心配置 -spring.boot.admin.client: - # 增加客户端开关 - enabled: true - url: http://localhost:9090/admin - instance: - service-host-type: IP - metadata: - username: ${spring.boot.admin.client.username} - userpassword: ${spring.boot.admin.client.password} - username: @monitor.username@ - password: @monitor.password@ diff --git a/im-admin/ruoyi-extend/ruoyi-snailjob-server/src/main/resources/application.yml b/im-admin/ruoyi-extend/ruoyi-snailjob-server/src/main/resources/application.yml deleted file mode 100644 index ba6df45..0000000 --- a/im-admin/ruoyi-extend/ruoyi-snailjob-server/src/main/resources/application.yml +++ /dev/null @@ -1,39 +0,0 @@ -server: - port: 8800 - servlet: - context-path: /snail-job - -spring: - application: - name: ruoyi-snailjob-server - profiles: - active: @profiles.active@ - web: - resources: - static-locations: classpath:admin/ - -mybatis-plus: - typeAliasesPackage: com.aizuda.snailjob.template.datasource.persistence.po - global-config: - db-config: - where-strategy: NOT_EMPTY - capital-mode: false - logic-delete-value: 1 - logic-not-delete-value: 0 - configuration: - map-underscore-to-camel-case: true - cache-enabled: true - -logging: - config: classpath:logback-plus.xml - -management: - endpoints: - web: - exposure: - include: '*' - endpoint: - health: - show-details: ALWAYS - logfile: - external-file: ./logs/ruoyi-snailjob-server/console.log diff --git a/im-admin/ruoyi-extend/ruoyi-snailjob-server/src/main/resources/banner.txt b/im-admin/ruoyi-extend/ruoyi-snailjob-server/src/main/resources/banner.txt deleted file mode 100644 index adb96c5..0000000 --- a/im-admin/ruoyi-extend/ruoyi-snailjob-server/src/main/resources/banner.txt +++ /dev/null @@ -1,11 +0,0 @@ -Application Version: ${revision} -Spring Boot Version: ${spring-boot.version} - _ _ _ _ - (_) (_) | | - ___ _ __ __ _ _| |_ ___ | |__ ______ ___ ___ _ ____ _____ _ __ -/ __| '_ \ / _` | | | |/ _ \| '_ \______/ __|/ _ \ '__\ \ / / _ \ '__| -\__ \ | | | (_| | | | | (_) | |_) | \__ \ __/ | \ V / __/ | -|___/_| |_|\__,_|_|_| |\___/|_.__/ |___/\___|_| \_/ \___|_| - _/ | - |__/ - diff --git a/im-admin/ruoyi-extend/ruoyi-snailjob-server/src/main/resources/logback-plus.xml b/im-admin/ruoyi-extend/ruoyi-snailjob-server/src/main/resources/logback-plus.xml deleted file mode 100644 index a40262c..0000000 --- a/im-admin/ruoyi-extend/ruoyi-snailjob-server/src/main/resources/logback-plus.xml +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - - - - - ${console.log.pattern} - utf-8 - - - - - - ${log.path}/console.log - - - ${log.path}/console.%d{yyyy-MM-dd}.log - - 1 - - - ${log.pattern} - utf-8 - - - - INFO - - - - - ${log.path}/info.log - - ${log.path}/info.%d{yyyy-MM-dd}.log - 60 - - - ${log.pattern} - - - INFO - ACCEPT - DENY - - - - - ${log.path}/error.log - - ${log.path}/error.%d{yyyy-MM-dd}.log - - 60 - - - ${log.pattern} - - - ERROR - ACCEPT - DENY - - - - - 100 - 1024 - - - - - 100 - 1024 - - - - - - - - - - - - - - - diff --git a/im-admin/ruoyi-modules/pom.xml b/im-admin/ruoyi-modules/pom.xml index daff497..edcc77e 100644 --- a/im-admin/ruoyi-modules/pom.xml +++ b/im-admin/ruoyi-modules/pom.xml @@ -3,18 +3,15 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - ruoyi-vue-plus + im-admin org.dromara ${revision} 4.0.0 - ruoyi-demo ruoyi-generator - ruoyi-job ruoyi-system - ruoyi-workflow ruoyi-modules diff --git a/im-admin/ruoyi-modules/ruoyi-demo/pom.xml b/im-admin/ruoyi-modules/ruoyi-demo/pom.xml deleted file mode 100644 index 119fe61..0000000 --- a/im-admin/ruoyi-modules/ruoyi-demo/pom.xml +++ /dev/null @@ -1,108 +0,0 @@ - - - - org.dromara - ruoyi-modules - ${revision} - - 4.0.0 - - ruoyi-demo - - - demo模块 - - - - - - - org.dromara - ruoyi-common-core - - - - org.dromara - ruoyi-common-doc - - - - org.dromara - ruoyi-common-sms - - - - org.dromara - ruoyi-common-mail - - - - org.dromara - ruoyi-common-redis - - - - org.dromara - ruoyi-common-idempotent - - - - org.dromara - ruoyi-common-mybatis - - - - org.dromara - ruoyi-common-log - - - - org.dromara - ruoyi-common-excel - - - - org.dromara - ruoyi-common-security - - - - org.dromara - ruoyi-common-web - - - - org.dromara - ruoyi-common-ratelimiter - - - - org.dromara - ruoyi-common-translation - - - - org.dromara - ruoyi-common-sensitive - - - - org.dromara - ruoyi-common-encrypt - - - - org.dromara - ruoyi-common-tenant - - - - org.dromara - ruoyi-common-websocket - - - - - diff --git a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/MailController.java b/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/MailController.java deleted file mode 100644 index 47b4349..0000000 --- a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/MailController.java +++ /dev/null @@ -1,52 +0,0 @@ -package org.dromara.demo.controller; - -import org.dromara.common.core.domain.R; -import org.dromara.common.mail.utils.MailUtils; -import lombok.RequiredArgsConstructor; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import java.io.File; - - -/** - * 邮件发送案例 - * - * @author Michelle.Chung - */ -@Validated -@RequiredArgsConstructor -@RestController -@RequestMapping("/demo/mail") -public class MailController { - - /** - * 发送邮件 - * - * @param to 接收人 - * @param subject 标题 - * @param text 内容 - */ - @GetMapping("/sendSimpleMessage") - public R sendSimpleMessage(String to, String subject, String text) { - MailUtils.sendText(to, subject, text); - return R.ok(); - } - - /** - * 发送邮件(带附件) - * - * @param to 接收人 - * @param subject 标题 - * @param text 内容 - * @param filePath 附件路径 - */ - @GetMapping("/sendMessageWithAttachment") - public R sendMessageWithAttachment(String to, String subject, String text, String filePath) { - MailUtils.sendText(to, subject, text, new File(filePath)); - return R.ok(); - } - -} diff --git a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/RedisCacheController.java b/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/RedisCacheController.java deleted file mode 100644 index 341880c..0000000 --- a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/RedisCacheController.java +++ /dev/null @@ -1,95 +0,0 @@ -package org.dromara.demo.controller; - -import org.dromara.common.core.constant.CacheNames; -import org.dromara.common.core.domain.R; -import org.dromara.common.redis.utils.RedisUtils; -import lombok.RequiredArgsConstructor; -import org.springframework.cache.annotation.CacheEvict; -import org.springframework.cache.annotation.CachePut; -import org.springframework.cache.annotation.Cacheable; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import java.time.Duration; - -/** - * spring-cache 演示案例 - * - * @author Lion Li - */ -// 类级别 缓存统一配置 -//@CacheConfig(cacheNames = CacheNames.DEMO_CACHE) -@RequiredArgsConstructor -@RestController -@RequestMapping("/demo/cache") -public class RedisCacheController { - - /** - * 测试 @Cacheable - *

- * 表示这个方法有了缓存的功能,方法的返回值会被缓存下来 - * 下一次调用该方法前,会去检查是否缓存中已经有值 - * 如果有就直接返回,不调用方法 - * 如果没有,就调用方法,然后把结果缓存起来 - * 这个注解「一般用在查询方法上」 - *

- * 重点说明: 缓存注解严谨与其他筛选数据功能一起使用 - * 例如: 数据权限注解 会造成 缓存击穿 与 数据不一致问题 - *

- * cacheNames 命名规则 查看 {@link CacheNames} 注释 支持多参数 - */ - @Cacheable(cacheNames = "demo:cache#60s#10m#20", key = "#key", condition = "#key != null") - @GetMapping("/test1") - public R test1(String key, String value) { - return R.ok("操作成功", value); - } - - /** - * 测试 @CachePut - *

- * 加了@CachePut注解的方法,会把方法的返回值put到缓存里面缓存起来,供其它地方使用 - * 它「通常用在新增或者实时更新方法上」 - *

- * cacheNames 命名规则 查看 {@link CacheNames} 注释 支持多参数 - */ - @CachePut(cacheNames = CacheNames.DEMO_CACHE, key = "#key", condition = "#key != null") - @GetMapping("/test2") - public R test2(String key, String value) { - return R.ok("操作成功", value); - } - - /** - * 测试 @CacheEvict - *

- * 使用了CacheEvict注解的方法,会清空指定缓存 - * 「一般用在删除的方法上」 - *

- * cacheNames 命名规则 查看 {@link CacheNames} 注释 支持多参数 - */ - @CacheEvict(cacheNames = CacheNames.DEMO_CACHE, key = "#key", condition = "#key != null") - @GetMapping("/test3") - public R test3(String key, String value) { - return R.ok("操作成功", value); - } - - /** - * 测试设置过期时间 - * 手动设置过期时间10秒 - * 11秒后获取 判断是否相等 - */ - @GetMapping("/test6") - public R test6(String key, String value) { - RedisUtils.setCacheObject(key, value); - boolean flag = RedisUtils.expire(key, Duration.ofSeconds(10)); - System.out.println("***********" + flag); - try { - Thread.sleep(11 * 1000); - } catch (InterruptedException e) { - e.printStackTrace(); - } - Object obj = RedisUtils.getCacheObject(key); - return R.ok(value.equals(obj)); - } - -} diff --git a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/RedisLockController.java b/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/RedisLockController.java deleted file mode 100644 index b7e0962..0000000 --- a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/RedisLockController.java +++ /dev/null @@ -1,71 +0,0 @@ -package org.dromara.demo.controller; - -import com.baomidou.lock.LockInfo; -import com.baomidou.lock.LockTemplate; -import com.baomidou.lock.annotation.Lock4j; -import com.baomidou.lock.executor.RedissonLockExecutor; -import org.dromara.common.core.domain.R; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import java.time.LocalTime; - - -/** - * 测试分布式锁的样例 - * - * @author shenxinquan - */ -@Slf4j -@RestController -@RequestMapping("/demo/redisLock") -public class RedisLockController { - - @Autowired - private LockTemplate lockTemplate; - - /** - * 测试lock4j 注解 - */ - @Lock4j(keys = {"#key"}) - @GetMapping("/testLock4j") - public R testLock4j(String key, String value) { - System.out.println("start:" + key + ",time:" + LocalTime.now().toString()); - try { - Thread.sleep(10000); - } catch (InterruptedException e) { - e.printStackTrace(); - } - System.out.println("end :" + key + ",time:" + LocalTime.now().toString()); - return R.ok("操作成功", value); - } - - /** - * 测试lock4j 工具 - */ - @GetMapping("/testLock4jLockTemplate") - public R testLock4jLockTemplate(String key, String value) { - final LockInfo lockInfo = lockTemplate.lock(key, 30000L, 5000L, RedissonLockExecutor.class); - if (null == lockInfo) { - throw new RuntimeException("业务处理中,请稍后再试"); - } - // 获取锁成功,处理业务 - try { - try { - Thread.sleep(8000); - } catch (InterruptedException e) { - // - } - System.out.println("执行简单方法1 , 当前线程:" + Thread.currentThread().getName()); - } finally { - //释放锁 - lockTemplate.releaseLock(lockInfo); - } - //结束 - return R.ok("操作成功", value); - } - -} diff --git a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/RedisPubSubController.java b/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/RedisPubSubController.java deleted file mode 100644 index bdbf033..0000000 --- a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/RedisPubSubController.java +++ /dev/null @@ -1,47 +0,0 @@ -package org.dromara.demo.controller; - -import org.dromara.common.core.domain.R; -import org.dromara.common.redis.utils.RedisUtils; -import lombok.RequiredArgsConstructor; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - * Redis 发布订阅 演示案例 - * - * @author Lion Li - */ -@RequiredArgsConstructor -@RestController -@RequestMapping("/demo/redis/pubsub") -public class RedisPubSubController { - - /** - * 发布消息 - * - * @param key 通道Key - * @param value 发送内容 - */ - @GetMapping("/pub") - public R pub(String key, String value) { - RedisUtils.publish(key, value, consumer -> { - System.out.println("发布通道 => " + key + ", 发送值 => " + value); - }); - return R.ok("操作成功"); - } - - /** - * 订阅消息 - * - * @param key 通道Key - */ - @GetMapping("/sub") - public R sub(String key) { - RedisUtils.subscribe(key, String.class, msg -> { - System.out.println("订阅通道 => " + key + ", 接收值 => " + msg); - }); - return R.ok("操作成功"); - } - -} diff --git a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/RedisRateLimiterController.java b/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/RedisRateLimiterController.java deleted file mode 100644 index f8adf7d..0000000 --- a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/RedisRateLimiterController.java +++ /dev/null @@ -1,64 +0,0 @@ -package org.dromara.demo.controller; - -import org.dromara.common.core.domain.R; -import org.dromara.common.ratelimiter.annotation.RateLimiter; -import org.dromara.common.ratelimiter.enums.LimitType; -import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - - -/** - * 测试分布式限流样例 - * - * @author Lion Li - */ -@Slf4j -@RestController -@RequestMapping("/demo/rateLimiter") -public class RedisRateLimiterController { - - /** - * 测试全局限流 - * 全局影响 - */ - @RateLimiter(count = 2, time = 10) - @GetMapping("/test") - public R test(String value) { - return R.ok("操作成功", value); - } - - /** - * 测试请求IP限流 - * 同一IP请求受影响 - */ - @RateLimiter(count = 2, time = 10, limitType = LimitType.IP) - @GetMapping("/testip") - public R testip(String value) { - return R.ok("操作成功", value); - } - - /** - * 测试集群实例限流 - * 启动两个后端服务互不影响 - */ - @RateLimiter(count = 2, time = 10, limitType = LimitType.CLUSTER) - @GetMapping("/testcluster") - public R testcluster(String value) { - return R.ok("操作成功", value); - } - - /** - * 测试请求IP限流(key基于参数获取) - * 同一IP请求受影响 - * - * 简单变量获取 #变量 复杂表达式 #{#变量 != 1 ? 1 : 0} - */ - @RateLimiter(count = 2, time = 10, limitType = LimitType.IP, key = "#value") - @GetMapping("/testObj") - public R testObj(String value) { - return R.ok("操作成功", value); - } - -} diff --git a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/SmsController.java b/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/SmsController.java deleted file mode 100644 index b993f60..0000000 --- a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/SmsController.java +++ /dev/null @@ -1,82 +0,0 @@ -package org.dromara.demo.controller; - -import lombok.RequiredArgsConstructor; -import org.dromara.common.core.domain.R; -import org.dromara.sms4j.api.SmsBlend; -import org.dromara.sms4j.api.entity.SmsResponse; -import org.dromara.sms4j.core.factory.SmsFactory; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import java.util.LinkedHashMap; - -/** - * 短信演示案例 - * 请先阅读文档 否则无法使用 - * - * @author Lion Li - * @version 4.2.0 - */ -@Validated -@RequiredArgsConstructor -@RestController -@RequestMapping("/demo/sms") -public class SmsController { - /** - * 发送短信Aliyun - * - * @param phones 电话号 - * @param templateId 模板ID - */ - @GetMapping("/sendAliyun") - public R sendAliyun(String phones, String templateId) { - LinkedHashMap map = new LinkedHashMap<>(1); - map.put("code", "1234"); - SmsBlend smsBlend = SmsFactory.getSmsBlend("config1"); - SmsResponse smsResponse = smsBlend.sendMessage(phones, templateId, map); - return R.ok(smsResponse); - } - - /** - * 发送短信Tencent - * - * @param phones 电话号 - * @param templateId 模板ID - */ - @GetMapping("/sendTencent") - public R sendTencent(String phones, String templateId) { - LinkedHashMap map = new LinkedHashMap<>(1); -// map.put("2", "测试测试"); - map.put("1", "1234"); - SmsBlend smsBlend = SmsFactory.getSmsBlend("config2"); - SmsResponse smsResponse = smsBlend.sendMessage(phones, templateId, map); - return R.ok(smsResponse); - } - - /** - * 添加黑名单 - * - * @param phone 手机号 - */ - @GetMapping("/addBlacklist") - public R addBlacklist(String phone){ - SmsBlend smsBlend = SmsFactory.getSmsBlend("config1"); - smsBlend.joinInBlacklist(phone); - return R.ok(); - } - - /** - * 移除黑名单 - * - * @param phone 手机号 - */ - @GetMapping("/removeBlacklist") - public R removeBlacklist(String phone){ - SmsBlend smsBlend = SmsFactory.getSmsBlend("config1"); - smsBlend.removeFromBlacklist(phone); - return R.ok(); - } - -} diff --git a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/Swagger3DemoController.java b/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/Swagger3DemoController.java deleted file mode 100644 index bb02f98..0000000 --- a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/Swagger3DemoController.java +++ /dev/null @@ -1,31 +0,0 @@ -package org.dromara.demo.controller; - -import org.dromara.common.core.domain.R; -import org.springframework.http.MediaType; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestPart; -import org.springframework.web.bind.annotation.RestController; -import org.springframework.web.multipart.MultipartFile; - -/** - * swagger3 用法示例 - * - * @author Lion Li - */ -@RestController -@RequestMapping("/swagger/demo") -public class Swagger3DemoController { - - /** - * 上传请求 - * 必须使用 @RequestPart 注解标注为文件 - * - * @param file 文件 - */ - @PostMapping(value = "/upload", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) - public R upload(@RequestPart("file") MultipartFile file) { - return R.ok("操作成功", file.getOriginalFilename()); - } - -} diff --git a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/TestBatchController.java b/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/TestBatchController.java deleted file mode 100644 index af8c77b..0000000 --- a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/TestBatchController.java +++ /dev/null @@ -1,90 +0,0 @@ -package org.dromara.demo.controller; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import org.dromara.common.core.domain.R; -import org.dromara.common.web.core.BaseController; -import org.dromara.demo.domain.TestDemo; -import org.dromara.demo.mapper.TestDemoMapper; -import lombok.RequiredArgsConstructor; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import java.util.ArrayList; -import java.util.List; - -/** - * 测试批量方法 - * - * @author Lion Li - * @date 2021-05-30 - */ -@RequiredArgsConstructor -@RestController -@RequestMapping("/demo/batch") -public class TestBatchController extends BaseController { - - /** - * 为了便于测试 直接引入mapper - */ - private final TestDemoMapper testDemoMapper; - - /** - * 新增批量方法 可完美替代 saveBatch 秒级插入上万数据 (对mysql负荷较大) - *

- * 3.5.0 版本 增加 rewriteBatchedStatements=true 批处理参数 使 MP 原生批处理可以达到同样的速度 - */ - @PostMapping("/add") -// @DS("slave") - public R add() { - List list = new ArrayList<>(); - for (int i = 0; i < 1000; i++) { - TestDemo testDemo = new TestDemo(); - testDemo.setOrderNum(-1); - testDemo.setTestKey("批量新增"); - testDemo.setValue("测试新增"); - list.add(testDemo); - } - return toAjax(testDemoMapper.insertBatch(list)); - } - - /** - * 新增或更新 可完美替代 saveOrUpdateBatch 高性能 - *

- * 3.5.0 版本 增加 rewriteBatchedStatements=true 批处理参数 使 MP 原生批处理可以达到同样的速度 - */ - @PostMapping("/addOrUpdate") -// @DS("slave") - public R addOrUpdate() { - List list = new ArrayList<>(); - for (int i = 0; i < 1000; i++) { - TestDemo testDemo = new TestDemo(); - testDemo.setOrderNum(-1); - testDemo.setTestKey("批量新增"); - testDemo.setValue("测试新增"); - list.add(testDemo); - } - testDemoMapper.insertBatch(list); - for (int i = 0; i < list.size(); i++) { - TestDemo testDemo = list.get(i); - testDemo.setTestKey("批量新增或修改"); - testDemo.setValue("批量新增或修改"); - if (i % 2 == 0) { - testDemo.setId(null); - } - } - return toAjax(testDemoMapper.insertOrUpdateBatch(list)); - } - - /** - * 删除批量方法 - */ - @DeleteMapping() -// @DS("slave") - public R remove() { - return toAjax(testDemoMapper.delete(new LambdaQueryWrapper() - .eq(TestDemo::getOrderNum, -1L))); - } - -} diff --git a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/TestDemoController.java b/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/TestDemoController.java deleted file mode 100644 index f31c540..0000000 --- a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/TestDemoController.java +++ /dev/null @@ -1,147 +0,0 @@ -package org.dromara.demo.controller; - -import cn.dev33.satoken.annotation.SaCheckPermission; -import org.dromara.common.core.domain.R; -import org.dromara.common.core.utils.MapstructUtils; -import org.dromara.common.core.utils.ValidatorUtils; -import org.dromara.common.core.validate.AddGroup; -import org.dromara.common.core.validate.EditGroup; -import org.dromara.common.core.validate.QueryGroup; -import org.dromara.common.web.core.BaseController; -import org.dromara.common.idempotent.annotation.RepeatSubmit; -import org.dromara.common.mybatis.core.page.PageQuery; -import org.dromara.common.mybatis.core.page.TableDataInfo; -import org.dromara.common.excel.core.ExcelResult; -import org.dromara.common.excel.utils.ExcelUtil; -import org.dromara.common.log.annotation.Log; -import org.dromara.common.log.enums.BusinessType; -import org.dromara.demo.domain.TestDemo; -import org.dromara.demo.domain.bo.TestDemoBo; -import org.dromara.demo.domain.bo.TestDemoImportVo; -import org.dromara.demo.domain.vo.TestDemoVo; -import org.dromara.demo.service.ITestDemoService; -import lombok.RequiredArgsConstructor; -import org.springframework.http.MediaType; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; - -import jakarta.servlet.http.HttpServletResponse; -import jakarta.validation.constraints.NotEmpty; -import jakarta.validation.constraints.NotNull; - -import java.util.*; -import java.util.concurrent.TimeUnit; - -/** - * 测试单表Controller - * - * @author Lion Li - * @date 2021-07-26 - */ -@Validated -@RequiredArgsConstructor -@RestController -@RequestMapping("/demo/demo") -public class TestDemoController extends BaseController { - - private final ITestDemoService testDemoService; - - /** - * 查询测试单表列表 - */ - @SaCheckPermission("demo:demo:list") - @GetMapping("/list") - public TableDataInfo list(@Validated(QueryGroup.class) TestDemoBo bo, PageQuery pageQuery) { - return testDemoService.queryPageList(bo, pageQuery); - } - - /** - * 自定义分页查询 - */ - @SaCheckPermission("demo:demo:list") - @GetMapping("/page") - public TableDataInfo page(@Validated(QueryGroup.class) TestDemoBo bo, PageQuery pageQuery) { - return testDemoService.customPageList(bo, pageQuery); - } - - /** - * 导入数据 - * - * @param file 导入文件 - */ - @Log(title = "测试单表", businessType = BusinessType.IMPORT) - @SaCheckPermission("demo:demo:import") - @PostMapping(value = "/importData", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) - public R importData(@RequestPart("file") MultipartFile file) throws Exception { - ExcelResult excelResult = ExcelUtil.importExcel(file.getInputStream(), TestDemoImportVo.class, true); - List list = MapstructUtils.convert(excelResult.getList(), TestDemo.class); - testDemoService.saveBatch(list); - return R.ok(excelResult.getAnalysis()); - } - - /** - * 导出测试单表列表 - */ - @SaCheckPermission("demo:demo:export") - @Log(title = "测试单表", businessType = BusinessType.EXPORT) - @PostMapping("/export") - public void export(@Validated TestDemoBo bo, HttpServletResponse response) { - List list = testDemoService.queryList(bo); - // 测试雪花id导出 -// for (TestDemoVo vo : list) { -// vo.setId(1234567891234567893L); -// } - ExcelUtil.exportExcel(list, "测试单表", TestDemoVo.class, response); - } - - /** - * 获取测试单表详细信息 - * - * @param id 测试ID - */ - @SaCheckPermission("demo:demo:query") - @GetMapping("/{id}") - public R getInfo(@NotNull(message = "主键不能为空") - @PathVariable("id") Long id) { - return R.ok(testDemoService.queryById(id)); - } - - /** - * 新增测试单表 - */ - @SaCheckPermission("demo:demo:add") - @Log(title = "测试单表", businessType = BusinessType.INSERT) - @RepeatSubmit(interval = 2, timeUnit = TimeUnit.SECONDS, message = "{repeat.submit.message}") - @PostMapping() - public R add(@RequestBody TestDemoBo bo) { - // 使用校验工具对标 @Validated(AddGroup.class) 注解 - // 用于在非 Controller 的地方校验对象 - ValidatorUtils.validate(bo, AddGroup.class); - return toAjax(testDemoService.insertByBo(bo)); - } - - /** - * 修改测试单表 - */ - @SaCheckPermission("demo:demo:edit") - @Log(title = "测试单表", businessType = BusinessType.UPDATE) - @RepeatSubmit - @PutMapping() - public R edit(@Validated(EditGroup.class) @RequestBody TestDemoBo bo) { - return toAjax(testDemoService.updateByBo(bo)); - } - - /** - * 删除测试单表 - * - * @param ids 测试ID串 - */ - @SaCheckPermission("demo:demo:remove") - @Log(title = "测试单表", businessType = BusinessType.DELETE) - @DeleteMapping("/{ids}") - public R remove(@NotEmpty(message = "主键不能为空") - @PathVariable Long[] ids) { - return toAjax(testDemoService.deleteWithValidByIds(Arrays.asList(ids), true)); - } -} diff --git a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/TestEncryptController.java b/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/TestEncryptController.java deleted file mode 100644 index 2b6886d..0000000 --- a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/TestEncryptController.java +++ /dev/null @@ -1,55 +0,0 @@ -package org.dromara.demo.controller; - -import org.dromara.common.core.domain.R; -import org.dromara.demo.domain.TestDemoEncrypt; -import org.dromara.demo.mapper.TestDemoEncryptMapper; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import java.util.HashMap; -import java.util.Map; - - -/** - * 测试数据库加解密功能 - * - * @author Lion Li - */ -@Validated -@RestController -@RequestMapping("/demo/encrypt") -public class TestEncryptController { - - @Autowired - private TestDemoEncryptMapper mapper; - @Value("${mybatis-encryptor.enable}") - private Boolean encryptEnable; - - /** - * 测试数据库加解密 - * - * @param key 测试key - * @param value 测试value - */ - @GetMapping() - public R> test(String key, String value) { - if (!encryptEnable) { - throw new RuntimeException("加密功能未开启!"); - } - Map map = new HashMap<>(2); - TestDemoEncrypt demo = new TestDemoEncrypt(); - demo.setTestKey(key); - demo.setValue(value); - mapper.insert(demo); - map.put("加密", demo); - TestDemoEncrypt testDemo = mapper.selectById(demo.getId()); - map.put("解密", testDemo); - return R.ok(map); - } - - -} diff --git a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/TestExcelController.java b/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/TestExcelController.java deleted file mode 100644 index 3fd124c..0000000 --- a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/TestExcelController.java +++ /dev/null @@ -1,160 +0,0 @@ -package org.dromara.demo.controller; - -import cn.hutool.core.collection.CollUtil; -import jakarta.servlet.http.HttpServletResponse; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.RequiredArgsConstructor; -import org.dromara.common.excel.core.ExcelResult; -import org.dromara.common.excel.utils.ExcelUtil; -import org.dromara.demo.domain.vo.ExportDemoVo; -import org.dromara.demo.listener.ExportDemoListener; -import org.dromara.demo.service.IExportExcelService; -import org.springframework.http.MediaType; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -/** - * 测试Excel功能 - * - * @author Lion Li - */ -@RequiredArgsConstructor -@RestController -@RequestMapping("/demo/excel") -public class TestExcelController { - - private final IExportExcelService exportExcelService; - - /** - * 单列表多数据 - */ - @GetMapping("/exportTemplateOne") - public void exportTemplateOne(HttpServletResponse response) { - Map map = new HashMap<>(); - map.put("title", "单列表多数据"); - map.put("test1", "数据测试1"); - map.put("test2", "数据测试2"); - map.put("test3", "数据测试3"); - map.put("test4", "数据测试4"); - map.put("testTest", "666"); - List list = new ArrayList<>(); - list.add(new TestObj("单列表测试1", "列表测试1", "列表测试2", "列表测试3", "列表测试4")); - list.add(new TestObj("单列表测试2", "列表测试5", "列表测试6", "列表测试7", "列表测试8")); - list.add(new TestObj("单列表测试3", "列表测试9", "列表测试10", "列表测试11", "列表测试12")); - ExcelUtil.exportTemplate(CollUtil.newArrayList(map, list), "单列表.xlsx", "excel/单列表.xlsx", response); - } - - /** - * 多列表多数据 - */ - @GetMapping("/exportTemplateMuliti") - public void exportTemplateMuliti(HttpServletResponse response) { - Map map = new HashMap<>(); - map.put("title1", "标题1"); - map.put("title2", "标题2"); - map.put("title3", "标题3"); - map.put("title4", "标题4"); - map.put("author", "Lion Li"); - List list1 = new ArrayList<>(); - list1.add(new TestObj1("list1测试1", "list1测试2", "list1测试3")); - list1.add(new TestObj1("list1测试4", "list1测试5", "list1测试6")); - list1.add(new TestObj1("list1测试7", "list1测试8", "list1测试9")); - List list2 = new ArrayList<>(); - list2.add(new TestObj1("list2测试1", "list2测试2", "list2测试3")); - list2.add(new TestObj1("list2测试4", "list2测试5", "list2测试6")); - List list3 = new ArrayList<>(); - list3.add(new TestObj1("list3测试1", "list3测试2", "list3测试3")); - List list4 = new ArrayList<>(); - list4.add(new TestObj1("list4测试1", "list4测试2", "list4测试3")); - list4.add(new TestObj1("list4测试4", "list4测试5", "list4测试6")); - list4.add(new TestObj1("list4测试7", "list4测试8", "list4测试9")); - list4.add(new TestObj1("list4测试10", "list4测试11", "list4测试12")); - Map multiListMap = new HashMap<>(); - multiListMap.put("map", map); - multiListMap.put("data1", list1); - multiListMap.put("data2", list2); - multiListMap.put("data3", list3); - multiListMap.put("data4", list4); - ExcelUtil.exportTemplateMultiList(multiListMap, "多列表.xlsx", "excel/多列表.xlsx", response); - } - - /** - * 导出下拉框 - * - * @param response / - */ - @GetMapping("/exportWithOptions") - public void exportWithOptions(HttpServletResponse response) { - exportExcelService.exportWithOptions(response); - } - - /** - * 多个sheet导出 - */ - @GetMapping("/exportTemplateMultiSheet") - public void exportTemplateMultiSheet(HttpServletResponse response) { - List list1 = new ArrayList<>(); - list1.add(new TestObj1("list1测试1", "list1测试2", "list1测试3")); - list1.add(new TestObj1("list1测试4", "list1测试5", "list1测试6")); - List list2 = new ArrayList<>(); - list2.add(new TestObj1("list2测试1", "list2测试2", "list2测试3")); - list2.add(new TestObj1("list2测试4", "list2测试5", "list2测试6")); - List list3 = new ArrayList<>(); - list3.add(new TestObj1("list3测试1", "list3测试2", "list3测试3")); - list3.add(new TestObj1("list3测试4", "list3测试5", "list3测试6")); - List list4 = new ArrayList<>(); - list4.add(new TestObj1("list4测试1", "list4测试2", "list4测试3")); - list4.add(new TestObj1("list4测试4", "list4测试5", "list4测试6")); - - List> list = new ArrayList<>(); - Map sheetMap1 = new HashMap<>(); - sheetMap1.put("data1", list1); - Map sheetMap2 = new HashMap<>(); - sheetMap2.put("data2", list2); - Map sheetMap3 = new HashMap<>(); - sheetMap3.put("data3", list3); - Map sheetMap4 = new HashMap<>(); - sheetMap4.put("data4", list4); - - list.add(sheetMap1); - list.add(sheetMap2); - list.add(sheetMap3); - list.add(sheetMap4); - ExcelUtil.exportTemplateMultiSheet(list, "多sheet列表", "excel/多sheet列表.xlsx", response); - } - - /** - * 导入表格 - */ - @PostMapping(value = "/importWithOptions", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) - public List importWithOptions(@RequestPart("file") MultipartFile file) throws Exception { - // 处理解析结果 - ExcelResult excelResult = ExcelUtil.importExcel(file.getInputStream(), ExportDemoVo.class, new ExportDemoListener()); - return excelResult.getList(); - } - - @Data - @AllArgsConstructor - static class TestObj1 { - private String test1; - private String test2; - private String test3; - } - - @Data - @AllArgsConstructor - static class TestObj { - private String name; - private String list1; - private String list2; - private String list3; - private String list4; - } - -} diff --git a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/TestI18nController.java b/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/TestI18nController.java deleted file mode 100644 index 40393c5..0000000 --- a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/TestI18nController.java +++ /dev/null @@ -1,71 +0,0 @@ -package org.dromara.demo.controller; - -import org.dromara.common.core.domain.R; -import org.dromara.common.core.utils.MessageUtils; -import lombok.Data; -import org.hibernate.validator.constraints.Range; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.NotNull; - - -/** - * 测试国际化 - * - * @author Lion Li - */ -@Validated -@RestController -@RequestMapping("/demo/i18n") -public class TestI18nController { - - /** - * 通过code获取国际化内容 - * code为 messages.properties 中的 key - *

- * 测试使用 user.register.success - * - * @param code 国际化code - */ - @GetMapping() - public R get(String code) { - return R.ok(MessageUtils.message(code)); - } - - /** - * Validator 校验国际化 - * 不传值 分别查看异常返回 - *

- * 测试使用 not.null - */ - @GetMapping("/test1") - public R test1(@NotBlank(message = "{not.null}") String str) { - return R.ok(str); - } - - /** - * Bean 校验国际化 - * 不传值 分别查看异常返回 - *

- * 测试使用 not.null - */ - @GetMapping("/test2") - public R test2(@Validated TestI18nBo bo) { - return R.ok(bo); - } - - @Data - public static class TestI18nBo { - - @NotBlank(message = "{not.null}") - private String name; - - @NotNull(message = "{not.null}") - @Range(min = 0, max = 100, message = "{length.not.valid}") - private Integer age; - } -} diff --git a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/TestSensitiveController.java b/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/TestSensitiveController.java deleted file mode 100644 index eba0552..0000000 --- a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/TestSensitiveController.java +++ /dev/null @@ -1,76 +0,0 @@ -package org.dromara.demo.controller; - -import org.dromara.common.core.domain.R; -import org.dromara.common.web.core.BaseController; -import org.dromara.common.sensitive.annotation.Sensitive; -import org.dromara.common.sensitive.core.SensitiveStrategy; -import lombok.Data; -import org.dromara.common.sensitive.core.SensitiveService; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - * 测试数据脱敏控制器 - *

- * 默认管理员不过滤 - * 需自行根据业务重写实现 - * - * @author Lion Li - * @version 3.6.0 - * @see SensitiveService - */ -@RestController -@RequestMapping("/demo/sensitive") -public class TestSensitiveController extends BaseController { - - /** - * 测试数据脱敏 - */ - @GetMapping("/test") - public R test() { - TestSensitive testSensitive = new TestSensitive(); - testSensitive.setIdCard("210397198608215431"); - testSensitive.setPhone("17640125371"); - testSensitive.setAddress("北京市朝阳区某某四合院1203室"); - testSensitive.setEmail("17640125371@163.com"); - testSensitive.setBankCard("6226456952351452853"); - return R.ok(testSensitive); - } - - @Data - static class TestSensitive { - - /** - * 身份证 - */ - @Sensitive(strategy = SensitiveStrategy.ID_CARD) - private String idCard; - - /** - * 电话 - */ - @Sensitive(strategy = SensitiveStrategy.PHONE, roleKey = "common") - private String phone; - - /** - * 地址 - */ - @Sensitive(strategy = SensitiveStrategy.ADDRESS, perms = "system:user:query") - private String address; - - /** - * 邮箱 - */ - @Sensitive(strategy = SensitiveStrategy.EMAIL, roleKey = "common", perms = "system:user:query1") - private String email; - - /** - * 银行卡 - */ - @Sensitive(strategy = SensitiveStrategy.BANK_CARD, roleKey = "common1", perms = "system:user:query") - private String bankCard; - - } - -} diff --git a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/TestTreeController.java b/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/TestTreeController.java deleted file mode 100644 index 5c55205..0000000 --- a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/TestTreeController.java +++ /dev/null @@ -1,107 +0,0 @@ -package org.dromara.demo.controller; - -import cn.dev33.satoken.annotation.SaCheckPermission; -import org.dromara.common.core.domain.R; -import org.dromara.common.core.validate.AddGroup; -import org.dromara.common.core.validate.EditGroup; -import org.dromara.common.core.validate.QueryGroup; -import org.dromara.common.web.core.BaseController; -import org.dromara.common.excel.utils.ExcelUtil; -import org.dromara.common.idempotent.annotation.RepeatSubmit; -import org.dromara.common.log.annotation.Log; -import org.dromara.common.log.enums.BusinessType; -import org.dromara.demo.domain.bo.TestTreeBo; -import org.dromara.demo.domain.vo.TestTreeVo; -import org.dromara.demo.service.ITestTreeService; -import lombok.RequiredArgsConstructor; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import jakarta.servlet.http.HttpServletResponse; -import jakarta.validation.constraints.NotEmpty; -import jakarta.validation.constraints.NotNull; -import java.util.Arrays; -import java.util.List; - -/** - * 测试树表Controller - * - * @author Lion Li - * @date 2021-07-26 - */ -@Validated -@RequiredArgsConstructor -@RestController -@RequestMapping("/demo/tree") -public class TestTreeController extends BaseController { - - private final ITestTreeService testTreeService; - - /** - * 查询测试树表列表 - */ - @SaCheckPermission("demo:tree:list") - @GetMapping("/list") - public R> list(@Validated(QueryGroup.class) TestTreeBo bo) { - List list = testTreeService.queryList(bo); - return R.ok(list); - } - - /** - * 导出测试树表列表 - */ - @SaCheckPermission("demo:tree:export") - @Log(title = "测试树表", businessType = BusinessType.EXPORT) - @GetMapping("/export") - public void export(@Validated TestTreeBo bo, HttpServletResponse response) { - List list = testTreeService.queryList(bo); - ExcelUtil.exportExcel(list, "测试树表", TestTreeVo.class, response); - } - - /** - * 获取测试树表详细信息 - * - * @param id 测试树ID - */ - @SaCheckPermission("demo:tree:query") - @GetMapping("/{id}") - public R getInfo(@NotNull(message = "主键不能为空") - @PathVariable("id") Long id) { - return R.ok(testTreeService.queryById(id)); - } - - /** - * 新增测试树表 - */ - @SaCheckPermission("demo:tree:add") - @Log(title = "测试树表", businessType = BusinessType.INSERT) - @RepeatSubmit - @PostMapping() - public R add(@Validated(AddGroup.class) @RequestBody TestTreeBo bo) { - return toAjax(testTreeService.insertByBo(bo)); - } - - /** - * 修改测试树表 - */ - @SaCheckPermission("demo:tree:edit") - @Log(title = "测试树表", businessType = BusinessType.UPDATE) - @RepeatSubmit - @PutMapping() - public R edit(@Validated(EditGroup.class) @RequestBody TestTreeBo bo) { - return toAjax(testTreeService.updateByBo(bo)); - } - - /** - * 删除测试树表 - * - * @param ids 测试树ID串 - */ - @SaCheckPermission("demo:tree:remove") - @Log(title = "测试树表", businessType = BusinessType.DELETE) - @DeleteMapping("/{ids}") - public R remove(@NotEmpty(message = "主键不能为空") - @PathVariable Long[] ids) { - return toAjax(testTreeService.deleteWithValidByIds(Arrays.asList(ids), true)); - } -} diff --git a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/WeSocketController.java b/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/WeSocketController.java deleted file mode 100644 index 699a5e6..0000000 --- a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/WeSocketController.java +++ /dev/null @@ -1,33 +0,0 @@ -package org.dromara.demo.controller; - -import org.dromara.common.core.domain.R; -import org.dromara.common.websocket.dto.WebSocketMessageDto; -import org.dromara.common.websocket.utils.WebSocketUtils; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - * WebSocket 演示案例 - * - * @author zendwang - */ -@RequiredArgsConstructor -@RestController -@RequestMapping("/demo/websocket") -@Slf4j -public class WeSocketController { - - /** - * 发布消息 - * - * @param dto 发送内容 - */ - @GetMapping("/send") - public R send(WebSocketMessageDto dto) throws InterruptedException { - WebSocketUtils.publishMessage(dto); - return R.ok("操作成功"); - } -} diff --git a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/package-info.java b/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/package-info.java deleted file mode 100644 index 16c30f8..0000000 --- a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/package-info.java +++ /dev/null @@ -1 +0,0 @@ -package org.dromara.demo.controller; diff --git a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/queue/BoundedQueueController.java b/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/queue/BoundedQueueController.java deleted file mode 100644 index 30ec27f..0000000 --- a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/queue/BoundedQueueController.java +++ /dev/null @@ -1,92 +0,0 @@ -package org.dromara.demo.controller.queue; - -import cn.dev33.satoken.annotation.SaIgnore; -import org.dromara.common.core.domain.R; -import org.dromara.common.redis.utils.QueueUtils; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.redisson.api.RBoundedBlockingQueue; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - * 有界队列 演示案例 - *

- * 轻量级队列 重量级数据量 请使用 MQ - *

- * 集群测试通过 同一个数据只会被消费一次 做好事务补偿 - * 集群测试流程 在其中一台发送数据 两端分别调用获取接口 一次获取一条 - * - * @author Lion Li - * @version 3.6.0 - */ -@Slf4j -@RequiredArgsConstructor -@RestController -@RequestMapping("/demo/queue/bounded") -public class BoundedQueueController { - - - /** - * 添加队列数据 - * - * @param queueName 队列名 - * @param capacity 容量 - */ - @GetMapping("/add") - public R add(String queueName, int capacity) { - // 用完了一定要销毁 否则会一直存在 - boolean b = QueueUtils.destroyBoundedQueue(queueName); - log.info("通道: {} , 删除: {}", queueName, b); - // 初始化设置一次即可 - if (QueueUtils.trySetBoundedQueueCapacity(queueName, capacity)) { - log.info("通道: {} , 设置容量: {}", queueName, capacity); - } else { - log.info("通道: {} , 设置容量失败", queueName); - return R.fail("操作失败"); - } - for (int i = 0; i < 11; i++) { - String data = "data-" + i; - boolean flag = QueueUtils.addBoundedQueueObject(queueName, data); - if (flag == false) { - log.info("通道: {} , 发送数据: {} 失败, 通道已满", queueName, data); - } else { - log.info("通道: {} , 发送数据: {}", queueName, data); - } - } - return R.ok("操作成功"); - } - - /** - * 删除队列数据 - * - * @param queueName 队列名 - */ - @GetMapping("/remove") - public R remove(String queueName) { - String data = "data-" + 5; - if (QueueUtils.removeBoundedQueueObject(queueName, data)) { - log.info("通道: {} , 删除数据: {}", queueName, data); - } else { - return R.fail("操作失败"); - } - return R.ok("操作成功"); - } - - /** - * 获取队列数据 - * - * @param queueName 队列名 - */ - @GetMapping("/get") - public R get(String queueName) { - String data; - do { - data = QueueUtils.getBoundedQueueObject(queueName); - log.info("通道: {} , 获取数据: {}", queueName, data); - } while (data != null); - return R.ok("操作成功"); - } - -} diff --git a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/queue/DelayedQueueController.java b/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/queue/DelayedQueueController.java deleted file mode 100644 index b6e51d3..0000000 --- a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/queue/DelayedQueueController.java +++ /dev/null @@ -1,97 +0,0 @@ -package org.dromara.demo.controller.queue; - -import cn.dev33.satoken.annotation.SaIgnore; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.dromara.common.core.domain.R; -import org.dromara.common.redis.utils.QueueUtils; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import java.util.concurrent.CompletableFuture; -import java.util.concurrent.TimeUnit; - -/** - * 延迟队列 演示案例 - *

- * 轻量级队列 重量级数据量 请使用 MQ - * 例如: 创建订单30分钟后过期处理 - *

- * 集群测试通过 同一个数据只会被消费一次 做好事务补偿 - * 集群测试流程 两台集群分别开启订阅 在其中一台发送数据 观察接收消息的规律 - * - * @author Lion Li - * @version 3.6.0 - */ -@SaIgnore -@Slf4j -@RequiredArgsConstructor -@RestController -@RequestMapping("/demo/queue/delayed") -public class DelayedQueueController { - - /** - * 订阅队列 - * - * @param queueName 队列名 - */ - @GetMapping("/subscribe") - public R subscribe(String queueName) { - log.info("通道: {} 监听中......", queueName); - // 项目初始化设置一次即可 - QueueUtils.subscribeBlockingQueue(queueName, (String orderNum) -> { - // 观察接收时间 - log.info("通道: {}, 收到数据: {}", queueName, orderNum); - return CompletableFuture.runAsync(() -> { - // 异步处理数据逻辑 不要在上方处理业务逻辑 - log.info("数据处理: {}", orderNum); - }); - }, true); - return R.ok("操作成功"); - } - - /** - * 添加队列数据 - * - * @param queueName 队列名 - * @param orderNum 订单号 - * @param time 延迟时间(秒) - */ - @GetMapping("/add") - public R add(String queueName, String orderNum, Long time) { - QueueUtils.addDelayedQueueObject(queueName, orderNum, time, TimeUnit.SECONDS); - // 观察发送时间 - log.info("通道: {} , 发送数据: {}", queueName, orderNum); - return R.ok("操作成功"); - } - - /** - * 删除队列数据 - * - * @param queueName 队列名 - * @param orderNum 订单号 - */ - @GetMapping("/remove") - public R remove(String queueName, String orderNum) { - if (QueueUtils.removeDelayedQueueObject(queueName, orderNum)) { - log.info("通道: {} , 删除数据: {}", queueName, orderNum); - } else { - return R.fail("操作失败"); - } - return R.ok("操作成功"); - } - - /** - * 销毁队列 - * - * @param queueName 队列名 - */ - @GetMapping("/destroy") - public R destroy(String queueName) { - // 用完了一定要销毁 否则会一直存在 - QueueUtils.destroyDelayedQueue(queueName); - return R.ok("操作成功"); - } - -} diff --git a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/queue/PriorityDemo.java b/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/queue/PriorityDemo.java deleted file mode 100644 index e2449b5..0000000 --- a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/queue/PriorityDemo.java +++ /dev/null @@ -1,22 +0,0 @@ -package org.dromara.demo.controller.queue; - -import lombok.Data; -import lombok.NoArgsConstructor; - -/** - * 实体类 注意不允许使用内部类 否则会找不到类 - * - * @author Lion Li - * @version 3.6.0 - */ -@Data -@NoArgsConstructor -public class PriorityDemo implements Comparable { - private String name; - private Integer orderNum; - - @Override - public int compareTo(PriorityDemo other) { - return Integer.compare(getOrderNum(), other.getOrderNum()); - } -} diff --git a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/queue/PriorityQueueController.java b/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/queue/PriorityQueueController.java deleted file mode 100644 index 02c7396..0000000 --- a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/controller/queue/PriorityQueueController.java +++ /dev/null @@ -1,89 +0,0 @@ -package org.dromara.demo.controller.queue; - -import cn.hutool.core.util.RandomUtil; -import org.dromara.common.core.domain.R; -import org.dromara.common.redis.utils.QueueUtils; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - * 优先队列 演示案例 - *

- * 轻量级队列 重量级数据量 请使用 MQ - *

- * 集群测试通过 同一个消息只会被消费一次 做好事务补偿 - * 集群测试流程 在其中一台发送数据 两端分别调用获取接口 一次获取一条 - * - * @author Lion Li - * @version 3.6.0 - */ -@Slf4j -@RequiredArgsConstructor -@RestController -@RequestMapping("/demo/queue/priority") -public class PriorityQueueController { - - /** - * 添加队列数据 - * - * @param queueName 队列名 - */ - @GetMapping("/add") - public R add(String queueName) { - // 用完了一定要销毁 否则会一直存在 - boolean b = QueueUtils.destroyPriorityQueue(queueName); - log.info("通道: {} , 删除: {}", queueName, b); - - for (int i = 0; i < 10; i++) { - int randomNum = RandomUtil.randomInt(10); - PriorityDemo data = new PriorityDemo(); - data.setName("data-" + i); - data.setOrderNum(randomNum); - if (QueueUtils.addPriorityQueueObject(queueName, data)) { - log.info("通道: {} , 发送数据: {}", queueName, data); - } else { - log.info("通道: {} , 发送数据: {}, 发送失败", queueName, data); - } - } - return R.ok("操作成功"); - } - - /** - * 删除队列数据 - * - * @param queueName 队列名 - * @param name 对象名 - * @param orderNum 排序号 - */ - @GetMapping("/remove") - public R remove(String queueName, String name, Integer orderNum) { - PriorityDemo data = new PriorityDemo(); - data.setName(name); - data.setOrderNum(orderNum); - if (QueueUtils.removePriorityQueueObject(queueName, data)) { - log.info("通道: {} , 删除数据: {}", queueName, data); - } else { - return R.fail("操作失败"); - } - return R.ok("操作成功"); - } - - /** - * 获取队列数据 - * - * @param queueName 队列名 - */ - @GetMapping("/get") - public R get(String queueName) { - PriorityDemo data; - do { - data = QueueUtils.getPriorityQueueObject(queueName); - log.info("通道: {} , 获取数据: {}", queueName, data); - } while (data != null); - return R.ok("操作成功"); - } - -} diff --git a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/domain/TestDemo.java b/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/domain/TestDemo.java deleted file mode 100644 index d3af0c9..0000000 --- a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/domain/TestDemo.java +++ /dev/null @@ -1,68 +0,0 @@ -package org.dromara.demo.domain; - -import com.baomidou.mybatisplus.annotation.*; -import org.dromara.common.tenant.core.TenantEntity; -import lombok.Data; -import lombok.EqualsAndHashCode; - -import java.io.Serial; - -/** - * 测试单表对象 test_demo - * - * @author Lion Li - * @date 2021-07-26 - */ -@Data -@EqualsAndHashCode(callSuper = true) -@TableName("test_demo") -public class TestDemo extends TenantEntity { - - @Serial - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @TableId(value = "id") - private Long id; - - /** - * 部门id - */ - private Long deptId; - - /** - * 用户id - */ - private Long userId; - - /** - * 排序号 - */ - @OrderBy(asc = false, sort = 1) - private Integer orderNum; - - /** - * key键 - */ - private String testKey; - - /** - * 值 - */ - private String value; - - /** - * 版本 - */ - @Version - private Long version; - - /** - * 删除标志 - */ - @TableLogic - private Long delFlag; - -} diff --git a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/domain/TestDemoEncrypt.java b/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/domain/TestDemoEncrypt.java deleted file mode 100644 index bdcd596..0000000 --- a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/domain/TestDemoEncrypt.java +++ /dev/null @@ -1,29 +0,0 @@ -package org.dromara.demo.domain; - -import com.baomidou.mybatisplus.annotation.TableName; -import org.dromara.common.encrypt.annotation.EncryptField; -import org.dromara.common.encrypt.enumd.AlgorithmType; -import lombok.Data; -import lombok.EqualsAndHashCode; - -@Data -@EqualsAndHashCode(callSuper = true) -@TableName("test_demo") -public class TestDemoEncrypt extends TestDemo { - - /** - * key键 - */ - // @EncryptField(algorithm=AlgorithmType.SM2, privateKey = "MIGTAgEAMBMGByqGSM49AgEGCCqBHM9VAYItBHkwdwIBAQQgZSlOvw8FBiH+aFJWLYZP/VRjg9wjfRarTkGBZd/T3N+gCgYIKoEcz1UBgi2hRANCAAR5DGuQwJqkxnbCsP+iPSDoHWIF4RwcR5EsSvT8QPxO1wRkR2IhCkzvRb32x2CUgJFdvoqVqfApFDPZzShqzBwX", publicKey = "MFkwEwYHKoZIzj0CAQYIKoEcz1UBgi0DQgAEeQxrkMCapMZ2wrD/oj0g6B1iBeEcHEeRLEr0/ED8TtcEZEdiIQpM70W99sdglICRXb6KlanwKRQz2c0oaswcFw==") - @EncryptField(algorithm = AlgorithmType.RSA, privateKey = "MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBANBBEeueWlXlkkj2+WY5l+IWe42d8b5K28g+G/CFKC/yYAEHtqGlCsBOrb+YBkG9mPzmuYA/n9k0NFIc8E8yY5vZQaroyFBrTTWEzG9RY2f7Y3svVyybs6jpXSUs4xff8abo7wL1Y/wUaeatTViamxYnyTvdTmLm3d+JjRij68rxAgMBAAECgYAB0TnhXraSopwIVRfmboea1b0upl+BUdTJcmci412UjrKr5aE695ZLPkXbFXijVu7HJlyyv94NVUdaMACV7Ku/S2RuNB70M7YJm8rAjHFC3/i2ZeIM60h1Ziy4QKv0XM3pRATlDCDNhC1WUrtQCQSgU8kcp6eUUppruOqDzcY04QJBAPm9+sBP9CwDRgy3e5+V8aZtJkwDstb0lVVV/KY890cydVxiCwvX3fqVnxKMlb+x0YtH0sb9v+71xvK2lGobaRECQQDVePU6r/cCEfpc+nkWF6osAH1f8Mux3rYv2DoBGvaPzV2BGfsLed4neRfCwWNCKvGPCdW+L0xMJg8+RwaoBUPhAkAT5kViqXxFPYWJYd1h2+rDXhMdH3ZSlm6HvDBDdrwlWinr0Iwcx3iSjPV93uHXwm118aUj4fg3LDJMCKxOwBxhAkByrQXfvwOMYygBprRBf/j0plazoWFrbd6lGR0f1uI5IfNnFRPdeFw1DEINZ2Hw+6zEUF44SqRMC+4IYJNc02dBAkBCgy7RvfyV/A7N6kKXxTHauY0v6XwSSvpeKtRJkbIcRWOdIYvaHO9L7cklj3vIEdwjSUp9K4VTBYYlmAz1xh03", publicKey = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDQQRHrnlpV5ZJI9vlmOZfiFnuNnfG+StvIPhvwhSgv8mABB7ahpQrATq2/mAZBvZj85rmAP5/ZNDRSHPBPMmOb2UGq6MhQa001hMxvUWNn+2N7L1csm7Oo6V0lLOMX3/Gm6O8C9WP8FGnmrU1YmpsWJ8k73U5i5t3fiY0Yo+vK8QIDAQAB") - private String testKey; - - /** - * 值 - */ - // @EncryptField // 什么也不写走默认yml配置 - // @EncryptField(algorithm = AlgorithmType.SM4, password = "10rfylhtccpuyke5") - @EncryptField(algorithm = AlgorithmType.AES, password = "10rfylhtccpuyke5") - private String value; - -} diff --git a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/domain/TestTree.java b/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/domain/TestTree.java deleted file mode 100644 index fd68253..0000000 --- a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/domain/TestTree.java +++ /dev/null @@ -1,65 +0,0 @@ -package org.dromara.demo.domain; - -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableLogic; -import com.baomidou.mybatisplus.annotation.TableName; -import com.baomidou.mybatisplus.annotation.Version; -import org.dromara.common.tenant.core.TenantEntity; -import lombok.Data; -import lombok.EqualsAndHashCode; - -import java.io.Serial; - -/** - * 测试树表对象 test_tree - * - * @author Lion Li - * @date 2021-07-26 - */ -@Data -@EqualsAndHashCode(callSuper = true) -@TableName("test_tree") -public class TestTree extends TenantEntity { - - @Serial - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @TableId(value = "id") - private Long id; - - /** - * 父ID - */ - private Long parentId; - - /** - * 部门id - */ - private Long deptId; - - /** - * 用户id - */ - private Long userId; - - /** - * 树节点名 - */ - private String treeName; - - /** - * 版本 - */ - @Version - private Long version; - - /** - * 删除标志 - */ - @TableLogic - private Long delFlag; - -} diff --git a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/domain/bo/TestDemoBo.java b/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/domain/bo/TestDemoBo.java deleted file mode 100644 index 8134677..0000000 --- a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/domain/bo/TestDemoBo.java +++ /dev/null @@ -1,62 +0,0 @@ -package org.dromara.demo.domain.bo; - -import org.dromara.common.core.validate.AddGroup; -import org.dromara.common.core.validate.EditGroup; -import org.dromara.common.mybatis.core.domain.BaseEntity; -import org.dromara.demo.domain.TestDemo; -import io.github.linpeilie.annotations.AutoMapper; -import lombok.Data; -import lombok.EqualsAndHashCode; - -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.NotNull; - -/** - * 测试单表业务对象 test_demo - * - * @author Lion Li - * @date 2021-07-26 - */ - -@Data -@EqualsAndHashCode(callSuper = true) -@AutoMapper(target = TestDemo.class, reverseConvertGenerate = false) -public class TestDemoBo extends BaseEntity { - - /** - * 主键 - */ - @NotNull(message = "主键不能为空", groups = {EditGroup.class}) - private Long id; - - /** - * 部门id - */ - @NotNull(message = "部门id不能为空", groups = {AddGroup.class, EditGroup.class}) - private Long deptId; - - /** - * 用户id - */ - @NotNull(message = "用户id不能为空", groups = {AddGroup.class, EditGroup.class}) - private Long userId; - - /** - * 排序号 - */ - @NotNull(message = "排序号不能为空", groups = {AddGroup.class, EditGroup.class}) - private Integer orderNum; - - /** - * key键 - */ - @NotBlank(message = "key键不能为空", groups = {AddGroup.class, EditGroup.class}) - private String testKey; - - /** - * 值 - */ - @NotBlank(message = "值不能为空", groups = {AddGroup.class, EditGroup.class}) - private String value; - -} diff --git a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/domain/bo/TestDemoImportVo.java b/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/domain/bo/TestDemoImportVo.java deleted file mode 100644 index c066118..0000000 --- a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/domain/bo/TestDemoImportVo.java +++ /dev/null @@ -1,53 +0,0 @@ -package org.dromara.demo.domain.bo; - -import com.alibaba.excel.annotation.ExcelProperty; -import lombok.Data; - -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.NotNull; - -/** - * 测试单表业务对象 test_demo - * - * @author Lion Li - * @date 2021-07-26 - */ -@Data -public class TestDemoImportVo { - - /** - * 部门id - */ - @NotNull(message = "部门id不能为空") - @ExcelProperty(value = "部门id") - private Long deptId; - - /** - * 用户id - */ - @NotNull(message = "用户id不能为空") - @ExcelProperty(value = "用户id") - private Long userId; - - /** - * 排序号 - */ - @NotNull(message = "排序号不能为空") - @ExcelProperty(value = "排序号") - private Long orderNum; - - /** - * key键 - */ - @NotBlank(message = "key键不能为空") - @ExcelProperty(value = "key键") - private String testKey; - - /** - * 值 - */ - @NotBlank(message = "值不能为空") - @ExcelProperty(value = "值") - private String value; - -} diff --git a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/domain/bo/TestTreeBo.java b/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/domain/bo/TestTreeBo.java deleted file mode 100644 index 1bbac0e..0000000 --- a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/domain/bo/TestTreeBo.java +++ /dev/null @@ -1,54 +0,0 @@ -package org.dromara.demo.domain.bo; - -import org.dromara.common.core.validate.AddGroup; -import org.dromara.common.core.validate.EditGroup; -import org.dromara.common.mybatis.core.domain.BaseEntity; -import org.dromara.demo.domain.TestTree; -import io.github.linpeilie.annotations.AutoMapper; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.NotNull; -import lombok.Data; -import lombok.EqualsAndHashCode; - -/** - * 测试树表业务对象 test_tree - * - * @author Lion Li - * @date 2021-07-26 - */ - -@Data -@EqualsAndHashCode(callSuper = true) -@AutoMapper(target = TestTree.class, reverseConvertGenerate = false) -public class TestTreeBo extends BaseEntity { - - /** - * 主键 - */ - @NotNull(message = "主键不能为空", groups = {EditGroup.class}) - private Long id; - - /** - * 父ID - */ - private Long parentId; - - /** - * 部门id - */ - @NotNull(message = "部门id不能为空", groups = {AddGroup.class, EditGroup.class}) - private Long deptId; - - /** - * 用户id - */ - @NotNull(message = "用户id不能为空", groups = {AddGroup.class, EditGroup.class}) - private Long userId; - - /** - * 树节点名 - */ - @NotBlank(message = "树节点名不能为空", groups = {AddGroup.class, EditGroup.class}) - private String treeName; - -} diff --git a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/domain/package-info.java b/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/domain/package-info.java deleted file mode 100644 index cb7d83f..0000000 --- a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/domain/package-info.java +++ /dev/null @@ -1 +0,0 @@ -package org.dromara.demo.domain; diff --git a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/domain/vo/ExportDemoVo.java b/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/domain/vo/ExportDemoVo.java deleted file mode 100644 index 95fa0d1..0000000 --- a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/domain/vo/ExportDemoVo.java +++ /dev/null @@ -1,118 +0,0 @@ -package org.dromara.demo.domain.vo; - -import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; -import com.alibaba.excel.annotation.ExcelProperty; -import jakarta.validation.constraints.NotEmpty; -import jakarta.validation.constraints.NotNull; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import org.dromara.common.core.enums.UserStatus; -import org.dromara.common.core.validate.AddGroup; -import org.dromara.common.core.validate.EditGroup; -import org.dromara.common.excel.annotation.ExcelDictFormat; -import org.dromara.common.excel.annotation.ExcelEnumFormat; -import org.dromara.common.excel.convert.ExcelDictConvert; -import org.dromara.common.excel.convert.ExcelEnumConvert; - -/** - * 带有下拉选的Excel导出 - * - * @author Emil.Zhang - */ -@Data -@ExcelIgnoreUnannotated -@AllArgsConstructor -@NoArgsConstructor -public class ExportDemoVo { - - private static final long serialVersionUID = 1L; - - /** - * 用户昵称 - */ - @ExcelProperty(value = "用户名", index = 0) - @NotEmpty(message = "用户名不能为空", groups = AddGroup.class) - private String nickName; - - /** - * 用户类型 - *

- * 使用ExcelEnumFormat注解需要进行下拉选的部分 - */ - @ExcelProperty(value = "用户类型", index = 1, converter = ExcelEnumConvert.class) - @ExcelEnumFormat(enumClass = UserStatus.class, textField = "info") - @NotEmpty(message = "用户类型不能为空", groups = AddGroup.class) - private String userStatus; - - /** - * 性别 - *

- * 使用ExcelDictFormat注解需要进行下拉选的部分 - */ - @ExcelProperty(value = "性别", index = 2, converter = ExcelDictConvert.class) - @ExcelDictFormat(dictType = "sys_user_sex") - @NotEmpty(message = "性别不能为空", groups = AddGroup.class) - private String gender; - - /** - * 手机号 - */ - @ExcelProperty(value = "手机号", index = 3) - @NotEmpty(message = "手机号不能为空", groups = AddGroup.class) - private String phoneNumber; - - /** - * Email - */ - @ExcelProperty(value = "Email", index = 4) - @NotEmpty(message = "Email不能为空", groups = AddGroup.class) - private String email; - - /** - * 省 - *

- * 级联下拉,仅判断是否选了 - */ - @ExcelProperty(value = "省", index = 5) - @NotNull(message = "省不能为空", groups = AddGroup.class) - private String province; - - /** - * 数据库中的省ID - *

- * 处理完毕后再判断是否市正确的值 - */ - @NotNull(message = "请勿手动输入", groups = EditGroup.class) - private Integer provinceId; - - /** - * 市 - *

- * 级联下拉 - */ - @ExcelProperty(value = "市", index = 6) - @NotNull(message = "市不能为空", groups = AddGroup.class) - private String city; - - /** - * 数据库中的市ID - */ - @NotNull(message = "请勿手动输入", groups = EditGroup.class) - private Integer cityId; - - /** - * 县 - *

- * 级联下拉 - */ - @ExcelProperty(value = "县", index = 7) - @NotNull(message = "县不能为空", groups = AddGroup.class) - private String area; - - /** - * 数据库中的县ID - */ - @NotNull(message = "请勿手动输入", groups = EditGroup.class) - private Integer areaId; -} diff --git a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/domain/vo/TestDemoVo.java b/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/domain/vo/TestDemoVo.java deleted file mode 100644 index 016c2f7..0000000 --- a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/domain/vo/TestDemoVo.java +++ /dev/null @@ -1,104 +0,0 @@ -package org.dromara.demo.domain.vo; - -import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; -import com.alibaba.excel.annotation.ExcelProperty; -import org.dromara.common.translation.annotation.Translation; -import org.dromara.common.translation.constant.TransConstant; -import org.dromara.demo.domain.TestDemo; -import io.github.linpeilie.annotations.AutoMapper; -import lombok.Data; - -import java.io.Serial; -import java.io.Serializable; -import java.util.Date; - - -/** - * 测试单表视图对象 test_demo - * - * @author Lion Li - * @date 2021-07-26 - */ -@Data -@ExcelIgnoreUnannotated -@AutoMapper(target = TestDemo.class) -public class TestDemoVo implements Serializable { - - @Serial - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @ExcelProperty(value = "主键") - private Long id; - - /** - * 部门id - */ - @ExcelProperty(value = "部门id") - private Long deptId; - - /** - * 用户id - */ - @ExcelProperty(value = "用户id") - private Long userId; - - /** - * 排序号 - */ - @ExcelProperty(value = "排序号") - private Integer orderNum; - - /** - * key键 - */ - @ExcelProperty(value = "key键") - private String testKey; - - /** - * 值 - */ - @ExcelProperty(value = "值") - private String value; - - /** - * 创建时间 - */ - @ExcelProperty(value = "创建时间") - private Date createTime; - - /** - * 创建人 - */ - @ExcelProperty(value = "创建人") - private Long createBy; - - /** - * 创建人账号 - */ - @Translation(type = TransConstant.USER_ID_TO_NAME, mapper = "createBy") - @ExcelProperty(value = "创建人账号") - private String createByName; - - /** - * 更新时间 - */ - @ExcelProperty(value = "更新时间") - private Date updateTime; - - /** - * 更新人 - */ - @ExcelProperty(value = "更新人") - private Long updateBy; - - /** - * 更新人账号 - */ - @Translation(type = TransConstant.USER_ID_TO_NAME, mapper = "updateBy") - @ExcelProperty(value = "更新人账号") - private String updateByName; - -} diff --git a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/domain/vo/TestTreeVo.java b/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/domain/vo/TestTreeVo.java deleted file mode 100644 index 58b4bdb..0000000 --- a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/domain/vo/TestTreeVo.java +++ /dev/null @@ -1,64 +0,0 @@ -package org.dromara.demo.domain.vo; - -import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; -import com.alibaba.excel.annotation.ExcelProperty; -import org.dromara.demo.domain.TestTree; -import io.github.linpeilie.annotations.AutoMapper; -import lombok.Data; - -import java.io.Serial; -import java.io.Serializable; -import java.util.Date; - - -/** - * 测试树表视图对象 test_tree - * - * @author Lion Li - * @date 2021-07-26 - */ -@Data -@ExcelIgnoreUnannotated -@AutoMapper(target = TestTree.class) -public class TestTreeVo implements Serializable { - - @Serial - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - private Long id; - - /** - * 父id - */ - @ExcelProperty(value = "父id") - private Long parentId; - - /** - * 部门id - */ - @ExcelProperty(value = "部门id") - private Long deptId; - - /** - * 用户id - */ - @ExcelProperty(value = "用户id") - private Long userId; - - /** - * 树节点名 - */ - @ExcelProperty(value = "树节点名") - private String treeName; - - /** - * 创建时间 - */ - @ExcelProperty(value = "创建时间") - private Date createTime; - - -} diff --git a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/listener/ExportDemoListener.java b/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/listener/ExportDemoListener.java deleted file mode 100644 index 7bd4e1e..0000000 --- a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/listener/ExportDemoListener.java +++ /dev/null @@ -1,68 +0,0 @@ -package org.dromara.demo.listener; - -import cn.hutool.core.util.NumberUtil; -import com.alibaba.excel.context.AnalysisContext; -import org.dromara.common.core.utils.ValidatorUtils; -import org.dromara.common.core.validate.AddGroup; -import org.dromara.common.core.validate.EditGroup; -import org.dromara.common.excel.core.DefaultExcelListener; -import org.dromara.common.excel.core.DropDownOptions; -import org.dromara.demo.domain.vo.ExportDemoVo; - -import java.util.List; - -/** - * Excel带下拉框的解析处理器 - * - * @author Emil.Zhang - */ -public class ExportDemoListener extends DefaultExcelListener { - - public ExportDemoListener() { - // 显示使用构造函数,否则将导致空指针 - super(true); - } - - @Override - public void invoke(ExportDemoVo data, AnalysisContext context) { - // 先校验必填 - ValidatorUtils.validate(data, AddGroup.class); - - // 处理级联下拉的部分 - String province = data.getProvince(); - String city = data.getCity(); - String area = data.getArea(); - // 本行用户选择的省 - List thisRowSelectedProvinceOption = DropDownOptions.analyzeOptionValue(province); - if (thisRowSelectedProvinceOption.size() == 2) { - String provinceIdStr = thisRowSelectedProvinceOption.get(1); - if (NumberUtil.isNumber(provinceIdStr)) { - // 严格要求数据的话可以在这里做与数据库相关的判断 - // 例如判断省信息是否在数据库中存在等,建议结合RedisCache做缓存10s,减少数据库调用 - data.setProvinceId(Integer.parseInt(provinceIdStr)); - } - } - // 本行用户选择的市 - List thisRowSelectedCityOption = DropDownOptions.analyzeOptionValue(city); - if (thisRowSelectedCityOption.size() == 2) { - String cityIdStr = thisRowSelectedCityOption.get(1); - if (NumberUtil.isNumber(cityIdStr)) { - data.setCityId(Integer.parseInt(cityIdStr)); - } - } - // 本行用户选择的县 - List thisRowSelectedAreaOption = DropDownOptions.analyzeOptionValue(area); - if (thisRowSelectedAreaOption.size() == 2) { - String areaIdStr = thisRowSelectedAreaOption.get(1); - if (NumberUtil.isNumber(areaIdStr)) { - data.setAreaId(Integer.parseInt(areaIdStr)); - } - } - - // 处理完毕以后判断是否符合规则 - ValidatorUtils.validate(data, EditGroup.class); - - // 添加到处理结果中 - getExcelResult().getList().add(data); - } -} diff --git a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/mapper/TestDemoEncryptMapper.java b/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/mapper/TestDemoEncryptMapper.java deleted file mode 100644 index 601f97a..0000000 --- a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/mapper/TestDemoEncryptMapper.java +++ /dev/null @@ -1,13 +0,0 @@ -package org.dromara.demo.mapper; - -import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; -import org.dromara.demo.domain.TestDemoEncrypt; - -/** - * 测试加密功能 - * - * @author Lion Li - */ -public interface TestDemoEncryptMapper extends BaseMapperPlus { - -} diff --git a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/mapper/TestDemoMapper.java b/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/mapper/TestDemoMapper.java deleted file mode 100644 index 57efdc7..0000000 --- a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/mapper/TestDemoMapper.java +++ /dev/null @@ -1,60 +0,0 @@ -package org.dromara.demo.mapper; - -import com.baomidou.mybatisplus.core.conditions.Wrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.core.toolkit.Constants; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import org.apache.ibatis.annotations.Param; -import org.dromara.common.mybatis.annotation.DataColumn; -import org.dromara.common.mybatis.annotation.DataPermission; -import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; -import org.dromara.demo.domain.TestDemo; -import org.dromara.demo.domain.vo.TestDemoVo; - -import java.io.Serializable; -import java.util.Collection; -import java.util.List; - -/** - * 测试单表Mapper接口 - * - * @author Lion Li - * @date 2021-07-26 - */ -public interface TestDemoMapper extends BaseMapperPlus { - - @DataPermission({ - @DataColumn(key = "deptName", value = "dept_id"), - @DataColumn(key = "userName", value = "user_id") - }) - Page customPageList(@Param("page") Page page, @Param("ew") Wrapper wrapper); - - @Override - @DataPermission({ - @DataColumn(key = "deptName", value = "dept_id"), - @DataColumn(key = "userName", value = "user_id") - }) - List selectList(IPage page, @Param(Constants.WRAPPER) Wrapper queryWrapper); - - @Override - @DataPermission({ - @DataColumn(key = "deptName", value = "dept_id"), - @DataColumn(key = "userName", value = "user_id") - }) - List selectList(@Param(Constants.WRAPPER) Wrapper queryWrapper); - - @Override - @DataPermission(value = { - @DataColumn(key = "deptName", value = "dept_id"), - @DataColumn(key = "userName", value = "user_id") - }, joinStr = "AND") - List selectByIds(@Param(Constants.COLL) Collection idList); - - @Override - @DataPermission({ - @DataColumn(key = "deptName", value = "dept_id"), - @DataColumn(key = "userName", value = "user_id") - }) - int updateById(@Param(Constants.ENTITY) TestDemo entity); - -} diff --git a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/mapper/TestTreeMapper.java b/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/mapper/TestTreeMapper.java deleted file mode 100644 index e5f4c44..0000000 --- a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/mapper/TestTreeMapper.java +++ /dev/null @@ -1,21 +0,0 @@ -package org.dromara.demo.mapper; - -import org.dromara.common.mybatis.annotation.DataColumn; -import org.dromara.common.mybatis.annotation.DataPermission; -import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; -import org.dromara.demo.domain.TestTree; -import org.dromara.demo.domain.vo.TestTreeVo; - -/** - * 测试树表Mapper接口 - * - * @author Lion Li - * @date 2021-07-26 - */ -@DataPermission({ - @DataColumn(key = "deptName", value = "dept_id"), - @DataColumn(key = "userName", value = "user_id") -}) -public interface TestTreeMapper extends BaseMapperPlus { - -} diff --git a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/mapper/package-info.java b/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/mapper/package-info.java deleted file mode 100644 index ff1c4df..0000000 --- a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/mapper/package-info.java +++ /dev/null @@ -1 +0,0 @@ -package org.dromara.demo.mapper; diff --git a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/service/IExportExcelService.java b/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/service/IExportExcelService.java deleted file mode 100644 index 4dfa5ef..0000000 --- a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/service/IExportExcelService.java +++ /dev/null @@ -1,18 +0,0 @@ -package org.dromara.demo.service; - -import jakarta.servlet.http.HttpServletResponse; - -/** - * 导出下拉框Excel示例 - * - * @author Emil.Zhang - */ -public interface IExportExcelService { - - /** - * 导出下拉框 - * - * @param response / - */ - void exportWithOptions(HttpServletResponse response); -} diff --git a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/service/ITestDemoService.java b/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/service/ITestDemoService.java deleted file mode 100644 index bca4192..0000000 --- a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/service/ITestDemoService.java +++ /dev/null @@ -1,71 +0,0 @@ -package org.dromara.demo.service; - -import org.dromara.common.mybatis.core.page.PageQuery; -import org.dromara.common.mybatis.core.page.TableDataInfo; -import org.dromara.demo.domain.TestDemo; -import org.dromara.demo.domain.bo.TestDemoBo; -import org.dromara.demo.domain.vo.TestDemoVo; - -import java.util.Collection; -import java.util.List; - -/** - * 测试单表Service接口 - * - * @author Lion Li - * @date 2021-07-26 - */ -public interface ITestDemoService { - - /** - * 查询单个 - * - * @return - */ - TestDemoVo queryById(Long id); - - /** - * 查询列表 - */ - TableDataInfo queryPageList(TestDemoBo bo, PageQuery pageQuery); - - /** - * 自定义分页查询 - */ - TableDataInfo customPageList(TestDemoBo bo, PageQuery pageQuery); - - /** - * 查询列表 - */ - List queryList(TestDemoBo bo); - - /** - * 根据新增业务对象插入测试单表 - * - * @param bo 测试单表新增业务对象 - * @return - */ - Boolean insertByBo(TestDemoBo bo); - - /** - * 根据编辑业务对象修改测试单表 - * - * @param bo 测试单表编辑业务对象 - * @return - */ - Boolean updateByBo(TestDemoBo bo); - - /** - * 校验并删除数据 - * - * @param ids 主键集合 - * @param isValid 是否校验,true-删除前校验,false-不校验 - * @return - */ - Boolean deleteWithValidByIds(Collection ids, Boolean isValid); - - /** - * 批量保存 - */ - Boolean saveBatch(List list); -} diff --git a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/service/ITestTreeService.java b/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/service/ITestTreeService.java deleted file mode 100644 index 9155201..0000000 --- a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/service/ITestTreeService.java +++ /dev/null @@ -1,52 +0,0 @@ -package org.dromara.demo.service; - -import org.dromara.demo.domain.bo.TestTreeBo; -import org.dromara.demo.domain.vo.TestTreeVo; - -import java.util.Collection; -import java.util.List; - -/** - * 测试树表Service接口 - * - * @author Lion Li - * @date 2021-07-26 - */ -public interface ITestTreeService { - /** - * 查询单个 - * - * @return - */ - TestTreeVo queryById(Long id); - - /** - * 查询列表 - */ - List queryList(TestTreeBo bo); - - /** - * 根据新增业务对象插入测试树表 - * - * @param bo 测试树表新增业务对象 - * @return - */ - Boolean insertByBo(TestTreeBo bo); - - /** - * 根据编辑业务对象修改测试树表 - * - * @param bo 测试树表编辑业务对象 - * @return - */ - Boolean updateByBo(TestTreeBo bo); - - /** - * 校验并删除数据 - * - * @param ids 主键集合 - * @param isValid 是否校验,true-删除前校验,false-不校验 - * @return - */ - Boolean deleteWithValidByIds(Collection ids, Boolean isValid); -} diff --git a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/service/impl/ExportExcelServiceImpl.java b/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/service/impl/ExportExcelServiceImpl.java deleted file mode 100644 index 0240e02..0000000 --- a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/service/impl/ExportExcelServiceImpl.java +++ /dev/null @@ -1,222 +0,0 @@ -package org.dromara.demo.service.impl; - -import cn.hutool.core.util.StrUtil; -import jakarta.servlet.http.HttpServletResponse; -import lombok.Data; -import lombok.RequiredArgsConstructor; -import org.dromara.common.core.enums.UserStatus; -import org.dromara.common.core.utils.StreamUtils; -import org.dromara.common.excel.core.DropDownOptions; -import org.dromara.common.excel.utils.ExcelUtil; -import org.dromara.demo.domain.vo.ExportDemoVo; -import org.dromara.demo.service.IExportExcelService; -import org.springframework.stereotype.Service; - -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; - -/** - * 导出下拉框Excel示例 - * - * @author Emil.Zhang - */ -@Service -@RequiredArgsConstructor -public class ExportExcelServiceImpl implements IExportExcelService { - - @Override - public void exportWithOptions(HttpServletResponse response) { - // 创建表格数据,业务中一般通过数据库查询 - List excelDataList = new ArrayList<>(); - for (int i = 0; i < 3; i++) { - // 模拟数据库中的一条数据 - ExportDemoVo everyRowData = new ExportDemoVo(); - everyRowData.setNickName("用户-" + i); - everyRowData.setUserStatus(UserStatus.OK.getCode()); - everyRowData.setGender("1"); - everyRowData.setPhoneNumber(String.format("175%08d", i)); - everyRowData.setEmail(String.format("175%08d", i) + "@163.com"); - everyRowData.setProvinceId(i); - everyRowData.setCityId(i); - everyRowData.setAreaId(i); - excelDataList.add(everyRowData); - } - - // 通过@ExcelIgnoreUnannotated配合@ExcelProperty合理显示需要的列 - // 并通过@DropDown注解指定下拉值,或者通过创建ExcelOptions来指定下拉框 - // 使用ExcelOptions时建议指定列index,防止出现下拉列解析不对齐 - - // 首先从数据库中查询下拉框内的可选项 - // 这里模拟查询结果 - List provinceList = getProvinceList(), - cityList = getCityList(provinceList), - areaList = getAreaList(cityList); - int provinceIndex = 5, cityIndex = 6, areaIndex = 7; - - DropDownOptions provinceToCity = DropDownOptions.buildLinkedOptions( - provinceList, - provinceIndex, - cityList, - cityIndex, - DemoCityData::getId, - DemoCityData::getPid, - everyOptions -> DropDownOptions.createOptionValue( - everyOptions.getName(), - everyOptions.getId() - ) - ); - - DropDownOptions cityToArea = DropDownOptions.buildLinkedOptions( - cityList, - cityIndex, - areaList, - areaIndex, - DemoCityData::getId, - DemoCityData::getPid, - everyOptions -> DropDownOptions.createOptionValue( - everyOptions.getName(), - everyOptions.getId() - ) - ); - - // 把所有的下拉框存储 - List options = new ArrayList<>(); - options.add(provinceToCity); - options.add(cityToArea); - - // 到此为止所有的下拉框可选项已全部配置完毕 - - // 接下来需要将Excel中的展示数据转换为对应的下拉选 - List outList = StreamUtils.toList(excelDataList, everyRowData -> { - // 只需要处理没有使用@ExcelDictFormat注解的下拉框 - // 一般来说,可以直接在数据库查询即查询出省市县信息,这里通过模拟操作赋值 - everyRowData.setProvince(buildOptions(provinceList, everyRowData.getProvinceId())); - everyRowData.setCity(buildOptions(cityList, everyRowData.getCityId())); - everyRowData.setArea(buildOptions(areaList, everyRowData.getAreaId())); - return everyRowData; - }); - - ExcelUtil.exportExcel(outList, "下拉框示例", ExportDemoVo.class, response, options); - } - - private String buildOptions(List cityDataList, Integer id) { - Map> groupByIdMap = - cityDataList.stream().collect(Collectors.groupingBy(DemoCityData::getId)); - if (groupByIdMap.containsKey(id)) { - DemoCityData demoCityData = groupByIdMap.get(id).get(0); - return DropDownOptions.createOptionValue(demoCityData.getName(), demoCityData.getId()); - } else { - return StrUtil.EMPTY; - } - } - - /** - * 模拟查询数据库操作 - * - * @return / - */ - private List getProvinceList() { - List provinceList = new ArrayList<>(); - - // 实际业务中一般采用数据库读取的形式,这里直接拼接创建 - provinceList.add(new DemoCityData(0, null, "安徽省")); - provinceList.add(new DemoCityData(1, null, "江苏省")); - - return provinceList; - } - - /** - * 模拟查找数据库操作,需要连带查询出省的数据 - * - * @param provinceList 模拟的父省数据 - * @return / - */ - private List getCityList(List provinceList) { - List cityList = new ArrayList<>(); - - // 实际业务中一般采用数据库读取的形式,这里直接拼接创建 - cityList.add(new DemoCityData(0, 0, "合肥市")); - cityList.add(new DemoCityData(1, 0, "芜湖市")); - cityList.add(new DemoCityData(2, 1, "南京市")); - cityList.add(new DemoCityData(3, 1, "无锡市")); - cityList.add(new DemoCityData(4, 1, "徐州市")); - - selectParentData(provinceList, cityList); - - return cityList; - } - - /** - * 模拟查找数据库操作,需要连带查询出市的数据 - * - * @param cityList 模拟的父市数据 - * @return / - */ - private List getAreaList(List cityList) { - List areaList = new ArrayList<>(); - - // 实际业务中一般采用数据库读取的形式,这里直接拼接创建 - areaList.add(new DemoCityData(0, 0, "瑶海区")); - areaList.add(new DemoCityData(1, 0, "庐江区")); - areaList.add(new DemoCityData(2, 1, "南宁县")); - areaList.add(new DemoCityData(3, 1, "镜湖区")); - areaList.add(new DemoCityData(4, 2, "玄武区")); - areaList.add(new DemoCityData(5, 2, "秦淮区")); - areaList.add(new DemoCityData(6, 3, "宜兴市")); - areaList.add(new DemoCityData(7, 3, "新吴区")); - areaList.add(new DemoCityData(8, 4, "鼓楼区")); - areaList.add(new DemoCityData(9, 4, "丰县")); - - selectParentData(cityList, areaList); - - return areaList; - } - - /** - * 模拟数据库的查询父数据操作 - * - * @param parentList / - * @param sonList / - */ - private void selectParentData(List parentList, List sonList) { - Map> parentGroupByIdMap = - parentList.stream().collect(Collectors.groupingBy(DemoCityData::getId)); - - sonList.forEach(everySon -> { - if (parentGroupByIdMap.containsKey(everySon.getPid())) { - everySon.setPData(parentGroupByIdMap.get(everySon.getPid()).get(0)); - } - }); - } - - /** - * 模拟的数据库省市县 - */ - @Data - private static class DemoCityData { - /** - * 数据库id字段 - */ - private Integer id; - /** - * 数据库pid字段 - */ - private Integer pid; - /** - * 数据库name字段 - */ - private String name; - /** - * MyBatisPlus连带查询父数据 - */ - private DemoCityData pData; - - public DemoCityData(Integer id, Integer pid, String name) { - this.id = id; - this.pid = pid; - this.name = name; - } - } -} diff --git a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/service/impl/TestDemoServiceImpl.java b/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/service/impl/TestDemoServiceImpl.java deleted file mode 100644 index ced141e..0000000 --- a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/service/impl/TestDemoServiceImpl.java +++ /dev/null @@ -1,116 +0,0 @@ -package org.dromara.demo.service.impl; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import lombok.RequiredArgsConstructor; -import org.dromara.common.core.exception.ServiceException; -import org.dromara.common.core.utils.MapstructUtils; -import org.dromara.common.core.utils.StringUtils; -import org.dromara.common.mybatis.core.page.PageQuery; -import org.dromara.common.mybatis.core.page.TableDataInfo; -import org.dromara.demo.domain.TestDemo; -import org.dromara.demo.domain.bo.TestDemoBo; -import org.dromara.demo.domain.vo.TestDemoVo; -import org.dromara.demo.mapper.TestDemoMapper; -import org.dromara.demo.service.ITestDemoService; -import org.springframework.stereotype.Service; - -import java.util.Collection; -import java.util.List; -import java.util.Map; - -/** - * 测试单表Service业务层处理 - * - * @author Lion Li - * @date 2021-07-26 - */ -@RequiredArgsConstructor -@Service -public class TestDemoServiceImpl implements ITestDemoService { - - private final TestDemoMapper baseMapper; - - @Override - public TestDemoVo queryById(Long id) { - return baseMapper.selectVoById(id); - } - - @Override - public TableDataInfo queryPageList(TestDemoBo bo, PageQuery pageQuery) { - LambdaQueryWrapper lqw = buildQueryWrapper(bo); - Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); - return TableDataInfo.build(result); - } - - /** - * 自定义分页查询 - */ - @Override - public TableDataInfo customPageList(TestDemoBo bo, PageQuery pageQuery) { - LambdaQueryWrapper lqw = buildQueryWrapper(bo); - Page result = baseMapper.customPageList(pageQuery.build(), lqw); - return TableDataInfo.build(result); - } - - @Override - public List queryList(TestDemoBo bo) { - return baseMapper.selectVoList(buildQueryWrapper(bo)); - } - - private LambdaQueryWrapper buildQueryWrapper(TestDemoBo bo) { - Map params = bo.getParams(); - LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); - lqw.like(StringUtils.isNotBlank(bo.getTestKey()), TestDemo::getTestKey, bo.getTestKey()); - lqw.eq(StringUtils.isNotBlank(bo.getValue()), TestDemo::getValue, bo.getValue()); - lqw.between(params.get("beginCreateTime") != null && params.get("endCreateTime") != null, - TestDemo::getCreateTime, params.get("beginCreateTime"), params.get("endCreateTime")); - lqw.orderByAsc(TestDemo::getId); - return lqw; - } - - @Override - public Boolean insertByBo(TestDemoBo bo) { - TestDemo add = MapstructUtils.convert(bo, TestDemo.class); - validEntityBeforeSave(add); - boolean flag = baseMapper.insert(add) > 0; - if (flag) { - bo.setId(add.getId()); - } - return flag; - } - - @Override - public Boolean updateByBo(TestDemoBo bo) { - TestDemo update = MapstructUtils.convert(bo, TestDemo.class); - validEntityBeforeSave(update); - return baseMapper.updateById(update) > 0; - } - - /** - * 保存前的数据校验 - * - * @param entity 实体类数据 - */ - private void validEntityBeforeSave(TestDemo entity) { - //TODO 做一些数据校验,如唯一约束 - } - - @Override - public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { - if (isValid) { - // 做一些业务上的校验,判断是否需要校验 - List list = baseMapper.selectByIds(ids); - if (list.size() != ids.size()) { - throw new ServiceException("您没有删除权限!"); - } - } - return baseMapper.deleteByIds(ids) > 0; - } - - @Override - public Boolean saveBatch(List list) { - return baseMapper.insertBatch(list); - } -} diff --git a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/service/impl/TestTreeServiceImpl.java b/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/service/impl/TestTreeServiceImpl.java deleted file mode 100644 index e4e548b..0000000 --- a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/service/impl/TestTreeServiceImpl.java +++ /dev/null @@ -1,88 +0,0 @@ -package org.dromara.demo.service.impl; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import org.dromara.common.core.utils.MapstructUtils; -import org.dromara.common.core.utils.StringUtils; -import org.dromara.demo.domain.TestTree; -import org.dromara.demo.domain.bo.TestTreeBo; -import org.dromara.demo.domain.vo.TestTreeVo; -import org.dromara.demo.mapper.TestTreeMapper; -import org.dromara.demo.service.ITestTreeService; -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Service; - -import java.util.Collection; -import java.util.List; -import java.util.Map; - -/** - * 测试树表Service业务层处理 - * - * @author Lion Li - * @date 2021-07-26 - */ -// @DS("slave") // 切换从库查询 -@RequiredArgsConstructor -@Service -public class TestTreeServiceImpl implements ITestTreeService { - - private final TestTreeMapper baseMapper; - - @Override - public TestTreeVo queryById(Long id) { - return baseMapper.selectVoById(id); - } - - // @DS("slave") // 切换从库查询 - @Override - public List queryList(TestTreeBo bo) { - LambdaQueryWrapper lqw = buildQueryWrapper(bo); - return baseMapper.selectVoList(lqw); - } - - private LambdaQueryWrapper buildQueryWrapper(TestTreeBo bo) { - Map params = bo.getParams(); - LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); - lqw.like(StringUtils.isNotBlank(bo.getTreeName()), TestTree::getTreeName, bo.getTreeName()); - lqw.between(params.get("beginCreateTime") != null && params.get("endCreateTime") != null, - TestTree::getCreateTime, params.get("beginCreateTime"), params.get("endCreateTime")); - lqw.orderByAsc(TestTree::getId); - return lqw; - } - - @Override - public Boolean insertByBo(TestTreeBo bo) { - TestTree add = MapstructUtils.convert(bo, TestTree.class); - validEntityBeforeSave(add); - boolean flag = baseMapper.insert(add) > 0; - if (flag) { - bo.setId(add.getId()); - } - return flag; - } - - @Override - public Boolean updateByBo(TestTreeBo bo) { - TestTree update = MapstructUtils.convert(bo, TestTree.class); - validEntityBeforeSave(update); - return baseMapper.updateById(update) > 0; - } - - /** - * 保存前的数据校验 - * - * @param entity 实体类数据 - */ - private void validEntityBeforeSave(TestTree entity) { - //TODO 做一些数据校验,如唯一约束 - } - - @Override - public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { - if (isValid) { - //TODO 做一些业务上的校验,判断是否需要校验 - } - return baseMapper.deleteByIds(ids) > 0; - } -} diff --git a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/service/impl/package-info.java b/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/service/impl/package-info.java deleted file mode 100644 index 7011984..0000000 --- a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/service/impl/package-info.java +++ /dev/null @@ -1 +0,0 @@ -package org.dromara.demo.service.impl; diff --git a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/service/package-info.java b/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/service/package-info.java deleted file mode 100644 index 16727ff..0000000 --- a/im-admin/ruoyi-modules/ruoyi-demo/src/main/java/org/dromara/demo/service/package-info.java +++ /dev/null @@ -1 +0,0 @@ -package org.dromara.demo.service; diff --git a/im-admin/ruoyi-modules/ruoyi-demo/src/main/resources/excel/单列表.xlsx b/im-admin/ruoyi-modules/ruoyi-demo/src/main/resources/excel/单列表.xlsx deleted file mode 100644 index 0f7347d..0000000 Binary files a/im-admin/ruoyi-modules/ruoyi-demo/src/main/resources/excel/单列表.xlsx and /dev/null differ diff --git a/im-admin/ruoyi-modules/ruoyi-demo/src/main/resources/excel/多sheet列表.xlsx b/im-admin/ruoyi-modules/ruoyi-demo/src/main/resources/excel/多sheet列表.xlsx deleted file mode 100644 index 5277f2e..0000000 Binary files a/im-admin/ruoyi-modules/ruoyi-demo/src/main/resources/excel/多sheet列表.xlsx and /dev/null differ diff --git a/im-admin/ruoyi-modules/ruoyi-demo/src/main/resources/excel/多列表.xlsx b/im-admin/ruoyi-modules/ruoyi-demo/src/main/resources/excel/多列表.xlsx deleted file mode 100644 index c7d11dc..0000000 Binary files a/im-admin/ruoyi-modules/ruoyi-demo/src/main/resources/excel/多列表.xlsx and /dev/null differ diff --git a/im-admin/ruoyi-modules/ruoyi-demo/src/main/resources/mapper/demo/TestDemoMapper.xml b/im-admin/ruoyi-modules/ruoyi-demo/src/main/resources/mapper/demo/TestDemoMapper.xml deleted file mode 100644 index dbf89a3..0000000 --- a/im-admin/ruoyi-modules/ruoyi-demo/src/main/resources/mapper/demo/TestDemoMapper.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - diff --git a/im-admin/ruoyi-modules/ruoyi-demo/src/main/resources/mapper/demo/TestTreeMapper.xml b/im-admin/ruoyi-modules/ruoyi-demo/src/main/resources/mapper/demo/TestTreeMapper.xml deleted file mode 100644 index d7975ec..0000000 --- a/im-admin/ruoyi-modules/ruoyi-demo/src/main/resources/mapper/demo/TestTreeMapper.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/im-admin/ruoyi-modules/ruoyi-demo/src/main/resources/mapper/package-info.md b/im-admin/ruoyi-modules/ruoyi-demo/src/main/resources/mapper/package-info.md deleted file mode 100644 index c938b1e..0000000 --- a/im-admin/ruoyi-modules/ruoyi-demo/src/main/resources/mapper/package-info.md +++ /dev/null @@ -1,3 +0,0 @@ -java包使用 `.` 分割 resource 目录使用 `/` 分割 -
-此文件目的 防止文件夹粘连找不到 `xml` 文件 \ No newline at end of file diff --git a/im-admin/ruoyi-modules/ruoyi-job/pom.xml b/im-admin/ruoyi-modules/ruoyi-job/pom.xml deleted file mode 100644 index 2431a1c..0000000 --- a/im-admin/ruoyi-modules/ruoyi-job/pom.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - org.dromara - ruoyi-modules - ${revision} - - 4.0.0 - jar - ruoyi-job - - - 任务调度 - - - - - - - org.dromara - ruoyi-common-json - - - - org.dromara - ruoyi-common-job - - - - - - diff --git a/im-admin/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/package-info.java b/im-admin/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/package-info.java deleted file mode 100644 index 2f118b0..0000000 --- a/im-admin/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/package-info.java +++ /dev/null @@ -1 +0,0 @@ -package org.dromara.job; diff --git a/im-admin/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/snailjob/TestAnnoJobExecutor.java b/im-admin/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/snailjob/TestAnnoJobExecutor.java deleted file mode 100644 index 5bea9da..0000000 --- a/im-admin/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/snailjob/TestAnnoJobExecutor.java +++ /dev/null @@ -1,23 +0,0 @@ -package org.dromara.job.snailjob; - -import com.aizuda.snailjob.client.job.core.annotation.JobExecutor; -import com.aizuda.snailjob.client.job.core.dto.JobArgs; -import com.aizuda.snailjob.client.model.ExecuteResult; -import com.aizuda.snailjob.common.core.util.JsonUtil; -import com.aizuda.snailjob.common.log.SnailJobLog; -import org.springframework.stereotype.Component; - -/** - * @author opensnail - * @date 2024-05-17 - */ -@Component -@JobExecutor(name = "testJobExecutor") -public class TestAnnoJobExecutor { - - public ExecuteResult jobExecute(JobArgs jobArgs) { - SnailJobLog.LOCAL.info("testJobExecutor. jobArgs:{}", JsonUtil.toJsonString(jobArgs)); - SnailJobLog.REMOTE.info("testJobExecutor. jobArgs:{}", JsonUtil.toJsonString(jobArgs)); - return ExecuteResult.success("测试成功"); - } -} diff --git a/im-admin/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/snailjob/TestClassJobExecutor.java b/im-admin/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/snailjob/TestClassJobExecutor.java deleted file mode 100644 index 6f7c21f..0000000 --- a/im-admin/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/snailjob/TestClassJobExecutor.java +++ /dev/null @@ -1,19 +0,0 @@ -package org.dromara.job.snailjob; - -import com.aizuda.snailjob.client.job.core.dto.JobArgs; -import com.aizuda.snailjob.client.job.core.executor.AbstractJobExecutor; -import com.aizuda.snailjob.client.model.ExecuteResult; -import org.springframework.stereotype.Component; - -/** - * @author opensnail - * @date 2024-05-17 - */ -@Component -public class TestClassJobExecutor extends AbstractJobExecutor { - - @Override - protected ExecuteResult doJobExecute(JobArgs jobArgs) { - return ExecuteResult.success("TestJobExecutor测试成功"); - } -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/README.md b/im-admin/ruoyi-modules/ruoyi-workflow/README.md deleted file mode 100644 index 59096b1..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# 工作流说明 - -工作流目前在未成熟阶段 后续仍会经历重构 甚至重写(生产使用前请慎重考虑后续是否要更新维护) \ No newline at end of file diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/pom.xml b/im-admin/ruoyi-modules/ruoyi-workflow/pom.xml deleted file mode 100644 index e55839e..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/pom.xml +++ /dev/null @@ -1,119 +0,0 @@ - - - - org.dromara - ruoyi-modules - ${revision} - ../pom.xml - - 4.0.0 - jar - ruoyi-workflow - - - 工作流模块 - - - - - - - org.flowable - flowable-spring-boot-autoconfigure - - - org.flowable - flowable-spring-security - - - - - - org.flowable - flowable-spring-configurator - - - - org.flowable - flowable-spring-boot-starter-actuator - - - - - org.flowable - flowable-image-generator - - - - - org.flowable - flowable-json-converter - 6.8.0 - - - - - org.apache.xmlgraphics - batik-all - 1.17 - - - xalan - xalan - - - - - - org.dromara - ruoyi-common-websocket - - - - org.dromara - ruoyi-common-mail - - - - org.dromara - ruoyi-common-sms - - - - org.dromara - ruoyi-common-mybatis - - - org.dromara - ruoyi-common-web - - - org.dromara - ruoyi-common-log - - - org.dromara - ruoyi-common-idempotent - - - org.dromara - ruoyi-common-excel - - - org.dromara - ruoyi-common-translation - - - org.dromara - ruoyi-common-tenant - - - org.dromara - ruoyi-common-security - - - - - diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/common/constant/FlowConstant.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/common/constant/FlowConstant.java deleted file mode 100644 index c3fcafa..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/common/constant/FlowConstant.java +++ /dev/null @@ -1,137 +0,0 @@ -package org.dromara.workflow.common.constant; - - -/** - * 工作流常量 - * - * @author may - */ -public interface FlowConstant { - - String MESSAGE_CURRENT_TASK_IS_NULL = "当前任务不存在或你不是任务办理人!"; - - String MESSAGE_SUSPENDED = "当前任务已挂起不可审批!"; - - /** - * 连线 - */ - String SEQUENCE_FLOW = "sequenceFlow"; - - /** - * 并行网关 - */ - String PARALLEL_GATEWAY = "parallelGateway"; - - /** - * 排它网关 - */ - String EXCLUSIVE_GATEWAY = "exclusiveGateway"; - - /** - * 包含网关 - */ - String INCLUSIVE_GATEWAY = "inclusiveGateway"; - - /** - * 结束节点 - */ - String END_EVENT = "endEvent"; - - - /** - * 流程委派标识 - */ - String PENDING = "PENDING"; - - /** - * 候选人标识 - */ - String CANDIDATE = "candidate"; - - /** - * 会签任务总数 - */ - String NUMBER_OF_INSTANCES = "nrOfInstances"; - - /** - * 正在执行的会签总数 - */ - String NUMBER_OF_ACTIVE_INSTANCES = "nrOfActiveInstances"; - - /** - * 已完成的会签任务总数 - */ - String NUMBER_OF_COMPLETED_INSTANCES = "nrOfCompletedInstances"; - - /** - * 循环的索引值,可以使用elementIndexVariable属性修改loopCounter的变量名 - */ - String LOOP_COUNTER = "loopCounter"; - - String ZIP = "ZIP"; - - /** - * 业务与流程实例关联对象 - */ - String BUSINESS_INSTANCE_DTO = "businessInstanceDTO"; - - /** - * 流程定义配置 - */ - String WF_DEFINITION_CONFIG_VO = "wfDefinitionConfigVo"; - - /** - * 节点配置 - */ - String WF_NODE_CONFIG_VO = "wfNodeConfigVo"; - - /** - * 流程发起人 - */ - String INITIATOR = "initiator"; - - /** - * 流程实例id - */ - String PROCESS_INSTANCE_ID = "processInstanceId"; - - /** - * 业务id - */ - String BUSINESS_KEY = "businessKey"; - - /** - * 流程定义id - */ - String PROCESS_DEFINITION_ID = "processDefinitionId"; - - /** - * 开启跳过表达式变量 - */ - String FLOWABLE_SKIP_EXPRESSION_ENABLED = "_FLOWABLE_SKIP_EXPRESSION_ENABLED"; - - /** - * 模型标识key命名规范正则表达式 - */ - String MODEL_KEY_PATTERN = "^[a-zA-Z][a-zA-Z0-9_]{0,254}$"; - - /** - * 用户任务 - */ - String USER_TASK = "userTask"; - - /** - * 会签 - */ - String MULTI_INSTANCE = "multiInstance"; - - /** - * 是 - */ - String TRUE = "0"; - - /** - * 否 - */ - String FALSE = "1"; -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/common/enums/FormTypeEnum.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/common/enums/FormTypeEnum.java deleted file mode 100644 index 083ab7b..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/common/enums/FormTypeEnum.java +++ /dev/null @@ -1,54 +0,0 @@ -package org.dromara.workflow.common.enums; - -import cn.hutool.core.util.StrUtil; -import lombok.AllArgsConstructor; -import lombok.Getter; -import org.apache.commons.lang3.StringUtils; - -import java.util.Arrays; - -/** - * 任务状态枚举 - * - * @author may - */ -@Getter -@AllArgsConstructor -public enum FormTypeEnum { - /** - * 自定义表单 - */ - STATIC("static", "自定义表单"), - /** - * 动态表单 - */ - DYNAMIC("dynamic", "动态表单"); - - /** - * 类型 - */ - private final String type; - - /** - * 描述 - */ - private final String desc; - - /** - * 表单类型 - * - * @param formType 表单类型 - */ - public static String findByType(String formType) { - if (StringUtils.isBlank(formType)) { - return StrUtil.EMPTY; - } - - return Arrays.stream(FormTypeEnum.values()) - .filter(statusEnum -> statusEnum.getType().equals(formType)) - .findFirst() - .map(FormTypeEnum::getDesc) - .orElse(StrUtil.EMPTY); - } -} - diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/common/enums/MessageTypeEnum.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/common/enums/MessageTypeEnum.java deleted file mode 100644 index a282958..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/common/enums/MessageTypeEnum.java +++ /dev/null @@ -1,51 +0,0 @@ -package org.dromara.workflow.common.enums; - -import lombok.AllArgsConstructor; -import lombok.Getter; - -import java.util.Map; -import java.util.concurrent.ConcurrentHashMap; - -/** - * 消息类型枚举 - * - * @author may - */ -@Getter -@AllArgsConstructor -public enum MessageTypeEnum { - /** - * 站内信 - */ - SYSTEM_MESSAGE("1", "站内信"), - /** - * 邮箱 - */ - EMAIL_MESSAGE("2", "邮箱"), - /** - * 短信 - */ - SMS_MESSAGE("3", "短信"); - - private final String code; - - private final String desc; - - private final static Map MESSAGE_TYPE_ENUM_MAP = new ConcurrentHashMap<>(MessageTypeEnum.values().length); - - static { - for (MessageTypeEnum messageType : MessageTypeEnum.values()) { - MESSAGE_TYPE_ENUM_MAP.put(messageType.code, messageType); - } - } - - /** - * 根据消息类型 code 获取 MessageTypeEnum - * @param code 消息类型code - * @return MessageTypeEnum - */ - public static MessageTypeEnum getByCode(String code) { - return MESSAGE_TYPE_ENUM_MAP.get(code); - } -} - diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/common/enums/TaskStatusEnum.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/common/enums/TaskStatusEnum.java deleted file mode 100644 index 7b2f55c..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/common/enums/TaskStatusEnum.java +++ /dev/null @@ -1,94 +0,0 @@ -package org.dromara.workflow.common.enums; - -import cn.hutool.core.util.StrUtil; -import lombok.AllArgsConstructor; -import lombok.Getter; -import org.apache.commons.lang3.StringUtils; - -import java.util.Arrays; - -/** - * 任务状态枚举 - * - * @author may - */ -@Getter -@AllArgsConstructor -public enum TaskStatusEnum { - /** - * 撤销 - */ - CANCEL("cancel", "撤销"), - /** - * 通过 - */ - PASS("pass", "通过"), - /** - * 待审核 - */ - WAITING("waiting", "待审核"), - /** - * 作废 - */ - INVALID("invalid", "作废"), - /** - * 退回 - */ - BACK("back", "退回"), - /** - * 终止 - */ - TERMINATION("termination", "终止"), - /** - * 转办 - */ - TRANSFER("transfer", "转办"), - /** - * 委托 - */ - PENDING("pending", "委托"), - /** - * 抄送 - */ - COPY("copy", "抄送"), - /** - * 加签 - */ - SIGN("sign", "加签"), - /** - * 减签 - */ - SIGN_OFF("sign_off", "减签"), - /** - * 超时 - */ - TIMEOUT("timeout", "超时"); - - /** - * 状态 - */ - private final String status; - - /** - * 描述 - */ - private final String desc; - - /** - * 任务业务状态 - * - * @param status 状态 - */ - public static String findByStatus(String status) { - if (StringUtils.isBlank(status)) { - return StrUtil.EMPTY; - } - - return Arrays.stream(TaskStatusEnum.values()) - .filter(statusEnum -> statusEnum.getStatus().equals(status)) - .findFirst() - .map(TaskStatusEnum::getDesc) - .orElse(StrUtil.EMPTY); - } -} - diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/ActModelController.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/ActModelController.java deleted file mode 100644 index 842d3d6..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/ActModelController.java +++ /dev/null @@ -1,148 +0,0 @@ -package org.dromara.workflow.controller; - -import jakarta.servlet.http.HttpServletResponse; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.NotEmpty; -import lombok.RequiredArgsConstructor; -import org.dromara.common.core.domain.R; -import org.dromara.common.core.validate.AddGroup; -import org.dromara.common.core.validate.EditGroup; -import org.dromara.common.idempotent.annotation.RepeatSubmit; -import org.dromara.common.log.annotation.Log; -import org.dromara.common.log.enums.BusinessType; -import org.dromara.common.mybatis.core.page.PageQuery; -import org.dromara.common.mybatis.core.page.TableDataInfo; -import org.dromara.common.web.core.BaseController; -import org.dromara.workflow.domain.bo.ModelBo; -import org.dromara.workflow.domain.vo.ModelVo; -import org.dromara.workflow.service.IActModelService; -import org.flowable.engine.RepositoryService; -import org.flowable.engine.repository.Model; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.util.Arrays; -import java.util.List; - -/** - * 模型管理 控制层 - * - * @author may - */ -@Validated -@RequiredArgsConstructor -@RestController -@RequestMapping("/workflow/model") -public class ActModelController extends BaseController { - - @Autowired(required = false) - private RepositoryService repositoryService; - private final IActModelService actModelService; - - - /** - * 分页查询模型 - * - * @param modelBo 模型参数 - */ - @GetMapping("/list") - public TableDataInfo page(ModelBo modelBo, PageQuery pageQuery) { - return actModelService.page(modelBo, pageQuery); - } - - /** - * 新增模型 - * - * @param modelBo 模型请求对象 - */ - @Log(title = "模型管理", businessType = BusinessType.INSERT) - @RepeatSubmit() - @PostMapping("/save") - public R saveNewModel(@Validated(AddGroup.class) @RequestBody ModelBo modelBo) { - return toAjax(actModelService.saveNewModel(modelBo)); - } - - /** - * 查询模型 - * - * @param id 模型id - */ - @GetMapping("/getInfo/{id}") - public R getInfo(@NotBlank(message = "模型id不能为空") @PathVariable String id) { - return R.ok(actModelService.getInfo(id)); - } - - /** - * 修改模型信息 - * - * @param modelBo 模型数据 - */ - @Log(title = "模型管理", businessType = BusinessType.UPDATE) - @RepeatSubmit() - @PutMapping(value = "/update") - public R update(@RequestBody ModelBo modelBo) { - return toAjax(actModelService.update(modelBo)); - } - - /** - * 编辑XMl模型 - * - * @param modelBo 模型数据 - */ - @Log(title = "模型管理", businessType = BusinessType.UPDATE) - @RepeatSubmit() - @PutMapping(value = "/editModelXml") - public R editModel(@Validated(EditGroup.class) @RequestBody ModelBo modelBo) { - return toAjax(actModelService.editModelXml(modelBo)); - } - - /** - * 删除流程模型 - * - * @param ids 模型id - */ - @Log(title = "模型管理", businessType = BusinessType.DELETE) - @RepeatSubmit() - @DeleteMapping("/{ids}") - @Transactional(rollbackFor = Exception.class) - public R delete(@NotEmpty(message = "主键不能为空") @PathVariable String[] ids) { - Arrays.stream(ids).parallel().forEachOrdered(repositoryService::deleteModel); - return R.ok(); - } - - /** - * 模型部署 - * - * @param id 模型id - */ - @Log(title = "模型管理", businessType = BusinessType.INSERT) - @RepeatSubmit() - @PostMapping("/modelDeploy/{id}") - public R deploy(@NotBlank(message = "模型id不能为空") @PathVariable("id") String id) { - return toAjax(actModelService.modelDeploy(id)); - } - - /** - * 导出模型zip压缩包 - * - * @param modelIds 模型id - * @param response 相应 - */ - @GetMapping("/export/zip/{modelIds}") - public void exportZip(@NotEmpty(message = "模型id不能为空") @PathVariable List modelIds, - HttpServletResponse response) { - actModelService.exportZip(modelIds, response); - } - - /** - * 复制模型 - * - * @param modelBo 模型数据 - */ - @PostMapping("/copyModel") - public R copyModel(@RequestBody ModelBo modelBo) { - return toAjax(actModelService.copyModel(modelBo)); - } -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/ActProcessDefinitionController.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/ActProcessDefinitionController.java deleted file mode 100644 index 5198bd1..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/ActProcessDefinitionController.java +++ /dev/null @@ -1,147 +0,0 @@ -package org.dromara.workflow.controller; - -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.NotEmpty; -import jakarta.validation.constraints.NotNull; -import lombok.RequiredArgsConstructor; -import org.dromara.common.core.domain.R; -import org.dromara.common.idempotent.annotation.RepeatSubmit; -import org.dromara.common.log.annotation.Log; -import org.dromara.common.log.enums.BusinessType; -import org.dromara.common.mybatis.core.page.PageQuery; -import org.dromara.common.mybatis.core.page.TableDataInfo; -import org.dromara.common.web.core.BaseController; -import org.dromara.workflow.domain.bo.ProcessDefinitionBo; -import org.dromara.workflow.domain.vo.ProcessDefinitionVo; -import org.dromara.workflow.service.IActProcessDefinitionService; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; - -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - - -/** - * 流程定义管理 控制层 - * - * @author may - */ -@Validated -@RequiredArgsConstructor -@RestController -@RequestMapping("/workflow/processDefinition") -public class ActProcessDefinitionController extends BaseController { - - private final IActProcessDefinitionService actProcessDefinitionService; - - /** - * 分页查询 - * - * @param bo 参数 - */ - @GetMapping("/list") - public TableDataInfo page(ProcessDefinitionBo bo, PageQuery pageQuery) { - return actProcessDefinitionService.page(bo, pageQuery); - } - - /** - * 查询历史流程定义列表 - * - * @param key 流程定义key - */ - @GetMapping("/getListByKey/{key}") - public R> getListByKey(@NotEmpty(message = "流程定义key不能为空") @PathVariable String key) { - return R.ok("操作成功", actProcessDefinitionService.getListByKey(key)); - } - - /** - * 查看流程定义图片 - * - * @param processDefinitionId 流程定义id - */ - @GetMapping("/definitionImage/{processDefinitionId}") - public R definitionImage(@PathVariable String processDefinitionId) { - return R.ok("操作成功", actProcessDefinitionService.definitionImage(processDefinitionId)); - } - - /** - * 查看流程定义xml文件 - * - * @param processDefinitionId 流程定义id - */ - @GetMapping("/definitionXml/{processDefinitionId}") - public R> definitionXml(@NotBlank(message = "流程定义id不能为空") @PathVariable String processDefinitionId) { - Map map = new HashMap<>(); - String xmlStr = actProcessDefinitionService.definitionXml(processDefinitionId); - map.put("xml", Arrays.asList(xmlStr.split("\n"))); - map.put("xmlStr", xmlStr); - return R.ok(map); - } - - /** - * 删除流程定义 - * - * @param deploymentIds 部署id - * @param processDefinitionIds 流程定义id - */ - @Log(title = "流程定义管理", businessType = BusinessType.DELETE) - @DeleteMapping("/{deploymentIds}/{processDefinitionIds}") - public R deleteDeployment(@NotNull(message = "流程部署id不能为空") @PathVariable List deploymentIds, - @NotNull(message = "流程定义id不能为空") @PathVariable List processDefinitionIds) { - return toAjax(actProcessDefinitionService.deleteDeployment(deploymentIds, processDefinitionIds)); - } - - /** - * 激活或者挂起流程定义 - * - * @param processDefinitionId 流程定义id - */ - @Log(title = "流程定义管理", businessType = BusinessType.UPDATE) - @RepeatSubmit() - @PutMapping("/updateDefinitionState/{processDefinitionId}") - public R updateDefinitionState(@NotBlank(message = "流程定义id不能为空") @PathVariable String processDefinitionId) { - return toAjax(actProcessDefinitionService.updateDefinitionState(processDefinitionId)); - } - - /** - * 迁移流程定义 - * - * @param currentProcessDefinitionId 当前流程定义id - * @param fromProcessDefinitionId 需要迁移到的流程定义id - */ - @Log(title = "流程定义管理", businessType = BusinessType.UPDATE) - @RepeatSubmit() - @PutMapping("/migrationDefinition/{currentProcessDefinitionId}/{fromProcessDefinitionId}") - public R migrationDefinition(@NotBlank(message = "当前流程定义id") @PathVariable String currentProcessDefinitionId, - @NotBlank(message = "需要迁移到的流程定义id") @PathVariable String fromProcessDefinitionId) { - return toAjax(actProcessDefinitionService.migrationDefinition(currentProcessDefinitionId, fromProcessDefinitionId)); - } - - /** - * 流程定义转换为模型 - * - * @param processDefinitionId 流程定义id - */ - @Log(title = "流程定义管理", businessType = BusinessType.UPDATE) - @RepeatSubmit() - @PutMapping("/convertToModel/{processDefinitionId}") - public R convertToModel(@NotEmpty(message = "流程定义id不能为空") @PathVariable String processDefinitionId) { - return toAjax(actProcessDefinitionService.convertToModel(processDefinitionId)); - } - - /** - * 通过zip或xml部署流程定义 - * - * @param file 文件 - * @param categoryCode 分类 - */ - @Log(title = "流程定义管理", businessType = BusinessType.INSERT) - @PostMapping("/deployByFile") - public void deployByFile(@RequestParam("file") MultipartFile file, @RequestParam("categoryCode") String categoryCode) { - actProcessDefinitionService.deployByFile(file, categoryCode); - } - -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/ActProcessInstanceController.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/ActProcessInstanceController.java deleted file mode 100644 index 931b9f5..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/ActProcessInstanceController.java +++ /dev/null @@ -1,160 +0,0 @@ -package org.dromara.workflow.controller; - -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.NotNull; -import lombok.RequiredArgsConstructor; -import org.dromara.common.core.domain.R; -import org.dromara.common.core.validate.AddGroup; -import org.dromara.common.idempotent.annotation.RepeatSubmit; -import org.dromara.common.log.annotation.Log; -import org.dromara.common.log.enums.BusinessType; -import org.dromara.common.mybatis.core.page.PageQuery; -import org.dromara.common.mybatis.core.page.TableDataInfo; -import org.dromara.common.web.core.BaseController; -import org.dromara.workflow.domain.bo.ProcessInstanceBo; -import org.dromara.workflow.domain.bo.ProcessInvalidBo; -import org.dromara.workflow.domain.bo.TaskUrgingBo; -import org.dromara.workflow.domain.vo.ActHistoryInfoVo; -import org.dromara.workflow.domain.vo.ProcessInstanceVo; -import org.dromara.workflow.service.IActProcessInstanceService; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.util.Arrays; -import java.util.List; -import java.util.Map; - -/** - * 流程实例管理 控制层 - * - * @author may - */ -@Validated -@RequiredArgsConstructor -@RestController -@RequestMapping("/workflow/processInstance") -public class ActProcessInstanceController extends BaseController { - - private final IActProcessInstanceService actProcessInstanceService; - - /** - * 分页查询正在运行的流程实例 - * - * @param bo 参数 - */ - @GetMapping("/getPageByRunning") - public TableDataInfo getPageByRunning(ProcessInstanceBo bo, PageQuery pageQuery) { - return actProcessInstanceService.getPageByRunning(bo, pageQuery); - } - - /** - * 分页查询已结束的流程实例 - * - * @param bo 参数 - */ - @GetMapping("/getPageByFinish") - public TableDataInfo getPageByFinish(ProcessInstanceBo bo, PageQuery pageQuery) { - return actProcessInstanceService.getPageByFinish(bo, pageQuery); - } - - /** - * 通过业务id获取历史流程图 - * - * @param businessKey 业务id - */ - @GetMapping("/getHistoryImage/{businessKey}") - public R getHistoryImage(@NotBlank(message = "业务id不能为空") @PathVariable String businessKey) { - return R.ok("操作成功", actProcessInstanceService.getHistoryImage(businessKey)); - } - - /** - * 通过业务id获取历史流程图运行中,历史等节点 - * - * @param businessKey 业务id - */ - @GetMapping("/getHistoryList/{businessKey}") - public R> getHistoryList(@NotBlank(message = "业务id不能为空") @PathVariable String businessKey) { - return R.ok("操作成功", actProcessInstanceService.getHistoryList(businessKey)); - } - - /** - * 获取审批记录 - * - * @param businessKey 业务id - */ - @GetMapping("/getHistoryRecord/{businessKey}") - public R> getHistoryRecord(@NotBlank(message = "业务id不能为空") @PathVariable String businessKey) { - return R.ok(actProcessInstanceService.getHistoryRecord(businessKey)); - } - - /** - * 作废流程实例,不会删除历史记录(删除运行中的实例) - * - * @param processInvalidBo 参数 - */ - @Log(title = "流程实例管理", businessType = BusinessType.DELETE) - @RepeatSubmit() - @PostMapping("/deleteRunInstance") - public R deleteRunInstance(@Validated(AddGroup.class) @RequestBody ProcessInvalidBo processInvalidBo) { - return toAjax(actProcessInstanceService.deleteRunInstance(processInvalidBo)); - } - - /** - * 运行中的实例 删除程实例,删除历史记录,删除业务与流程关联信息 - * - * @param businessKeys 业务id - */ - @Log(title = "流程实例管理", businessType = BusinessType.DELETE) - @RepeatSubmit() - @DeleteMapping("/deleteRunAndHisInstance/{businessKeys}") - public R deleteRunAndHisInstance(@NotNull(message = "业务id不能为空") @PathVariable String[] businessKeys) { - return toAjax(actProcessInstanceService.deleteRunAndHisInstance(Arrays.asList(businessKeys))); - } - - /** - * 已完成的实例 删除程实例,删除历史记录,删除业务与流程关联信息 - * - * @param businessKeys 业务id - */ - @Log(title = "流程实例管理", businessType = BusinessType.DELETE) - @RepeatSubmit() - @DeleteMapping("/deleteFinishAndHisInstance/{businessKeys}") - public R deleteFinishAndHisInstance(@NotNull(message = "业务id不能为空") @PathVariable String[] businessKeys) { - return toAjax(actProcessInstanceService.deleteFinishAndHisInstance(Arrays.asList(businessKeys))); - } - - /** - * 撤销流程申请 - * - * @param businessKey 业务id - */ - @Log(title = "流程实例管理", businessType = BusinessType.INSERT) - @RepeatSubmit() - @PostMapping("/cancelProcessApply/{businessKey}") - public R cancelProcessApply(@NotBlank(message = "业务id不能为空") @PathVariable String businessKey) { - return toAjax(actProcessInstanceService.cancelProcessApply(businessKey)); - } - - /** - * 分页查询当前登录人单据 - * - * @param bo 参数 - */ - @GetMapping("/getPageByCurrent") - public TableDataInfo getPageByCurrent(ProcessInstanceBo bo, PageQuery pageQuery) { - return actProcessInstanceService.getPageByCurrent(bo, pageQuery); - } - - /** - * 任务催办(给当前任务办理人发送站内信,邮件,短信等) - * - * @param taskUrgingBo 任务催办 - */ - @Log(title = "流程实例管理", businessType = BusinessType.INSERT) - @RepeatSubmit() - @PostMapping("/taskUrging") - public R taskUrging(@RequestBody TaskUrgingBo taskUrgingBo) { - return toAjax(actProcessInstanceService.taskUrging(taskUrgingBo)); - } - -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/ActTaskController.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/ActTaskController.java deleted file mode 100644 index 25724b6..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/ActTaskController.java +++ /dev/null @@ -1,295 +0,0 @@ -package org.dromara.workflow.controller; - -import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.convert.Convert; -import jakarta.validation.constraints.NotBlank; -import lombok.RequiredArgsConstructor; -import org.dromara.common.core.domain.R; -import org.dromara.common.core.validate.AddGroup; -import org.dromara.common.idempotent.annotation.RepeatSubmit; -import org.dromara.common.log.annotation.Log; -import org.dromara.common.log.enums.BusinessType; -import org.dromara.common.mybatis.core.page.PageQuery; -import org.dromara.common.mybatis.core.page.TableDataInfo; -import org.dromara.common.satoken.utils.LoginHelper; -import org.dromara.common.web.core.BaseController; -import org.dromara.workflow.domain.WfTaskBackNode; -import org.dromara.workflow.domain.bo.*; -import org.dromara.workflow.domain.vo.TaskVo; -import org.dromara.workflow.domain.vo.VariableVo; -import org.dromara.workflow.service.IActTaskService; -import org.dromara.workflow.service.IWfTaskBackNodeService; -import org.dromara.workflow.utils.QueryUtils; -import org.flowable.engine.TaskService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.util.List; -import java.util.Map; - -/** - * 任务管理 控制层 - * - * @author may - */ -@Validated -@RequiredArgsConstructor -@RestController -@RequestMapping("/workflow/task") -public class ActTaskController extends BaseController { - - @Autowired(required = false) - private TaskService taskService; - private final IActTaskService actTaskService; - private final IWfTaskBackNodeService wfTaskBackNodeService; - - - /** - * 启动任务 - * - * @param startProcessBo 启动流程参数 - */ - @Log(title = "任务管理", businessType = BusinessType.INSERT) - @RepeatSubmit() - @PostMapping("/startWorkFlow") - public R> startWorkFlow(@Validated(AddGroup.class) @RequestBody StartProcessBo startProcessBo) { - Map map = actTaskService.startWorkFlow(startProcessBo); - return R.ok("提交成功", map); - } - - /** - * 办理任务 - * - * @param completeTaskBo 办理任务参数 - */ - @Log(title = "任务管理", businessType = BusinessType.INSERT) - @RepeatSubmit() - @PostMapping("/completeTask") - public R completeTask(@Validated(AddGroup.class) @RequestBody CompleteTaskBo completeTaskBo) { - return toAjax(actTaskService.completeTask(completeTaskBo)); - } - - /** - * 查询当前用户的待办任务 - * - * @param taskBo 参数 - */ - @GetMapping("/getPageByTaskWait") - public TableDataInfo getPageByTaskWait(TaskBo taskBo, PageQuery pageQuery) { - return actTaskService.getPageByTaskWait(taskBo, pageQuery); - } - - /** - * 查询当前租户所有待办任务 - * - * @param taskBo 参数 - */ - @GetMapping("/getPageByAllTaskWait") - public TableDataInfo getPageByAllTaskWait(TaskBo taskBo, PageQuery pageQuery) { - return actTaskService.getPageByAllTaskWait(taskBo, pageQuery); - } - - /** - * 查询当前用户的已办任务 - * - * @param taskBo 参数 - */ - @GetMapping("/getPageByTaskFinish") - public TableDataInfo getPageByTaskFinish(TaskBo taskBo, PageQuery pageQuery) { - return actTaskService.getPageByTaskFinish(taskBo, pageQuery); - } - - /** - * 查询当前用户的抄送 - * - * @param taskBo 参数 - */ - @GetMapping("/getPageByTaskCopy") - public TableDataInfo getPageByTaskCopy(TaskBo taskBo, PageQuery pageQuery) { - return actTaskService.getPageByTaskCopy(taskBo, pageQuery); - } - - /** - * 查询当前租户所有已办任务 - * - * @param taskBo 参数 - */ - @GetMapping("/getPageByAllTaskFinish") - public TableDataInfo getPageByAllTaskFinish(TaskBo taskBo, PageQuery pageQuery) { - return actTaskService.getPageByAllTaskFinish(taskBo, pageQuery); - } - - /** - * 签收(拾取)任务 - * - * @param taskId 任务id - */ - @Log(title = "任务管理", businessType = BusinessType.INSERT) - @RepeatSubmit() - @PostMapping("/claim/{taskId}") - public R claimTask(@NotBlank(message = "任务id不能为空") @PathVariable String taskId) { - try { - taskService.claim(taskId, Convert.toStr(LoginHelper.getUserId())); - return R.ok(); - } catch (Exception e) { - e.printStackTrace(); - return R.fail("签收任务失败:" + e.getMessage()); - } - } - - /** - * 归还(拾取的)任务 - * - * @param taskId 任务id - */ - @Log(title = "任务管理", businessType = BusinessType.INSERT) - @RepeatSubmit() - @PostMapping("/returnTask/{taskId}") - public R returnTask(@NotBlank(message = "任务id不能为空") @PathVariable String taskId) { - try { - taskService.setAssignee(taskId, null); - return R.ok(); - } catch (Exception e) { - e.printStackTrace(); - return R.fail("归还任务失败:" + e.getMessage()); - } - } - - /** - * 委派任务 - * - * @param delegateBo 参数 - */ - @Log(title = "任务管理", businessType = BusinessType.INSERT) - @RepeatSubmit() - @PostMapping("/delegateTask") - public R delegateTask(@Validated({AddGroup.class}) @RequestBody DelegateBo delegateBo) { - return toAjax(actTaskService.delegateTask(delegateBo)); - } - - /** - * 终止任务 - * - * @param terminationBo 参数 - */ - @Log(title = "任务管理", businessType = BusinessType.DELETE) - @RepeatSubmit() - @PostMapping("/terminationTask") - public R terminationTask(@RequestBody TerminationBo terminationBo) { - return toAjax(actTaskService.terminationTask(terminationBo)); - } - - /** - * 转办任务 - * - * @param transmitBo 参数 - */ - @Log(title = "任务管理", businessType = BusinessType.INSERT) - @RepeatSubmit() - @PostMapping("/transferTask") - public R transferTask(@Validated({AddGroup.class}) @RequestBody TransmitBo transmitBo) { - return toAjax(actTaskService.transferTask(transmitBo)); - } - - /** - * 会签任务加签 - * - * @param addMultiBo 参数 - */ - @Log(title = "任务管理", businessType = BusinessType.INSERT) - @RepeatSubmit() - @PostMapping("/addMultiInstanceExecution") - public R addMultiInstanceExecution(@Validated({AddGroup.class}) @RequestBody AddMultiBo addMultiBo) { - return toAjax(actTaskService.addMultiInstanceExecution(addMultiBo)); - } - - /** - * 会签任务减签 - * - * @param deleteMultiBo 参数 - */ - @Log(title = "任务管理", businessType = BusinessType.INSERT) - @RepeatSubmit() - @PostMapping("/deleteMultiInstanceExecution") - public R deleteMultiInstanceExecution(@Validated({AddGroup.class}) @RequestBody DeleteMultiBo deleteMultiBo) { - return toAjax(actTaskService.deleteMultiInstanceExecution(deleteMultiBo)); - } - - /** - * 驳回审批 - * - * @param backProcessBo 参数 - */ - @Log(title = "任务管理", businessType = BusinessType.INSERT) - @RepeatSubmit() - @PostMapping("/backProcess") - public R backProcess(@Validated({AddGroup.class}) @RequestBody BackProcessBo backProcessBo) { - return R.ok("操作成功", actTaskService.backProcess(backProcessBo)); - } - - /** - * 获取当前任务 - * - * @param taskId 任务id - */ - @GetMapping("/getTaskById/{taskId}") - public R getTaskById(@PathVariable String taskId) { - return R.ok(QueryUtils.getTask(taskId)); - } - - - /** - * 修改任务办理人 - * - * @param taskIds 任务id - * @param userId 办理人id - */ - @Log(title = "任务管理", businessType = BusinessType.UPDATE) - @RepeatSubmit() - @PutMapping("/updateAssignee/{taskIds}/{userId}") - public R updateAssignee(@PathVariable String[] taskIds, @PathVariable String userId) { - return toAjax(actTaskService.updateAssignee(taskIds, userId)); - } - - /** - * 查询流程变量 - * - * @param taskId 任务id - */ - @GetMapping("/getInstanceVariable/{taskId}") - public R> getProcessInstVariable(@PathVariable String taskId) { - return R.ok(actTaskService.getInstanceVariable(taskId)); - } - - /** - * 获取可驳回得任务节点 - * - * @param processInstanceId 流程实例id - */ - @GetMapping("/getTaskNodeList/{processInstanceId}") - public R> getNodeList(@PathVariable String processInstanceId) { - return R.ok(CollUtil.reverse(wfTaskBackNodeService.getListByInstanceId(processInstanceId))); - } - - /** - * 查询工作流任务用户选择加签人员 - * - * @param taskId 任务id - */ - @GetMapping("/getTaskUserIdsByAddMultiInstance/{taskId}") - public R getTaskUserIdsByAddMultiInstance(@PathVariable String taskId) { - return R.ok("操作成功", actTaskService.getTaskUserIdsByAddMultiInstance(taskId)); - } - - /** - * 查询工作流选择减签人员 - * - * @param taskId 任务id - */ - @GetMapping("/getListByDeleteMultiInstance/{taskId}") - public R> getListByDeleteMultiInstance(@PathVariable String taskId) { - return R.ok(actTaskService.getListByDeleteMultiInstance(taskId)); - } - -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/TestLeaveController.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/TestLeaveController.java deleted file mode 100644 index e1c246f..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/TestLeaveController.java +++ /dev/null @@ -1,106 +0,0 @@ -package org.dromara.workflow.controller; - -import cn.dev33.satoken.annotation.SaCheckPermission; -import jakarta.servlet.http.HttpServletResponse; -import jakarta.validation.constraints.NotEmpty; -import jakarta.validation.constraints.NotNull; -import lombok.RequiredArgsConstructor; -import org.dromara.common.core.domain.R; -import org.dromara.common.core.validate.AddGroup; -import org.dromara.common.core.validate.EditGroup; -import org.dromara.common.excel.utils.ExcelUtil; -import org.dromara.common.idempotent.annotation.RepeatSubmit; -import org.dromara.common.log.annotation.Log; -import org.dromara.common.log.enums.BusinessType; -import org.dromara.common.mybatis.core.page.PageQuery; -import org.dromara.common.mybatis.core.page.TableDataInfo; -import org.dromara.common.web.core.BaseController; -import org.dromara.workflow.domain.bo.TestLeaveBo; -import org.dromara.workflow.domain.vo.TestLeaveVo; -import org.dromara.workflow.service.ITestLeaveService; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.util.List; - -/** - * 请假 - * - * @author may - * @date 2023-07-21 - */ -@Validated -@RequiredArgsConstructor -@RestController -@RequestMapping("/workflow/leave") -public class TestLeaveController extends BaseController { - - private final ITestLeaveService testLeaveService; - - /** - * 查询请假列表 - */ - @SaCheckPermission("workflow:leave:list") - @GetMapping("/list") - public TableDataInfo list(TestLeaveBo bo, PageQuery pageQuery) { - return testLeaveService.queryPageList(bo, pageQuery); - } - - /** - * 导出请假列表 - */ - @SaCheckPermission("workflow:leave:export") - @Log(title = "请假", businessType = BusinessType.EXPORT) - @PostMapping("/export") - public void export(TestLeaveBo bo, HttpServletResponse response) { - List list = testLeaveService.queryList(bo); - ExcelUtil.exportExcel(list, "请假", TestLeaveVo.class, response); - } - - /** - * 获取请假详细信息 - * - * @param id 主键 - */ - @SaCheckPermission("workflow:leave:query") - @GetMapping("/{id}") - public R getInfo(@NotNull(message = "主键不能为空") - @PathVariable Long id) { - return R.ok(testLeaveService.queryById(id)); - } - - /** - * 新增请假 - */ - @SaCheckPermission("workflow:leave:add") - @Log(title = "请假", businessType = BusinessType.INSERT) - @RepeatSubmit() - @PostMapping() - public R add(@Validated(AddGroup.class) @RequestBody TestLeaveBo bo) { - return R.ok(testLeaveService.insertByBo(bo)); - } - - /** - * 修改请假 - */ - @SaCheckPermission("workflow:leave:edit") - @Log(title = "请假", businessType = BusinessType.UPDATE) - @RepeatSubmit() - @PutMapping() - public R edit(@Validated(EditGroup.class) @RequestBody TestLeaveBo bo) { - return R.ok(testLeaveService.updateByBo(bo)); - } - - /** - * 删除请假 - * - * @param ids 主键串 - */ - @SaCheckPermission("workflow:leave:remove") - @Log(title = "请假", businessType = BusinessType.DELETE) - @DeleteMapping("/{ids}") - public R remove(@NotEmpty(message = "主键不能为空") - @PathVariable Long[] ids) { - return toAjax(testLeaveService.deleteWithValidByIds(List.of(ids))); - } -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/WfCategoryController.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/WfCategoryController.java deleted file mode 100644 index 8dced89..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/WfCategoryController.java +++ /dev/null @@ -1,106 +0,0 @@ -package org.dromara.workflow.controller; - -import cn.dev33.satoken.annotation.SaCheckPermission; -import jakarta.servlet.http.HttpServletResponse; -import jakarta.validation.constraints.NotEmpty; -import jakarta.validation.constraints.NotNull; -import lombok.RequiredArgsConstructor; -import org.dromara.common.core.domain.R; -import org.dromara.common.core.validate.AddGroup; -import org.dromara.common.core.validate.EditGroup; -import org.dromara.common.excel.utils.ExcelUtil; -import org.dromara.common.idempotent.annotation.RepeatSubmit; -import org.dromara.common.log.annotation.Log; -import org.dromara.common.log.enums.BusinessType; -import org.dromara.common.web.core.BaseController; -import org.dromara.workflow.domain.bo.WfCategoryBo; -import org.dromara.workflow.domain.vo.WfCategoryVo; -import org.dromara.workflow.service.IWfCategoryService; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.util.List; - -/** - * 流程分类 - * - * @author may - * @date 2023-06-28 - */ -@Validated -@RequiredArgsConstructor -@RestController -@RequestMapping("/workflow/category") -public class WfCategoryController extends BaseController { - - private final IWfCategoryService wfCategoryService; - - /** - * 查询流程分类列表 - */ - @SaCheckPermission("workflow:category:list") - @GetMapping("/list") - public R> list(WfCategoryBo bo) { - List list = wfCategoryService.queryList(bo); - return R.ok(list); - - } - - /** - * 导出流程分类列表 - */ - @SaCheckPermission("workflow:category:export") - @Log(title = "流程分类", businessType = BusinessType.EXPORT) - @PostMapping("/export") - public void export(WfCategoryBo bo, HttpServletResponse response) { - List list = wfCategoryService.queryList(bo); - ExcelUtil.exportExcel(list, "流程分类", WfCategoryVo.class, response); - } - - /** - * 获取流程分类详细信息 - * - * @param id 主键 - */ - @SaCheckPermission("workflow:category:query") - @GetMapping("/{id}") - public R getInfo(@NotNull(message = "主键不能为空") - @PathVariable Long id) { - return R.ok(wfCategoryService.queryById(id)); - } - - /** - * 新增流程分类 - */ - @SaCheckPermission("workflow:category:add") - @Log(title = "流程分类", businessType = BusinessType.INSERT) - @RepeatSubmit() - @PostMapping() - public R add(@Validated(AddGroup.class) @RequestBody WfCategoryBo bo) { - return toAjax(wfCategoryService.insertByBo(bo)); - } - - /** - * 修改流程分类 - */ - @SaCheckPermission("workflow:category:edit") - @Log(title = "流程分类", businessType = BusinessType.UPDATE) - @RepeatSubmit() - @PutMapping() - public R edit(@Validated(EditGroup.class) @RequestBody WfCategoryBo bo) { - return toAjax(wfCategoryService.updateByBo(bo)); - } - - /** - * 删除流程分类 - * - * @param ids 主键串 - */ - @SaCheckPermission("workflow:category:remove") - @Log(title = "流程分类", businessType = BusinessType.DELETE) - @DeleteMapping("/{ids}") - public R remove(@NotEmpty(message = "主键不能为空") - @PathVariable Long[] ids) { - return toAjax(wfCategoryService.deleteWithValidByIds(List.of(ids), true)); - } -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/WfDefinitionConfigController.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/WfDefinitionConfigController.java deleted file mode 100644 index 176aba2..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/WfDefinitionConfigController.java +++ /dev/null @@ -1,79 +0,0 @@ -package org.dromara.workflow.controller; - -import java.util.List; - -import lombok.RequiredArgsConstructor; -import jakarta.validation.constraints.*; -import org.dromara.workflow.domain.bo.WfDefinitionConfigBo; -import org.springframework.web.bind.annotation.*; -import org.springframework.validation.annotation.Validated; -import org.dromara.common.idempotent.annotation.RepeatSubmit; -import org.dromara.common.log.annotation.Log; -import org.dromara.common.web.core.BaseController; -import org.dromara.common.core.domain.R; -import org.dromara.common.core.validate.AddGroup; -import org.dromara.common.log.enums.BusinessType; -import org.dromara.workflow.domain.vo.WfDefinitionConfigVo; -import org.dromara.workflow.service.IWfDefinitionConfigService; - -/** - * 流程定义配置 - * - * @author may - * @date 2024-03-18 - */ -@Validated -@RequiredArgsConstructor -@RestController -@RequestMapping("/workflow/definitionConfig") -public class WfDefinitionConfigController extends BaseController { - - private final IWfDefinitionConfigService wfDefinitionConfigService; - - - /** - * 获取流程定义配置详细信息 - * - * @param definitionId 主键 - */ - @GetMapping("/getByDefId/{definitionId}") - public R getByDefId(@NotBlank(message = "流程定义ID不能为空") - @PathVariable String definitionId) { - return R.ok(wfDefinitionConfigService.getByDefId(definitionId)); - } - - /** - * 新增流程定义配置 - */ - @Log(title = "流程定义配置", businessType = BusinessType.INSERT) - @RepeatSubmit() - @PostMapping("/saveOrUpdate") - public R saveOrUpdate(@Validated(AddGroup.class) @RequestBody WfDefinitionConfigBo bo) { - return toAjax(wfDefinitionConfigService.saveOrUpdate(bo)); - } - - /** - * 删除流程定义配置 - * - * @param ids 主键串 - */ - @Log(title = "流程定义配置", businessType = BusinessType.DELETE) - @DeleteMapping("/{ids}") - public R remove(@NotEmpty(message = "主键不能为空") - @PathVariable Long[] ids) { - return toAjax(wfDefinitionConfigService.deleteByIds(List.of(ids))); - } - - /** - * 查询流程定义配置排除当前查询的流程定义 - * - * @param tableName 表名 - * @param definitionId 流程定义id - */ - @GetMapping("/getByTableNameNotDefId/{tableName}/{definitionId}") - public R> getByTableNameNotDefId(@NotBlank(message = "表名不能为空") @PathVariable String tableName, - @NotBlank(message = "流程定义ID不能为空") @PathVariable String definitionId) { - return R.ok(wfDefinitionConfigService.getByTableNameNotDefId(tableName, definitionId)); - } - -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/WfFormManageController.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/WfFormManageController.java deleted file mode 100644 index 198e233..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/WfFormManageController.java +++ /dev/null @@ -1,114 +0,0 @@ -package org.dromara.workflow.controller; - -import java.util.List; - -import lombok.RequiredArgsConstructor; -import jakarta.servlet.http.HttpServletResponse; -import jakarta.validation.constraints.*; -import cn.dev33.satoken.annotation.SaCheckPermission; -import org.springframework.web.bind.annotation.*; -import org.springframework.validation.annotation.Validated; -import org.dromara.common.idempotent.annotation.RepeatSubmit; -import org.dromara.common.log.annotation.Log; -import org.dromara.common.web.core.BaseController; -import org.dromara.common.mybatis.core.page.PageQuery; -import org.dromara.common.core.domain.R; -import org.dromara.common.core.validate.AddGroup; -import org.dromara.common.core.validate.EditGroup; -import org.dromara.common.log.enums.BusinessType; -import org.dromara.common.excel.utils.ExcelUtil; -import org.dromara.workflow.domain.vo.WfFormManageVo; -import org.dromara.workflow.domain.bo.WfFormManageBo; -import org.dromara.workflow.service.IWfFormManageService; -import org.dromara.common.mybatis.core.page.TableDataInfo; - -/** - * 表单管理 - * - * @author may - * @date 2024-03-29 - */ -@Validated -@RequiredArgsConstructor -@RestController -@RequestMapping("/workflow/formManage") -public class WfFormManageController extends BaseController { - - private final IWfFormManageService wfFormManageService; - - /** - * 查询表单管理列表 - */ - @SaCheckPermission("workflow:formManage:list") - @GetMapping("/list") - public TableDataInfo list(WfFormManageBo bo, PageQuery pageQuery) { - return wfFormManageService.queryPageList(bo, pageQuery); - } - - /** - * 查询表单管理列表 - */ - @SaCheckPermission("workflow:formManage:list") - @GetMapping("/list/selectList") - public R> selectList() { - return R.ok(wfFormManageService.selectList()); - } - - /** - * 导出表单管理列表 - */ - @SaCheckPermission("workflow:formManage:export") - @Log(title = "表单管理", businessType = BusinessType.EXPORT) - @PostMapping("/export") - public void export(WfFormManageBo bo, HttpServletResponse response) { - List list = wfFormManageService.queryList(bo); - ExcelUtil.exportExcel(list, "表单管理", WfFormManageVo.class, response); - } - - /** - * 获取表单管理详细信息 - * - * @param id 主键 - */ - @SaCheckPermission("workflow:formManage:query") - @GetMapping("/{id}") - public R getInfo(@NotNull(message = "主键不能为空") - @PathVariable Long id) { - return R.ok(wfFormManageService.queryById(id)); - } - - /** - * 新增表单管理 - */ - @SaCheckPermission("workflow:formManage:add") - @Log(title = "表单管理", businessType = BusinessType.INSERT) - @RepeatSubmit() - @PostMapping() - public R add(@Validated(AddGroup.class) @RequestBody WfFormManageBo bo) { - return toAjax(wfFormManageService.insertByBo(bo)); - } - - /** - * 修改表单管理 - */ - @SaCheckPermission("workflow:formManage:edit") - @Log(title = "表单管理", businessType = BusinessType.UPDATE) - @RepeatSubmit() - @PutMapping() - public R edit(@Validated(EditGroup.class) @RequestBody WfFormManageBo bo) { - return toAjax(wfFormManageService.updateByBo(bo)); - } - - /** - * 删除表单管理 - * - * @param ids 主键串 - */ - @SaCheckPermission("workflow:formManage:remove") - @Log(title = "表单管理", businessType = BusinessType.DELETE) - @DeleteMapping("/{ids}") - public R remove(@NotEmpty(message = "主键不能为空") - @PathVariable Long[] ids) { - return toAjax(wfFormManageService.deleteByIds(List.of(ids))); - } -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/ActHiProcinst.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/ActHiProcinst.java deleted file mode 100644 index e87fb92..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/ActHiProcinst.java +++ /dev/null @@ -1,152 +0,0 @@ -package org.dromara.workflow.domain; - -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.Data; - -import java.io.Serial; -import java.io.Serializable; -import java.util.Date; - -/** - * 流程实例对象 act_hi_procinst - * - * @author may - * @date 2023-07-22 - */ -@Data -@TableName("act_hi_procinst") -public class ActHiProcinst implements Serializable { - - @Serial - private static final long serialVersionUID = 1L; - - /** - * - */ - @TableId(value = "ID_") - private String id; - - /** - * - */ - @TableField(value = "REV_") - private Long rev; - - /** - * - */ - @TableField(value = "PROC_INST_ID_") - private String procInstId; - - /** - * - */ - @TableField(value = "BUSINESS_KEY_") - private String businessKey; - - /** - * - */ - @TableField(value = "PROC_DEF_ID_") - private String procDefId; - - /** - * - */ - @TableField(value = "START_TIME_") - private Date startTime; - - /** - * - */ - @TableField(value = "END_TIME_") - private Date endTime; - - /** - * - */ - @TableField(value = "DURATION_") - private Long duration; - - /** - * - */ - @TableField(value = "START_USER_ID_") - private String startUserId; - - /** - * - */ - @TableField(value = "START_ACT_ID_") - private String startActId; - - /** - * - */ - @TableField(value = "END_ACT_ID_") - private String endActId; - - /** - * - */ - @TableField(value = "SUPER_PROCESS_INSTANCE_ID_") - private String superProcessInstanceId; - - /** - * - */ - @TableField(value = "DELETE_REASON_") - private String deleteReason; - - /** - * - */ - @TableField(value = "TENANT_ID_") - private String tenantId; - - /** - * - */ - @TableField(value = "NAME_") - private String name; - - /** - * - */ - @TableField(value = "CALLBACK_ID_") - private String callbackId; - - /** - * - */ - @TableField(value = "CALLBACK_TYPE_") - private String callbackType; - - /** - * - */ - @TableField(value = "REFERENCE_ID_") - private String referenceId; - - /** - * - */ - @TableField(value = "REFERENCE_TYPE_") - private String referenceType; - - /** - * - */ - @TableField(value = "PROPAGATED_STAGE_INST_ID_") - private String propagatedStageInstId; - - /** - * - */ - @TableField(value = "BUSINESS_STATUS_") - private String businessStatus; - - -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/ActHiTaskinst.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/ActHiTaskinst.java deleted file mode 100644 index abc17b5..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/ActHiTaskinst.java +++ /dev/null @@ -1,193 +0,0 @@ -package org.dromara.workflow.domain; - -import com.baomidou.mybatisplus.annotation.*; -import lombok.Data; - -import java.io.Serializable; -import java.util.Date; - -import java.io.Serial; - -/** - * 流程历史任务对象 act_hi_taskinst - * - * @author may - * @date 2024-03-02 - */ -@Data -@TableName("act_hi_taskinst") -public class ActHiTaskinst implements Serializable { - - @Serial - private static final long serialVersionUID = 1L; - - /** - * - */ - @TableId(value = "ID_") - private String id; - - /** - * 版本 - */ - @TableField(value = "REV_") - private Long rev; - - /** - * 流程定义id - */ - @TableField(value = "PROC_DEF_ID_") - private String procDefId; - - /** - * - */ - @TableField(value = "TASK_DEF_ID_") - private String taskDefId; - - /** - * 任务节点id - */ - @TableField(value = "TASK_DEF_KEY_") - private String taskDefKey; - - /** - * 流程实例id - */ - @TableField(value = "PROC_INST_ID_") - private String procInstId; - - /** - * 流程执行id - */ - @TableField(value = "EXECUTION_ID") - private String executionId; - - /** - * - */ - @TableField(value = "SCOPE_ID_") - private String scopeId; - - /** - * - */ - @TableField(value = "SUB_SCOPE_ID_") - private String subScopeId; - - /** - * 先用当前字段标识抄送类型 - */ - @TableField(value = "SCOPE_TYPE_") - private String scopeType; - - /** - * - */ - @TableField(value = "SCOPE_DEFINITION_ID_") - private String scopeDefinitionId; - - /** - * - */ - @TableField(value = "PROPAGATED_STAGE_INST_ID_") - private String propagatedStageInstId; - - /** - * 任务名称 - */ - @TableField(value = "NAME_") - private String name; - - /** - * 父级id - */ - @TableField(value = "PARENT_TASK_ID_") - private String parentTaskId; - - /** - * 描述 - */ - @TableField(value = "DESCRIPTION_") - private String description; - - /** - * 办理人 - */ - @TableField(value = "OWNER_") - private String owner; - - /** - * 办理人 - */ - @TableField(value = "ASSIGNEE_") - private String assignee; - - /** - * 开始事件 - */ - @TableField(value = "START_TIME_") - private Date startTime; - - /** - * 认领时间 - */ - @TableField(value = "CLAIM_TIME_") - private Date claimTime; - - /** - * 结束时间 - */ - @TableField(value = "END_TIME_") - private Date endTime; - - /** - * 持续时间 - */ - @TableField(value = "DURATION_") - private Long duration; - - /** - * 删除原因 - */ - @TableField(value = "DELETE_REASON_") - private String deleteReason; - - /** - * 优先级 - */ - @TableField(value = "PRIORITY_") - private Long priority; - - /** - * 到期时间 - */ - @TableField(value = "DUE_DATE_") - private Date dueDate; - - /** - * - */ - @TableField(value = "FORM_KEY_") - private String formKey; - - /** - * 分类 - */ - @TableField(value = "CATEGORY_") - private String category; - - /** - * 最后修改时间 - */ - @TableField(value = "LAST_UPDATED_TIME_") - private Date lastUpdatedTime; - - /** - * 租户id - */ - @TableField(value = "TENANT_ID_") - private String tenantId; - - -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/TestLeave.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/TestLeave.java deleted file mode 100644 index 7d42a9b..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/TestLeave.java +++ /dev/null @@ -1,63 +0,0 @@ -package org.dromara.workflow.domain; - -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.Data; -import lombok.EqualsAndHashCode; -import org.dromara.common.mybatis.core.domain.BaseEntity; - -import java.io.Serial; -import java.util.Date; - -/** - * 请假对象 test_leave - * - * @author may - * @date 2023-07-21 - */ -@Data -@EqualsAndHashCode(callSuper = true) -@TableName("test_leave") -public class TestLeave extends BaseEntity { - - @Serial - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @TableId(value = "id") - private Long id; - - /** - * 请假类型 - */ - private String leaveType; - - /** - * 开始时间 - */ - private Date startDate; - - /** - * 结束时间 - */ - private Date endDate; - - /** - * 请假天数 - */ - private Integer leaveDays; - - /** - * 请假原因 - */ - private String remark; - - /** - * 状态 - */ - private String status; - - -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/WfCategory.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/WfCategory.java deleted file mode 100644 index 94a7cf5..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/WfCategory.java +++ /dev/null @@ -1,52 +0,0 @@ -package org.dromara.workflow.domain; - -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.Data; -import lombok.EqualsAndHashCode; -import org.dromara.common.tenant.core.TenantEntity; - -import java.io.Serial; - -/** - * 流程分类对象 wf_category - * - * @author may - * @date 2023-06-27 - */ -@Data -@EqualsAndHashCode(callSuper = true) -@TableName("wf_category") -public class WfCategory extends TenantEntity { - - @Serial - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @TableId(value = "id") - private Long id; - - /** - * 分类名称 - */ - private String categoryName; - - /** - * 分类编码 - */ - private String categoryCode; - - /** - * 父级id - */ - private Long parentId; - - /** - * 排序 - */ - private Long sortNum; - - -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/WfDefinitionConfig.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/WfDefinitionConfig.java deleted file mode 100644 index 11dcaa0..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/WfDefinitionConfig.java +++ /dev/null @@ -1,56 +0,0 @@ -package org.dromara.workflow.domain; - -import org.dromara.common.mybatis.core.domain.BaseEntity; -import com.baomidou.mybatisplus.annotation.*; -import lombok.Data; -import lombok.EqualsAndHashCode; - -import java.io.Serial; - -/** - * 流程定义配置对象 wf_definition_config - * - * @author may - * @date 2024-03-18 - */ -@Data -@EqualsAndHashCode(callSuper = true) -@TableName("wf_definition_config") -public class WfDefinitionConfig extends BaseEntity { - - @Serial - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @TableId(value = "id") - private Long id; - - /** - * 表名 - */ - private String tableName; - - /** - * 流程定义ID - */ - private String definitionId; - - /** - * 流程KEY - */ - private String processKey; - - /** - * 流程版本 - */ - private Integer version; - - /** - * 备注 - */ - private String remark; - - -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/WfFormManage.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/WfFormManage.java deleted file mode 100644 index 47f0d7a..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/WfFormManage.java +++ /dev/null @@ -1,51 +0,0 @@ -package org.dromara.workflow.domain; - -import org.dromara.common.tenant.core.TenantEntity; -import com.baomidou.mybatisplus.annotation.*; -import lombok.Data; -import lombok.EqualsAndHashCode; - -import java.io.Serial; - -/** - * 表单管理对象 wf_form_manage - * - * @author may - * @date 2024-03-29 - */ -@Data -@EqualsAndHashCode(callSuper = true) -@TableName("wf_form_manage") -public class WfFormManage extends TenantEntity { - - @Serial - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @TableId(value = "id") - private Long id; - - /** - * 表单名称 - */ - private String formName; - - /** - * 表单类型 - */ - private String formType; - - /** - * 路由地址/表单ID - */ - private String router; - - /** - * 备注 - */ - private String remark; - - -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/WfNodeConfig.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/WfNodeConfig.java deleted file mode 100644 index 999425f..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/WfNodeConfig.java +++ /dev/null @@ -1,61 +0,0 @@ -package org.dromara.workflow.domain; - -import org.dromara.common.tenant.core.TenantEntity; -import com.baomidou.mybatisplus.annotation.*; -import lombok.Data; -import lombok.EqualsAndHashCode; - -import java.io.Serial; - -/** - * 节点配置对象 wf_node_config - * - * @author may - * @date 2024-03-30 - */ -@Data -@EqualsAndHashCode(callSuper = true) -@TableName("wf_node_config") -public class WfNodeConfig extends TenantEntity { - - @Serial - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @TableId(value = "id") - private Long id; - - /** - * 表单id - */ - private Long formId; - - /** - * 表单类型 - */ - private String formType; - - /** - * 节点名称 - */ - private String nodeName; - - /** - * 节点id - */ - private String nodeId; - - /** - * 流程定义id - */ - private String definitionId; - - /** - * 是否为申请人节点 (0是 1否) - */ - private String applyUserTask; - - -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/WfTaskBackNode.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/WfTaskBackNode.java deleted file mode 100644 index 6f59727..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/WfTaskBackNode.java +++ /dev/null @@ -1,61 +0,0 @@ -package org.dromara.workflow.domain; - -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.Data; -import lombok.EqualsAndHashCode; -import org.dromara.common.tenant.core.TenantEntity; - -import java.io.Serial; - -/** - * 节点驳回记录 wf_task_back_node - * - * @author may - * @date 2024-03-13 - */ -@Data -@EqualsAndHashCode(callSuper = true) -@TableName("wf_task_back_node") -public class WfTaskBackNode extends TenantEntity { - - @Serial - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @TableId(value = "id") - private Long id; - - /** - * 实例id - */ - private String instanceId; - - /** - * 节点id - */ - private String nodeId; - - /** - * 节点名称 - */ - private String nodeName; - - /** - * 排序 - */ - private Integer orderNo; - - /** - * 节点类型 - */ - private String taskType; - - /** - * 办理人 - */ - private String assignee; - -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/AddMultiBo.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/AddMultiBo.java deleted file mode 100644 index 320ec64..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/AddMultiBo.java +++ /dev/null @@ -1,40 +0,0 @@ -package org.dromara.workflow.domain.bo; - -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.NotEmpty; -import lombok.Data; -import org.dromara.common.core.validate.AddGroup; - -import java.io.Serial; -import java.io.Serializable; -import java.util.List; - -/** - * 加签参数请求 - * - * @author may - */ -@Data -public class AddMultiBo implements Serializable { - - @Serial - private static final long serialVersionUID = 1L; - - /** - * 任务ID - */ - @NotBlank(message = "任务ID不能为空", groups = AddGroup.class) - private String taskId; - - /** - * 加签人员id - */ - @NotEmpty(message = "加签人员不能为空", groups = AddGroup.class) - private List assignees; - - /** - * 加签人员名称 - */ - @NotEmpty(message = "加签人员不能为空", groups = AddGroup.class) - private List assigneeNames; -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/BackProcessBo.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/BackProcessBo.java deleted file mode 100644 index d0f4369..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/BackProcessBo.java +++ /dev/null @@ -1,44 +0,0 @@ -package org.dromara.workflow.domain.bo; - -import jakarta.validation.constraints.NotBlank; -import lombok.Data; -import org.dromara.common.core.validate.AddGroup; - -import java.io.Serial; -import java.io.Serializable; -import java.util.List; - - -/** - * 驳回参数请求 - * - * @author may - */ -@Data -public class BackProcessBo implements Serializable { - - @Serial - private static final long serialVersionUID = 1L; - - /** - * 任务ID - */ - @NotBlank(message = "任务ID不能为空", groups = AddGroup.class) - private String taskId; - - /** - * 消息类型 - */ - private List messageType; - - /** - * 驳回的节点id(目前未使用,直接驳回到申请人) - */ - @NotBlank(message = "驳回的节点不能为空", groups = AddGroup.class) - private String targetActivityId; - - /** - * 办理意见 - */ - private String message; -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/CompleteTaskBo.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/CompleteTaskBo.java deleted file mode 100644 index 0623905..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/CompleteTaskBo.java +++ /dev/null @@ -1,65 +0,0 @@ -package org.dromara.workflow.domain.bo; - -import jakarta.validation.constraints.NotBlank; -import lombok.Data; -import org.dromara.common.core.validate.AddGroup; -import org.dromara.workflow.domain.vo.WfCopy; - -import java.io.Serial; -import java.io.Serializable; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; - -/** - * 办理任务请求对象 - * - * @author may - */ -@Data -public class CompleteTaskBo implements Serializable { - - @Serial - private static final long serialVersionUID = 1L; - - /** - * 任务id - */ - @NotBlank(message = "任务id不能为空", groups = {AddGroup.class}) - private String taskId; - - /** - * 附件id - */ - private String fileId; - - /** - * 抄送人员 - */ - private List wfCopyList; - - /** - * 消息类型 - */ - private List messageType; - - /** - * 办理意见 - */ - private String message; - - /** - * 流程变量 - */ - private Map variables; - - public Map getVariables() { - if (variables == null) { - return new HashMap<>(16); - } - variables.entrySet().removeIf(entry -> Objects.isNull(entry.getValue())); - return variables; - } - -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/DelegateBo.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/DelegateBo.java deleted file mode 100644 index a6846a6..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/DelegateBo.java +++ /dev/null @@ -1,38 +0,0 @@ -package org.dromara.workflow.domain.bo; - -import jakarta.validation.constraints.NotBlank; -import lombok.Data; -import org.dromara.common.core.validate.AddGroup; - -import java.io.Serial; -import java.io.Serializable; - -/** - * 委派任务请求对象 - * - * @author may - */ -@Data -public class DelegateBo implements Serializable { - - @Serial - private static final long serialVersionUID = 1L; - - /** - * 委派人id - */ - @NotBlank(message = "委派人id不能为空", groups = {AddGroup.class}) - private String userId; - - /** - * 委派人名称 - */ - @NotBlank(message = "委派人名称不能为空", groups = {AddGroup.class}) - private String nickName; - - /** - * 任务id - */ - @NotBlank(message = "任务id不能为空", groups = {AddGroup.class}) - private String taskId; -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/DeleteMultiBo.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/DeleteMultiBo.java deleted file mode 100644 index e533167..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/DeleteMultiBo.java +++ /dev/null @@ -1,52 +0,0 @@ -package org.dromara.workflow.domain.bo; - -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.NotEmpty; -import lombok.Data; -import org.dromara.common.core.validate.AddGroup; - -import java.io.Serial; -import java.io.Serializable; -import java.util.List; - -/** - * 减签参数请求 - * - * @author may - */ -@Data -public class DeleteMultiBo implements Serializable { - - @Serial - private static final long serialVersionUID = 1L; - - /** - * 任务ID - */ - @NotBlank(message = "任务ID不能为空", groups = AddGroup.class) - private String taskId; - - /** - * 减签人员 - */ - @NotEmpty(message = "减签人员不能为空", groups = AddGroup.class) - private List taskIds; - - /** - * 执行id - */ - @NotEmpty(message = "执行id不能为空", groups = AddGroup.class) - private List executionIds; - - /** - * 人员id - */ - @NotEmpty(message = "减签人员id不能为空", groups = AddGroup.class) - private List assigneeIds; - - /** - * 人员名称 - */ - @NotEmpty(message = "减签人员不能为空", groups = AddGroup.class) - private List assigneeNames; -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/ModelBo.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/ModelBo.java deleted file mode 100644 index efe9acd..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/ModelBo.java +++ /dev/null @@ -1,66 +0,0 @@ -package org.dromara.workflow.domain.bo; - -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.Pattern; -import lombok.Data; -import org.dromara.common.core.validate.AddGroup; -import org.dromara.common.core.validate.EditGroup; -import org.dromara.workflow.common.constant.FlowConstant; - -import java.io.Serial; -import java.io.Serializable; - -/** - * 模型请求对象 - * - * @author may - */ -@Data -public class ModelBo implements Serializable { - - @Serial - private static final long serialVersionUID = 1L; - - /** - * 模型id - */ - @NotBlank(message = "模型ID不能为空", groups = {EditGroup.class}) - private String id; - - /** - * 模型名称 - */ - @NotBlank(message = "模型名称不能为空", groups = {AddGroup.class}) - private String name; - - /** - * 模型标识key - */ - @NotBlank(message = "模型标识key不能为空", groups = {AddGroup.class}) - @Pattern(regexp = FlowConstant.MODEL_KEY_PATTERN, message = "模型标识key只能字符或者下划线开头", groups = {AddGroup.class}) - private String key; - - /** - * 模型分类 - */ - @NotBlank(message = "模型分类不能为空", groups = {AddGroup.class}) - private String categoryCode; - - /** - * 模型XML - */ - @NotBlank(message = "模型XML不能为空", groups = {AddGroup.class}) - private String xml; - - /** - * 模型SVG图片 - */ - @NotBlank(message = "模型SVG不能为空", groups = {EditGroup.class}) - private String svg; - - /** - * 备注 - */ - private String description; - -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/ProcessDefinitionBo.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/ProcessDefinitionBo.java deleted file mode 100644 index 2025932..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/ProcessDefinitionBo.java +++ /dev/null @@ -1,34 +0,0 @@ -package org.dromara.workflow.domain.bo; - -import lombok.Data; - -import java.io.Serial; -import java.io.Serializable; - -/** - * 流程定义请求对象 - * - * @author may - */ -@Data -public class ProcessDefinitionBo implements Serializable { - - @Serial - private static final long serialVersionUID = 1L; - - /** - * 流程定义名称key - */ - private String key; - - /** - * 流程定义名称 - */ - private String name; - - /** - * 模型分类 - */ - private String categoryCode; - -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/ProcessInstanceBo.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/ProcessInstanceBo.java deleted file mode 100644 index 2833b3e..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/ProcessInstanceBo.java +++ /dev/null @@ -1,43 +0,0 @@ -package org.dromara.workflow.domain.bo; - -import lombok.Data; - -import java.io.Serial; -import java.io.Serializable; - -/** - * 流程实例请求对象 - * - * @author may - */ -@Data -public class ProcessInstanceBo implements Serializable { - - @Serial - private static final long serialVersionUID = 1L; - - /** - * 流程名称 - */ - private String name; - - /** - * 流程key - */ - private String key; - - /** - * 任务发起人 - */ - private String startUserId; - - /** - * 业务id - */ - private String businessKey; - - /** - * 模型分类 - */ - private String categoryCode; -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/ProcessInvalidBo.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/ProcessInvalidBo.java deleted file mode 100644 index 41e51c2..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/ProcessInvalidBo.java +++ /dev/null @@ -1,31 +0,0 @@ -package org.dromara.workflow.domain.bo; - -import jakarta.validation.constraints.NotBlank; -import lombok.Data; -import org.dromara.common.core.validate.AddGroup; - -import java.io.Serial; -import java.io.Serializable; - -/** - * 流程实例作废请求对象 - * - * @author may - */ -@Data -public class ProcessInvalidBo implements Serializable { - - @Serial - private static final long serialVersionUID = 1L; - - /** - * 业务id - */ - @NotBlank(message = "业务id不能为空", groups = {AddGroup.class}) - private String businessKey; - - /** - * 作废原因 - */ - private String deleteReason; -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/StartProcessBo.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/StartProcessBo.java deleted file mode 100644 index 7af7935..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/StartProcessBo.java +++ /dev/null @@ -1,49 +0,0 @@ -package org.dromara.workflow.domain.bo; - - -import jakarta.validation.constraints.NotBlank; -import lombok.Data; -import org.dromara.common.core.validate.AddGroup; - -import java.io.Serial; -import java.io.Serializable; -import java.util.HashMap; -import java.util.Map; -import java.util.Objects; - -/** - * 启动流程对象 - * - * @author may - */ -@Data -public class StartProcessBo implements Serializable { - - @Serial - private static final long serialVersionUID = 1L; - - /** - * 业务唯一值id - */ - @NotBlank(message = "业务ID不能为空", groups = {AddGroup.class}) - private String businessKey; - - /** - * 表名 - */ - @NotBlank(message = "表名不能为空", groups = {AddGroup.class}) - private String tableName; - - /** - * 流程变量,前端会提交一个元素{'entity': {业务详情数据对象}} - */ - private Map variables; - - public Map getVariables() { - if (variables == null) { - return new HashMap<>(16); - } - variables.entrySet().removeIf(entry -> Objects.isNull(entry.getValue())); - return variables; - } -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/SysUserMultiBo.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/SysUserMultiBo.java deleted file mode 100644 index e4d99e4..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/SysUserMultiBo.java +++ /dev/null @@ -1,39 +0,0 @@ -package org.dromara.workflow.domain.bo; - -import lombok.Data; - -import java.io.Serial; -import java.io.Serializable; - - -/** - * 用户加签查询 - * - * @author may - */ -@Data -public class SysUserMultiBo implements Serializable { - - @Serial - private static final long serialVersionUID = 1L; - - /** - * 人员名称 - */ - private String userName; - - /** - * 人员名称 - */ - private String nickName; - - /** - * 部门id - */ - private String deptId; - - /** - * 任务id - */ - private String taskId; -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/TaskBo.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/TaskBo.java deleted file mode 100644 index 3037479..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/TaskBo.java +++ /dev/null @@ -1,33 +0,0 @@ -package org.dromara.workflow.domain.bo; - -import lombok.Data; - -import java.io.Serial; -import java.io.Serializable; - -/** - * 任务请求对象 - * - * @author may - */ -@Data -public class TaskBo implements Serializable { - - @Serial - private static final long serialVersionUID = 1L; - - /** - * 任务名称 - */ - private String name; - - /** - * 流程定义名称 - */ - private String processDefinitionName; - - /** - * 流程定义key - */ - private String processDefinitionKey; -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/TaskUrgingBo.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/TaskUrgingBo.java deleted file mode 100644 index 20856ef..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/TaskUrgingBo.java +++ /dev/null @@ -1,34 +0,0 @@ -package org.dromara.workflow.domain.bo; - -import lombok.Data; - -import java.io.Serial; -import java.io.Serializable; -import java.util.List; - -/** - * 任务催办 - * - * @author may - */ -@Data -public class TaskUrgingBo implements Serializable { - - @Serial - private static final long serialVersionUID = 1L; - - /** - * 流程实例id - */ - private String processInstanceId; - - /** - * 消息类型 - */ - private List messageType; - - /** - * 催办内容(为空默认系统内置信息) - */ - private String message; -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/TerminationBo.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/TerminationBo.java deleted file mode 100644 index 8f2206e..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/TerminationBo.java +++ /dev/null @@ -1,31 +0,0 @@ -package org.dromara.workflow.domain.bo; - -import jakarta.validation.constraints.NotBlank; -import lombok.Data; -import org.dromara.common.core.validate.AddGroup; - -import java.io.Serial; -import java.io.Serializable; - -/** - * 终止任务请求对象 - * - * @author may - */ -@Data -public class TerminationBo implements Serializable { - - @Serial - private static final long serialVersionUID = 1L; - - /** - * 任务id - */ - @NotBlank(message = "任务id为空", groups = AddGroup.class) - private String taskId; - - /** - * 审批意见 - */ - private String comment; -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/TestLeaveBo.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/TestLeaveBo.java deleted file mode 100644 index 877e981..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/TestLeaveBo.java +++ /dev/null @@ -1,80 +0,0 @@ -package org.dromara.workflow.domain.bo; - -import com.fasterxml.jackson.annotation.JsonFormat; -import io.github.linpeilie.annotations.AutoMapper; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.NotNull; -import lombok.Data; -import lombok.EqualsAndHashCode; -import org.dromara.common.core.validate.AddGroup; -import org.dromara.common.core.validate.EditGroup; -import org.dromara.common.mybatis.core.domain.BaseEntity; -import org.dromara.workflow.domain.TestLeave; - -import java.util.Date; - -/** - * 请假业务对象 test_leave - * - * @author may - * @date 2023-07-21 - */ -@Data -@EqualsAndHashCode(callSuper = true) -@AutoMapper(target = TestLeave.class, reverseConvertGenerate = false) -public class TestLeaveBo extends BaseEntity { - - /** - * 主键 - */ - @NotNull(message = "主键不能为空", groups = {EditGroup.class}) - private Long id; - - /** - * 请假类型 - */ - @NotBlank(message = "请假类型不能为空", groups = {AddGroup.class, EditGroup.class}) - private String leaveType; - - /** - * 开始时间 - */ - @NotNull(message = "开始时间不能为空", groups = {AddGroup.class, EditGroup.class}) - @JsonFormat(pattern = "yyyy-MM-dd") - private Date startDate; - - /** - * 结束时间 - */ - @NotNull(message = "结束时间不能为空", groups = {AddGroup.class, EditGroup.class}) - @JsonFormat(pattern = "yyyy-MM-dd") - private Date endDate; - - /** - * 请假天数 - */ - @NotNull(message = "请假天数不能为空", groups = {AddGroup.class, EditGroup.class}) - private Integer leaveDays; - - /** - * 开始时间 - */ - private Integer startLeaveDays; - - /** - * 结束时间 - */ - private Integer endLeaveDays; - - /** - * 请假原因 - */ - private String remark; - - /** - * 状态 - */ - private String status; - - -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/TransmitBo.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/TransmitBo.java deleted file mode 100644 index 3eb6609..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/TransmitBo.java +++ /dev/null @@ -1,37 +0,0 @@ -package org.dromara.workflow.domain.bo; - -import jakarta.validation.constraints.NotBlank; -import lombok.Data; -import org.dromara.common.core.validate.AddGroup; - -import java.io.Serial; -import java.io.Serializable; - -/** - * 终转办务请求对象 - * - * @author may - */ -@Data -public class TransmitBo implements Serializable { - - @Serial - private static final long serialVersionUID = 1L; - - /** - * 任务id - */ - @NotBlank(message = "任务id为空", groups = AddGroup.class) - private String taskId; - - /** - * 转办人id - */ - @NotBlank(message = "转办人不能为空", groups = AddGroup.class) - private String userId; - - /** - * 审批意见 - */ - private String comment; -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/WfCategoryBo.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/WfCategoryBo.java deleted file mode 100644 index 69608fd..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/WfCategoryBo.java +++ /dev/null @@ -1,54 +0,0 @@ -package org.dromara.workflow.domain.bo; - -import io.github.linpeilie.annotations.AutoMapper; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.NotNull; -import lombok.Data; -import lombok.EqualsAndHashCode; -import org.dromara.common.core.validate.AddGroup; -import org.dromara.common.core.validate.EditGroup; -import org.dromara.common.mybatis.core.domain.BaseEntity; -import org.dromara.workflow.domain.WfCategory; - -/** - * 流程分类业务对象 wf_category - * - * @author may - * @date 2023-06-27 - */ -@Data -@EqualsAndHashCode(callSuper = true) -@AutoMapper(target = WfCategory.class, reverseConvertGenerate = false) -public class WfCategoryBo extends BaseEntity { - - /** - * 主键 - */ - @NotNull(message = "主键不能为空", groups = {EditGroup.class}) - private Long id; - - /** - * 分类名称 - */ - @NotBlank(message = "分类名称不能为空", groups = {AddGroup.class, EditGroup.class}) - private String categoryName; - - /** - * 分类编码 - */ - @NotBlank(message = "分类编码不能为空", groups = {AddGroup.class, EditGroup.class}) - private String categoryCode; - - /** - * 父级id - */ - @NotNull(message = "父级id不能为空", groups = {AddGroup.class, EditGroup.class}) - private Long parentId; - - /** - * 排序 - */ - private Long sortNum; - - -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/WfDefinitionConfigBo.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/WfDefinitionConfigBo.java deleted file mode 100644 index fac1770..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/WfDefinitionConfigBo.java +++ /dev/null @@ -1,59 +0,0 @@ -package org.dromara.workflow.domain.bo; - -import org.dromara.workflow.domain.WfDefinitionConfig; -import org.dromara.common.mybatis.core.domain.BaseEntity; -import org.dromara.common.core.validate.AddGroup; -import org.dromara.common.core.validate.EditGroup; -import io.github.linpeilie.annotations.AutoMapper; -import lombok.Data; -import lombok.EqualsAndHashCode; -import jakarta.validation.constraints.*; - -/** - * 流程定义配置业务对象 wf_form_definition - * - * @author may - * @date 2024-03-18 - */ -@Data -@EqualsAndHashCode(callSuper = true) -@AutoMapper(target = WfDefinitionConfig.class, reverseConvertGenerate = false) -public class WfDefinitionConfigBo extends BaseEntity { - - /** - * 主键 - */ - @NotNull(message = "主键不能为空", groups = {EditGroup.class}) - private Long id; - - /** - * 表名 - */ - @NotBlank(message = "表名不能为空", groups = {AddGroup.class}) - private String tableName; - - /** - * 流程定义ID - */ - @NotBlank(message = "流程定义ID不能为空", groups = {AddGroup.class}) - private String definitionId; - - /** - * 流程KEY - */ - @NotBlank(message = "流程KEY不能为空", groups = {AddGroup.class}) - private String processKey; - - /** - * 流程版本 - */ - @NotNull(message = "流程版本不能为空", groups = {AddGroup.class}) - private Integer version; - - /** - * 备注 - */ - private String remark; - - -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/WfFormManageBo.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/WfFormManageBo.java deleted file mode 100644 index 8afc286..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/WfFormManageBo.java +++ /dev/null @@ -1,53 +0,0 @@ -package org.dromara.workflow.domain.bo; - -import org.dromara.workflow.domain.WfFormManage; -import org.dromara.common.mybatis.core.domain.BaseEntity; -import org.dromara.common.core.validate.AddGroup; -import org.dromara.common.core.validate.EditGroup; -import io.github.linpeilie.annotations.AutoMapper; -import lombok.Data; -import lombok.EqualsAndHashCode; -import jakarta.validation.constraints.*; - -/** - * 表单管理业务对象 wf_form_manage - * - * @author may - * @date 2024-03-29 - */ -@Data -@EqualsAndHashCode(callSuper = true) -@AutoMapper(target = WfFormManage.class, reverseConvertGenerate = false) -public class WfFormManageBo extends BaseEntity { - - /** - * 主键 - */ - @NotNull(message = "主键不能为空", groups = { EditGroup.class }) - private Long id; - - /** - * 表单名称 - */ - @NotBlank(message = "表单名称不能为空", groups = { AddGroup.class, EditGroup.class }) - private String formName; - - /** - * 表单类型 - */ - @NotBlank(message = "表单类型不能为空", groups = { AddGroup.class, EditGroup.class }) - private String formType; - /** - * 路由地址/表单ID - */ - @NotBlank(message = "路由地址/表单ID不能为空", groups = { AddGroup.class, EditGroup.class }) - private String router; - - - /** - * 备注 - */ - private String remark; - - -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/WfNodeConfigBo.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/WfNodeConfigBo.java deleted file mode 100644 index de518d3..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/WfNodeConfigBo.java +++ /dev/null @@ -1,63 +0,0 @@ -package org.dromara.workflow.domain.bo; - -import org.dromara.workflow.domain.WfNodeConfig; -import org.dromara.common.mybatis.core.domain.BaseEntity; -import org.dromara.common.core.validate.AddGroup; -import org.dromara.common.core.validate.EditGroup; -import io.github.linpeilie.annotations.AutoMapper; -import lombok.Data; -import lombok.EqualsAndHashCode; -import jakarta.validation.constraints.*; - -/** - * 节点配置业务对象 wf_node_config - * - * @author may - * @date 2024-03-30 - */ -@Data -@EqualsAndHashCode(callSuper = true) -@AutoMapper(target = WfNodeConfig.class, reverseConvertGenerate = false) -public class WfNodeConfigBo extends BaseEntity { - - /** - * 主键 - */ - @NotNull(message = "主键不能为空", groups = {EditGroup.class}) - private Long id; - - /** - * 表单id - */ - private Long formId; - - /** - * 表单类型 - */ - private String formType; - - /** - * 节点名称 - */ - @NotBlank(message = "节点名称不能为空", groups = {AddGroup.class, EditGroup.class}) - private String nodeName; - - /** - * 节点id - */ - @NotBlank(message = "节点id不能为空", groups = {AddGroup.class, EditGroup.class}) - private String nodeId; - - /** - * 流程定义id - */ - @NotBlank(message = "流程定义id不能为空", groups = {AddGroup.class, EditGroup.class}) - private String definitionId; - - /** - * 是否为申请人节点 (0是 1否) - */ - @NotBlank(message = "是否为申请人节点不能为空", groups = {AddGroup.class, EditGroup.class}) - private String applyUserTask; - -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/ActHistoryInfoVo.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/ActHistoryInfoVo.java deleted file mode 100644 index e4c1142..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/ActHistoryInfoVo.java +++ /dev/null @@ -1,93 +0,0 @@ -package org.dromara.workflow.domain.vo; - -import lombok.Data; -import org.dromara.common.translation.annotation.Translation; -import org.dromara.common.translation.constant.TransConstant; -import org.flowable.engine.task.Attachment; - -import java.io.Serial; -import java.io.Serializable; -import java.util.Date; -import java.util.List; - -/** - * 流程审批记录视图 - * - * @author may - */ -@Data -public class ActHistoryInfoVo implements Serializable { - - @Serial - private static final long serialVersionUID = 1L; - /** - * 任务id - */ - private String id; - /** - * 节点id - */ - private String taskDefinitionKey; - /** - * 任务名称 - */ - private String name; - /** - * 流程实例id - */ - private String processInstanceId; - /** - * 版本 - */ - private Integer version; - /** - * 开始时间 - */ - private Date startTime; - /** - * 结束时间 - */ - private Date endTime; - /** - * 运行时长 - */ - private String runDuration; - /** - * 状态 - */ - private String status; - /** - * 状态 - */ - private String statusName; - /** - * 办理人id - */ - private String assignee; - - /** - * 办理人名称 - */ - @Translation(type = TransConstant.USER_ID_TO_NICKNAME, mapper = "assignee") - private String nickName; - - /** - * 办理人id - */ - private String owner; - - /** - * 审批信息id - */ - private String commentId; - - /** - * 审批信息 - */ - private String comment; - - /** - * 审批附件 - */ - private List attachmentList; -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/GraphicInfoVo.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/GraphicInfoVo.java deleted file mode 100644 index 7636131..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/GraphicInfoVo.java +++ /dev/null @@ -1,47 +0,0 @@ -package org.dromara.workflow.domain.vo; - -import lombok.Data; - -import java.io.Serial; -import java.io.Serializable; - -/** - * 节点图形信息 - * - * @author may - */ -@Data -public class GraphicInfoVo implements Serializable { - - @Serial - private static final long serialVersionUID = 1L; - /** - * x坐标 - */ - private double x; - - /** - * y坐标 - */ - private double y; - - /** - * 节点高度 - */ - private double height; - - /** - * 节点宽度 - */ - private double width; - - /** - * 节点id - */ - private String nodeId; - - /** - * 节点名称 - */ - private String nodeName; -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/ModelVo.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/ModelVo.java deleted file mode 100644 index b2ce811..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/ModelVo.java +++ /dev/null @@ -1,48 +0,0 @@ -package org.dromara.workflow.domain.vo; - -import lombok.Data; - -import java.io.Serial; -import java.io.Serializable; - -/** - * 模型视图对象 - * - * @author may - */ -@Data -public class ModelVo implements Serializable { - - @Serial - private static final long serialVersionUID = 1L; - - /** - * 模型id - */ - private String id; - - /** - * 模型名称 - */ - private String name; - - /** - * 模型标识key - */ - private String key; - - /** - * 模型分类 - */ - private String categoryCode; - - /** - * 模型XML - */ - private String xml; - - /** - * 备注 - */ - private String description; -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/MultiInstanceVo.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/MultiInstanceVo.java deleted file mode 100644 index b998396..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/MultiInstanceVo.java +++ /dev/null @@ -1,33 +0,0 @@ -package org.dromara.workflow.domain.vo; - -import lombok.Data; - -import java.io.Serial; -import java.io.Serializable; - -/** - * 多实例信息 - * - * @author may - */ -@Data -public class MultiInstanceVo implements Serializable { - - @Serial - private static final long serialVersionUID = 1L; - - /** - * 会签类型(串行,并行) - */ - private Object type; - - /** - * 会签人员KEY - */ - private String assignee; - - /** - * 会签人员集合KEY - */ - private String assigneeList; -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/ParticipantVo.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/ParticipantVo.java deleted file mode 100644 index c5876f6..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/ParticipantVo.java +++ /dev/null @@ -1,43 +0,0 @@ -package org.dromara.workflow.domain.vo; - -import lombok.Data; - -import java.io.Serial; -import java.io.Serializable; -import java.util.List; - -/** - * 参与者 - * - * @author may - */ -@Data -public class ParticipantVo implements Serializable { - - @Serial - private static final long serialVersionUID = 1L; - - /** - * 组id(角色id) - */ - private List groupIds; - - /** - * 候选人id(用户id) 当组id不为空时,将组内人员查出放入candidate - */ - private List candidate; - - /** - * 候选人名称(用户名称) 当组id不为空时,将组内人员查出放入candidateName - */ - private List candidateName; - - /** - * 是否认领标识 - * 当为空时默认当前任务不需要认领 - * 当为true时当前任务说明为候选模式并且有人已经认领了任务可以归还, - * 当为false时当前任务说明为候选模式该任务未认领, - */ - private Boolean claim; - -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/ProcessDefinitionVo.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/ProcessDefinitionVo.java deleted file mode 100644 index 034adbb..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/ProcessDefinitionVo.java +++ /dev/null @@ -1,70 +0,0 @@ -package org.dromara.workflow.domain.vo; - -import lombok.Data; - -import java.io.Serial; -import java.io.Serializable; -import java.util.Date; - -/** - * 流程定义视图 - * - * @author may - */ -@Data -public class ProcessDefinitionVo implements Serializable { - - @Serial - private static final long serialVersionUID = 1L; - - /** - * 流程定义id - */ - private String id; - - /** - * 流程定义名称 - */ - private String name; - - /** - * 流程定义标识key - */ - private String key; - - /** - * 流程定义版本 - */ - private int version; - - /** - * 流程定义挂起或激活 1激活 2挂起 - */ - private int suspensionState; - - /** - * 流程xml名称 - */ - private String resourceName; - - /** - * 流程图片名称 - */ - private String diagramResourceName; - - /** - * 流程部署id - */ - private String deploymentId; - - /** - * 流程部署时间 - */ - private Date deploymentTime; - - /** - * 流程定义配置 - */ - private WfDefinitionConfigVo wfDefinitionConfigVo; - -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/ProcessInstanceVo.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/ProcessInstanceVo.java deleted file mode 100644 index ab3e7a1..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/ProcessInstanceVo.java +++ /dev/null @@ -1,100 +0,0 @@ -package org.dromara.workflow.domain.vo; - -import lombok.Data; - -import java.io.Serial; -import java.io.Serializable; -import java.util.Date; -import java.util.List; - -/** - * 流程实例视图 - * - * @author may - */ -@Data -public class ProcessInstanceVo implements Serializable { - - @Serial - private static final long serialVersionUID = 1L; - - /** - * 流程实例id - */ - private String id; - - /** - * 流程定义id - */ - private String processDefinitionId; - - /** - * 流程定义名称 - */ - private String processDefinitionName; - - /** - * 流程定义key - */ - private String processDefinitionKey; - - /** - * 流程定义版本 - */ - private Integer processDefinitionVersion; - - /** - * 部署id - */ - private String deploymentId; - - /** - * 业务id - */ - private String businessKey; - - /** - * 是否挂起 - */ - private Boolean isSuspended; - - /** - * 租户id - */ - private String tenantId; - - /** - * 启动时间 - */ - private Date startTime; - - /** - * 结束时间 - */ - private Date endTime; - - /** - * 启动人id - */ - private String startUserId; - - /** - * 流程状态 - */ - private String businessStatus; - - /** - * 流程状态 - */ - private String businessStatusName; - - /** - * 待办任务集合 - */ - private List taskVoList; - - /** - * 节点配置 - */ - private WfNodeConfigVo wfNodeConfigVo; -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/TaskVo.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/TaskVo.java deleted file mode 100644 index 466e776..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/TaskVo.java +++ /dev/null @@ -1,173 +0,0 @@ -package org.dromara.workflow.domain.vo; - -import lombok.Data; -import org.dromara.common.translation.annotation.Translation; -import org.dromara.common.translation.constant.TransConstant; - -import java.io.Serial; -import java.io.Serializable; -import java.util.Date; - -/** - * 任务视图 - * - * @author may - */ -@Data -public class TaskVo implements Serializable { - - @Serial - private static final long serialVersionUID = 1L; - - /** - * 任务id - */ - private String id; - - /** - * 任务名称 - */ - private String name; - - /** - * 描述 - */ - private String description; - - /** - * 优先级 - */ - private Integer priority; - - /** - * 负责此任务的人员的用户id - */ - private String owner; - - /** - * 办理人id - */ - private Long assignee; - - /** - * 办理人 - */ - @Translation(type = TransConstant.USER_ID_TO_NICKNAME, mapper = "assignee") - private String assigneeName; - - - /** - * 流程实例id - */ - private String processInstanceId; - - /** - * 执行id - */ - private String executionId; - - /** - * 无用 - */ - private String taskDefinitionId; - - /** - * 流程定义id - */ - private String processDefinitionId; - - /** - * 创建时间 - */ - private Date createTime; - - /** - * 已办任务-创建时间 - */ - private Date startTime; - - /** - * 结束时间 - */ - private Date endTime; - - /** - * 节点id - */ - private String taskDefinitionKey; - - /** - * 任务截止日期 - */ - private Date dueDate; - - /** - * 流程类别 - */ - private String category; - - /** - * 父级任务id - */ - private String parentTaskId; - - /** - * 租户id - */ - private String tenantId; - - /** - * 认领时间 - */ - private Date claimTime; - - /** - * 流程状态 - */ - private String businessStatus; - - /** - * 流程状态 - */ - private String businessStatusName; - - /** - * 流程定义名称 - */ - private String processDefinitionName; - - /** - * 流程定义key - */ - private String processDefinitionKey; - - /** - * 流程定义版本 - */ - private Integer processDefinitionVersion; - - /** - * 参与者 - */ - private ParticipantVo participantVo; - - /** - * 是否会签 - */ - private Boolean multiInstance; - - /** - * 业务id - */ - private String businessKey; - - /** - * 流程定义配置 - */ - private WfDefinitionConfigVo wfDefinitionConfigVo; - - /** - * 节点配置 - */ - private WfNodeConfigVo wfNodeConfigVo; -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/TestLeaveVo.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/TestLeaveVo.java deleted file mode 100644 index 47886d7..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/TestLeaveVo.java +++ /dev/null @@ -1,70 +0,0 @@ -package org.dromara.workflow.domain.vo; - -import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; -import com.alibaba.excel.annotation.ExcelProperty; -import io.github.linpeilie.annotations.AutoMapper; -import lombok.Data; -import org.dromara.workflow.domain.TestLeave; - -import java.io.Serial; -import java.io.Serializable; -import java.util.Date; - - -/** - * 请假视图对象 test_leave - * - * @author may - * @date 2023-07-21 - */ -@Data -@ExcelIgnoreUnannotated -@AutoMapper(target = TestLeave.class) -public class TestLeaveVo implements Serializable { - - @Serial - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @ExcelProperty(value = "主键") - private Long id; - - /** - * 请假类型 - */ - @ExcelProperty(value = "请假类型") - private String leaveType; - - /** - * 开始时间 - */ - @ExcelProperty(value = "开始时间") - private Date startDate; - - /** - * 结束时间 - */ - @ExcelProperty(value = "结束时间") - private Date endDate; - - /** - * 请假天数 - */ - @ExcelProperty(value = "请假天数") - private Integer leaveDays; - - /** - * 备注 - */ - @ExcelProperty(value = "请假原因") - private String remark; - - /** - * 状态 - */ - @ExcelProperty(value = "状态") - private String status; - -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/VariableVo.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/VariableVo.java deleted file mode 100644 index 6a26c82..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/VariableVo.java +++ /dev/null @@ -1,28 +0,0 @@ -package org.dromara.workflow.domain.vo; - -import lombok.Data; - -import java.io.Serial; -import java.io.Serializable; - -/** - * 流程变量 - * - * @author may - */ -@Data -public class VariableVo implements Serializable { - - @Serial - private static final long serialVersionUID = 1L; - - /** - * 变量key - */ - private String key; - - /** - * 变量值 - */ - private String value; -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/WfCategoryVo.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/WfCategoryVo.java deleted file mode 100644 index 362f646..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/WfCategoryVo.java +++ /dev/null @@ -1,58 +0,0 @@ -package org.dromara.workflow.domain.vo; - -import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; -import com.alibaba.excel.annotation.ExcelProperty; -import io.github.linpeilie.annotations.AutoMapper; -import lombok.Data; -import org.dromara.workflow.domain.WfCategory; - -import java.io.Serial; -import java.io.Serializable; - - -/** - * 流程分类视图对象 wf_category - * - * @author may - * @date 2023-06-27 - */ -@Data -@ExcelIgnoreUnannotated -@AutoMapper(target = WfCategory.class) -public class WfCategoryVo implements Serializable { - - @Serial - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @ExcelProperty(value = "主键") - private Long id; - - /** - * 分类名称 - */ - @ExcelProperty(value = "分类名称") - private String categoryName; - - /** - * 分类编码 - */ - @ExcelProperty(value = "分类编码") - private String categoryCode; - - /** - * 父级id - */ - @ExcelProperty(value = "父级id") - private Long parentId; - - /** - * 排序 - */ - @ExcelProperty(value = "排序") - private Long sortNum; - - -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/WfCopy.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/WfCopy.java deleted file mode 100644 index 88a5a21..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/WfCopy.java +++ /dev/null @@ -1,29 +0,0 @@ -package org.dromara.workflow.domain.vo; - -import lombok.Data; - -import java.io.Serial; -import java.io.Serializable; - -/** - * 抄送 - * - * @author may - */ -@Data -public class WfCopy implements Serializable { - - @Serial - private static final long serialVersionUID = 1L; - - /** - * 用户id - */ - private Long userId; - - /** - * 用户名称 - */ - private String userName; - -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/WfDefinitionConfigVo.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/WfDefinitionConfigVo.java deleted file mode 100644 index 9c7b0d7..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/WfDefinitionConfigVo.java +++ /dev/null @@ -1,70 +0,0 @@ -package org.dromara.workflow.domain.vo; - -import org.dromara.workflow.domain.WfDefinitionConfig; -import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; -import com.alibaba.excel.annotation.ExcelProperty; -import io.github.linpeilie.annotations.AutoMapper; -import lombok.Data; - -import java.io.Serial; -import java.io.Serializable; - - -/** - * 流程定义配置视图对象 wf_definition_config - * - * @author may - * @date 2024-03-18 - */ -@Data -@ExcelIgnoreUnannotated -@AutoMapper(target = WfDefinitionConfig.class) -public class WfDefinitionConfigVo implements Serializable { - - @Serial - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @ExcelProperty(value = "主键") - private Long id; - - /** - * 表名 - */ - @ExcelProperty(value = "表名") - private String tableName; - - /** - * 流程定义ID - */ - @ExcelProperty(value = "流程定义ID") - private String definitionId; - - /** - * 流程KEY - */ - @ExcelProperty(value = "流程KEY") - private String processKey; - - - /** - * 流程版本 - */ - @ExcelProperty(value = "流程版本") - private Integer version; - - /** - * 备注 - */ - @ExcelProperty(value = "备注") - private String remark; - - /** - * 表单管理 - */ - private WfFormManageVo wfFormManageVo; - - -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/WfFormManageVo.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/WfFormManageVo.java deleted file mode 100644 index 302df23..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/WfFormManageVo.java +++ /dev/null @@ -1,63 +0,0 @@ -package org.dromara.workflow.domain.vo; - -import org.dromara.workflow.domain.WfFormManage; -import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; -import com.alibaba.excel.annotation.ExcelProperty; -import io.github.linpeilie.annotations.AutoMapper; -import lombok.Data; - -import java.io.Serial; -import java.io.Serializable; - - -/** - * 表单管理视图对象 wf_form_manage - * - * @author may - * @date 2024-03-29 - */ -@Data -@ExcelIgnoreUnannotated -@AutoMapper(target = WfFormManage.class) -public class WfFormManageVo implements Serializable { - - @Serial - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @ExcelProperty(value = "主键") - private Long id; - - /** - * 表单名称 - */ - @ExcelProperty(value = "表单名称") - private String formName; - - /** - * 表单类型 - */ - @ExcelProperty(value = "表单类型") - private String formType; - - /** - * 表单类型名称 - */ - private String formTypeName; - - /** - * 路由地址/表单ID - */ - @ExcelProperty(value = "路由地址/表单ID") - private String router; - - /** - * 备注 - */ - @ExcelProperty(value = "备注") - private String remark; - - -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/WfNodeConfigVo.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/WfNodeConfigVo.java deleted file mode 100644 index 89e9d9b..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/WfNodeConfigVo.java +++ /dev/null @@ -1,75 +0,0 @@ -package org.dromara.workflow.domain.vo; - -import org.dromara.workflow.domain.WfNodeConfig; -import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; -import com.alibaba.excel.annotation.ExcelProperty; -import io.github.linpeilie.annotations.AutoMapper; -import lombok.Data; - -import java.io.Serial; -import java.io.Serializable; - - -/** - * 节点配置视图对象 wf_node_config - * - * @author may - * @date 2024-03-30 - */ -@Data -@ExcelIgnoreUnannotated -@AutoMapper(target = WfNodeConfig.class) -public class WfNodeConfigVo implements Serializable { - - @Serial - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - @ExcelProperty(value = "主键") - private Long id; - - /** - * 表单id - */ - @ExcelProperty(value = "表单id") - private Long formId; - - /** - * 表单类型 - */ - @ExcelProperty(value = "表单类型") - private String formType; - - /** - * 节点名称 - */ - @ExcelProperty(value = "节点名称") - private String nodeName; - - /** - * 节点id - */ - @ExcelProperty(value = "节点id") - private String nodeId; - - /** - * 流程定义id - */ - @ExcelProperty(value = "流程定义id") - private String definitionId; - - /** - * 是否为申请人节点 (0是 1否) - */ - @ExcelProperty(value = "是否为申请人节点 (0是 1否)") - private String applyUserTask; - - /** - * 表单管理 - */ - private WfFormManageVo wfFormManageVo; - - -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/flowable/CustomDefaultProcessDiagramCanvas.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/flowable/CustomDefaultProcessDiagramCanvas.java deleted file mode 100644 index 39fd9d3..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/flowable/CustomDefaultProcessDiagramCanvas.java +++ /dev/null @@ -1,108 +0,0 @@ -package org.dromara.workflow.flowable; - -import org.flowable.bpmn.model.AssociationDirection; -import org.flowable.image.impl.DefaultProcessDiagramCanvas; - -import java.awt.*; -import java.awt.geom.Line2D; -import java.awt.geom.RoundRectangle2D; - -public class CustomDefaultProcessDiagramCanvas extends DefaultProcessDiagramCanvas { - //设置高亮线的颜色 这里我设置成绿色 - protected static Color HIGHLIGHT_SEQUENCEFLOW_COLOR = Color.GREEN; - - public CustomDefaultProcessDiagramCanvas(int width, int height, int minX, int minY, String imageType, String activityFontName, String labelFontName, String annotationFontName, ClassLoader customClassLoader) { - super(width, height, minX, minY, imageType, activityFontName, labelFontName, annotationFontName, customClassLoader); - } - - /** - * 画线颜色设置 - */ - public void drawConnection(int[] xPoints, int[] yPoints, boolean conditional, boolean isDefault, String connectionType, - AssociationDirection associationDirection, boolean highLighted, double scaleFactor) { - - Paint originalPaint = g.getPaint(); - Stroke originalStroke = g.getStroke(); - - g.setPaint(CONNECTION_COLOR); - if (connectionType.equals("association")) { - g.setStroke(ASSOCIATION_STROKE); - } else if (highLighted) { - //设置线的颜色 - g.setPaint(HIGHLIGHT_SEQUENCEFLOW_COLOR); - g.setStroke(HIGHLIGHT_FLOW_STROKE); - } - - for (int i = 1; i < xPoints.length; i++) { - Integer sourceX = xPoints[i - 1]; - Integer sourceY = yPoints[i - 1]; - Integer targetX = xPoints[i]; - Integer targetY = yPoints[i]; - Line2D.Double line = new Line2D.Double(sourceX, sourceY, targetX, targetY); - g.draw(line); - } - - if (isDefault) { - Line2D.Double line = new Line2D.Double(xPoints[0], yPoints[0], xPoints[1], yPoints[1]); - drawDefaultSequenceFlowIndicator(line, scaleFactor); - } - - if (conditional) { - Line2D.Double line = new Line2D.Double(xPoints[0], yPoints[0], xPoints[1], yPoints[1]); - drawConditionalSequenceFlowIndicator(line, scaleFactor); - } - - if (associationDirection == AssociationDirection.ONE || associationDirection == AssociationDirection.BOTH) { - Line2D.Double line = new Line2D.Double(xPoints[xPoints.length - 2], yPoints[xPoints.length - 2], xPoints[xPoints.length - 1], yPoints[xPoints.length - 1]); - drawArrowHead(line, scaleFactor); - } - if (associationDirection == AssociationDirection.BOTH) { - Line2D.Double line = new Line2D.Double(xPoints[1], yPoints[1], xPoints[0], yPoints[0]); - drawArrowHead(line, scaleFactor); - } - g.setPaint(originalPaint); - g.setStroke(originalStroke); - } - - /** - * 高亮节点设置 - */ - public void drawHighLight(int x, int y, int width, int height) { - Paint originalPaint = g.getPaint(); - Stroke originalStroke = g.getStroke(); - //设置高亮节点的颜色 - g.setPaint(HIGHLIGHT_COLOR); - g.setStroke(THICK_TASK_BORDER_STROKE); - - RoundRectangle2D rect = new RoundRectangle2D.Double(x, y, width, height, 20, 20); - g.draw(rect); - - g.setPaint(originalPaint); - g.setStroke(originalStroke); - } - - /** - * @description: 高亮节点红色 - * @param: x - * @param: y - * @param: width - * @param: height - * @return: void - * @author: gssong - * @date: 2022/4/12 - */ - public void drawHighLightRed(int x, int y, int width, int height) { - Paint originalPaint = g.getPaint(); - Stroke originalStroke = g.getStroke(); - //设置高亮节点的颜色 - g.setPaint(Color.green); - g.setStroke(THICK_TASK_BORDER_STROKE); - - RoundRectangle2D rect = new RoundRectangle2D.Double(x, y, width, height, 20, 20); - g.draw(rect); - - g.setPaint(originalPaint); - g.setStroke(originalStroke); - } - -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/flowable/CustomDefaultProcessDiagramGenerator.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/flowable/CustomDefaultProcessDiagramGenerator.java deleted file mode 100644 index e4793a2..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/flowable/CustomDefaultProcessDiagramGenerator.java +++ /dev/null @@ -1,1120 +0,0 @@ -/* 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 - * - * http://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. - */ - -package org.dromara.workflow.flowable; - -import org.flowable.bpmn.model.Event; -import org.flowable.bpmn.model.Process; -import org.flowable.bpmn.model.*; -import org.flowable.image.ProcessDiagramGenerator; - -import java.awt.*; -import java.awt.image.BufferedImage; -import java.io.InputStream; -import java.util.List; -import java.util.*; - -/** - * Class to generate an image based the diagram interchange information in a BPMN 2.0 process. - * - * @author Joram Barrez - * @author Tijs Rademakers - * @author Zheng Ji - */ -public class CustomDefaultProcessDiagramGenerator implements ProcessDiagramGenerator { - - protected Map, ActivityDrawInstruction> activityDrawInstructions = new HashMap<>(); - protected Map, ArtifactDrawInstruction> artifactDrawInstructions = new HashMap<>(); - - public CustomDefaultProcessDiagramGenerator() { - this(1.0); - } - - // The instructions on how to draw a certain construct is - // created statically and stored in a map for performance. - public CustomDefaultProcessDiagramGenerator(final double scaleFactor) { - // start event - activityDrawInstructions.put(StartEvent.class, new ActivityDrawInstruction() { - - @Override - public void draw(CustomDefaultProcessDiagramCanvas processDiagramCanvas, BpmnModel bpmnModel, FlowNode flowNode) { - GraphicInfo graphicInfo = bpmnModel.getGraphicInfo(flowNode.getId()); - StartEvent startEvent = (StartEvent) flowNode; - if (startEvent.getEventDefinitions() != null && !startEvent.getEventDefinitions().isEmpty()) { - EventDefinition eventDefinition = startEvent.getEventDefinitions().get(0); - if (eventDefinition instanceof TimerEventDefinition) { - processDiagramCanvas.drawTimerStartEvent(graphicInfo, scaleFactor); - } else if (eventDefinition instanceof ErrorEventDefinition) { - processDiagramCanvas.drawErrorStartEvent(graphicInfo, scaleFactor); - } else if (eventDefinition instanceof EscalationEventDefinition) { - processDiagramCanvas.drawEscalationStartEvent(graphicInfo, scaleFactor); - } else if (eventDefinition instanceof ConditionalEventDefinition) { - processDiagramCanvas.drawConditionalStartEvent(graphicInfo, scaleFactor); - } else if (eventDefinition instanceof SignalEventDefinition) { - processDiagramCanvas.drawSignalStartEvent(graphicInfo, scaleFactor); - } else if (eventDefinition instanceof MessageEventDefinition) { - processDiagramCanvas.drawMessageStartEvent(graphicInfo, scaleFactor); - } else { - processDiagramCanvas.drawNoneStartEvent(graphicInfo); - } - } else { - List eventTypeElements = startEvent.getExtensionElements().get("eventType"); - if (eventTypeElements != null && eventTypeElements.size() > 0) { - processDiagramCanvas.drawEventRegistryStartEvent(graphicInfo, scaleFactor); - - } else { - processDiagramCanvas.drawNoneStartEvent(graphicInfo); - } - } - } - }); - - // signal catch - activityDrawInstructions.put(IntermediateCatchEvent.class, new ActivityDrawInstruction() { - - @Override - public void draw(CustomDefaultProcessDiagramCanvas processDiagramCanvas, BpmnModel bpmnModel, FlowNode flowNode) { - GraphicInfo graphicInfo = bpmnModel.getGraphicInfo(flowNode.getId()); - IntermediateCatchEvent intermediateCatchEvent = (IntermediateCatchEvent) flowNode; - if (intermediateCatchEvent.getEventDefinitions() != null && !intermediateCatchEvent.getEventDefinitions().isEmpty()) { - - if (intermediateCatchEvent.getEventDefinitions().get(0) instanceof SignalEventDefinition) { - processDiagramCanvas.drawCatchingSignalEvent(flowNode.getName(), graphicInfo, true, scaleFactor); - } else if (intermediateCatchEvent.getEventDefinitions().get(0) instanceof TimerEventDefinition) { - processDiagramCanvas.drawCatchingTimerEvent(flowNode.getName(), graphicInfo, true, scaleFactor); - } else if (intermediateCatchEvent.getEventDefinitions().get(0) instanceof MessageEventDefinition) { - processDiagramCanvas.drawCatchingMessageEvent(flowNode.getName(), graphicInfo, true, scaleFactor); - } else if (intermediateCatchEvent.getEventDefinitions().get(0) instanceof ConditionalEventDefinition) { - processDiagramCanvas.drawCatchingConditionalEvent(flowNode.getName(), graphicInfo, true, scaleFactor); - } - } - } - }); - - // signal throw - activityDrawInstructions.put(ThrowEvent.class, new ActivityDrawInstruction() { - - @Override - public void draw(CustomDefaultProcessDiagramCanvas processDiagramCanvas, BpmnModel bpmnModel, FlowNode flowNode) { - GraphicInfo graphicInfo = bpmnModel.getGraphicInfo(flowNode.getId()); - ThrowEvent throwEvent = (ThrowEvent) flowNode; - if (throwEvent.getEventDefinitions() != null && !throwEvent.getEventDefinitions().isEmpty()) { - if (throwEvent.getEventDefinitions().get(0) instanceof SignalEventDefinition) { - processDiagramCanvas.drawThrowingSignalEvent(graphicInfo, scaleFactor); - } else if (throwEvent.getEventDefinitions().get(0) instanceof EscalationEventDefinition) { - processDiagramCanvas.drawThrowingEscalationEvent(graphicInfo, scaleFactor); - } else if (throwEvent.getEventDefinitions().get(0) instanceof CompensateEventDefinition) { - processDiagramCanvas.drawThrowingCompensateEvent(graphicInfo, scaleFactor); - } else { - processDiagramCanvas.drawThrowingNoneEvent(graphicInfo, scaleFactor); - } - } else { - processDiagramCanvas.drawThrowingNoneEvent(graphicInfo, scaleFactor); - } - } - }); - - // end event - activityDrawInstructions.put(EndEvent.class, new ActivityDrawInstruction() { - - @Override - public void draw(CustomDefaultProcessDiagramCanvas processDiagramCanvas, BpmnModel bpmnModel, FlowNode flowNode) { - GraphicInfo graphicInfo = bpmnModel.getGraphicInfo(flowNode.getId()); - EndEvent endEvent = (EndEvent) flowNode; - if (endEvent.getEventDefinitions() != null && !endEvent.getEventDefinitions().isEmpty()) { - if (endEvent.getEventDefinitions().get(0) instanceof ErrorEventDefinition) { - processDiagramCanvas.drawErrorEndEvent(flowNode.getName(), graphicInfo, scaleFactor); - } else if (endEvent.getEventDefinitions().get(0) instanceof EscalationEventDefinition) { - processDiagramCanvas.drawEscalationEndEvent(flowNode.getName(), graphicInfo, scaleFactor); - } else { - processDiagramCanvas.drawNoneEndEvent(graphicInfo, scaleFactor); - } - } else { - processDiagramCanvas.drawNoneEndEvent(graphicInfo, scaleFactor); - } - } - }); - - // task - activityDrawInstructions.put(Task.class, new ActivityDrawInstruction() { - - @Override - public void draw(CustomDefaultProcessDiagramCanvas processDiagramCanvas, BpmnModel bpmnModel, FlowNode flowNode) { - GraphicInfo graphicInfo = bpmnModel.getGraphicInfo(flowNode.getId()); - processDiagramCanvas.drawTask(flowNode.getName(), graphicInfo, scaleFactor); - } - }); - - // user task - activityDrawInstructions.put(UserTask.class, new ActivityDrawInstruction() { - - @Override - public void draw(CustomDefaultProcessDiagramCanvas processDiagramCanvas, BpmnModel bpmnModel, FlowNode flowNode) { - GraphicInfo graphicInfo = bpmnModel.getGraphicInfo(flowNode.getId()); - processDiagramCanvas.drawUserTask(flowNode.getName(), graphicInfo, scaleFactor); - } - }); - - // script task - activityDrawInstructions.put(ScriptTask.class, new ActivityDrawInstruction() { - - @Override - public void draw(CustomDefaultProcessDiagramCanvas processDiagramCanvas, BpmnModel bpmnModel, FlowNode flowNode) { - GraphicInfo graphicInfo = bpmnModel.getGraphicInfo(flowNode.getId()); - processDiagramCanvas.drawScriptTask(flowNode.getName(), graphicInfo, scaleFactor); - } - }); - - // service task - activityDrawInstructions.put(ServiceTask.class, new ActivityDrawInstruction() { - - @Override - public void draw(CustomDefaultProcessDiagramCanvas processDiagramCanvas, BpmnModel bpmnModel, FlowNode flowNode) { - GraphicInfo graphicInfo = bpmnModel.getGraphicInfo(flowNode.getId()); - ServiceTask serviceTask = (ServiceTask) flowNode; - if ("camel".equalsIgnoreCase(serviceTask.getType())) { - processDiagramCanvas.drawCamelTask(serviceTask.getName(), graphicInfo, scaleFactor); - }else if (ServiceTask.HTTP_TASK.equalsIgnoreCase(serviceTask.getType())) { - processDiagramCanvas.drawHttpTask(serviceTask.getName(), graphicInfo, scaleFactor); - } else if (ServiceTask.DMN_TASK.equalsIgnoreCase(serviceTask.getType())) { - processDiagramCanvas.drawDMNTask(serviceTask.getName(), graphicInfo, scaleFactor); - } else if (ServiceTask.SHELL_TASK.equalsIgnoreCase(serviceTask.getType())) { - processDiagramCanvas.drawShellTask(serviceTask.getName(), graphicInfo, scaleFactor); - } else { - processDiagramCanvas.drawServiceTask(serviceTask.getName(), graphicInfo, scaleFactor); - } - } - }); - - // http service task - activityDrawInstructions.put(HttpServiceTask.class, new ActivityDrawInstruction() { - - @Override - public void draw(CustomDefaultProcessDiagramCanvas processDiagramCanvas, BpmnModel bpmnModel, FlowNode flowNode) { - GraphicInfo graphicInfo = bpmnModel.getGraphicInfo(flowNode.getId()); - processDiagramCanvas.drawHttpTask(flowNode.getName(), graphicInfo, scaleFactor); - } - }); - - // receive task - activityDrawInstructions.put(ReceiveTask.class, new ActivityDrawInstruction() { - - @Override - public void draw(CustomDefaultProcessDiagramCanvas processDiagramCanvas, BpmnModel bpmnModel, FlowNode flowNode) { - GraphicInfo graphicInfo = bpmnModel.getGraphicInfo(flowNode.getId()); - processDiagramCanvas.drawReceiveTask(flowNode.getName(), graphicInfo, scaleFactor); - } - }); - - // send task - activityDrawInstructions.put(SendTask.class, new ActivityDrawInstruction() { - - @Override - public void draw(CustomDefaultProcessDiagramCanvas processDiagramCanvas, BpmnModel bpmnModel, FlowNode flowNode) { - GraphicInfo graphicInfo = bpmnModel.getGraphicInfo(flowNode.getId()); - processDiagramCanvas.drawSendTask(flowNode.getName(), graphicInfo, scaleFactor); - } - }); - - // manual task - activityDrawInstructions.put(ManualTask.class, new ActivityDrawInstruction() { - - @Override - public void draw(CustomDefaultProcessDiagramCanvas processDiagramCanvas, BpmnModel bpmnModel, FlowNode flowNode) { - GraphicInfo graphicInfo = bpmnModel.getGraphicInfo(flowNode.getId()); - processDiagramCanvas.drawManualTask(flowNode.getName(), graphicInfo, scaleFactor); - } - }); - - // send event service task - activityDrawInstructions.put(SendEventServiceTask.class, new ActivityDrawInstruction() { - - @Override - public void draw(CustomDefaultProcessDiagramCanvas processDiagramCanvas, BpmnModel bpmnModel, FlowNode flowNode) { - GraphicInfo graphicInfo = bpmnModel.getGraphicInfo(flowNode.getId()); - processDiagramCanvas.drawSendEventServiceTask(flowNode.getName(), graphicInfo, scaleFactor); - } - }); - - // external worker service task - activityDrawInstructions.put(ExternalWorkerServiceTask.class, new ActivityDrawInstruction() { - - @Override - public void draw(CustomDefaultProcessDiagramCanvas processDiagramCanvas, BpmnModel bpmnModel, FlowNode flowNode) { - GraphicInfo graphicInfo = bpmnModel.getGraphicInfo(flowNode.getId()); - ServiceTask serviceTask = (ServiceTask) flowNode; - processDiagramCanvas.drawServiceTask(serviceTask.getName(), graphicInfo, scaleFactor); - } - }); - - // case service task - activityDrawInstructions.put(CaseServiceTask.class, new ActivityDrawInstruction() { - - @Override - public void draw(CustomDefaultProcessDiagramCanvas processDiagramCanvas, BpmnModel bpmnModel, FlowNode flowNode) { - GraphicInfo graphicInfo = bpmnModel.getGraphicInfo(flowNode.getId()); - processDiagramCanvas.drawCaseServiceTask(flowNode.getName(), graphicInfo, scaleFactor); - } - }); - - // businessRuleTask task - activityDrawInstructions.put(BusinessRuleTask.class, new ActivityDrawInstruction() { - - @Override - public void draw(CustomDefaultProcessDiagramCanvas processDiagramCanvas, BpmnModel bpmnModel, FlowNode flowNode) { - GraphicInfo graphicInfo = bpmnModel.getGraphicInfo(flowNode.getId()); - processDiagramCanvas.drawBusinessRuleTask(flowNode.getName(), graphicInfo, scaleFactor); - } - }); - - // exclusive gateway - activityDrawInstructions.put(ExclusiveGateway.class, new ActivityDrawInstruction() { - - @Override - public void draw(CustomDefaultProcessDiagramCanvas processDiagramCanvas, BpmnModel bpmnModel, FlowNode flowNode) { - GraphicInfo graphicInfo = bpmnModel.getGraphicInfo(flowNode.getId()); - processDiagramCanvas.drawExclusiveGateway(graphicInfo, scaleFactor); - } - }); - - // inclusive gateway - activityDrawInstructions.put(InclusiveGateway.class, new ActivityDrawInstruction() { - - @Override - public void draw(CustomDefaultProcessDiagramCanvas processDiagramCanvas, BpmnModel bpmnModel, FlowNode flowNode) { - GraphicInfo graphicInfo = bpmnModel.getGraphicInfo(flowNode.getId()); - processDiagramCanvas.drawInclusiveGateway(graphicInfo, scaleFactor); - } - }); - - // parallel gateway - activityDrawInstructions.put(ParallelGateway.class, new ActivityDrawInstruction() { - - @Override - public void draw(CustomDefaultProcessDiagramCanvas processDiagramCanvas, BpmnModel bpmnModel, FlowNode flowNode) { - GraphicInfo graphicInfo = bpmnModel.getGraphicInfo(flowNode.getId()); - processDiagramCanvas.drawParallelGateway(graphicInfo, scaleFactor); - } - }); - - // event based gateway - activityDrawInstructions.put(EventGateway.class, new ActivityDrawInstruction() { - - @Override - public void draw(CustomDefaultProcessDiagramCanvas processDiagramCanvas, BpmnModel bpmnModel, FlowNode flowNode) { - GraphicInfo graphicInfo = bpmnModel.getGraphicInfo(flowNode.getId()); - processDiagramCanvas.drawEventBasedGateway(graphicInfo, scaleFactor); - } - }); - - // Boundary timer - activityDrawInstructions.put(BoundaryEvent.class, new ActivityDrawInstruction() { - - @Override - public void draw(CustomDefaultProcessDiagramCanvas processDiagramCanvas, BpmnModel bpmnModel, FlowNode flowNode) { - GraphicInfo graphicInfo = bpmnModel.getGraphicInfo(flowNode.getId()); - BoundaryEvent boundaryEvent = (BoundaryEvent) flowNode; - if (boundaryEvent.getEventDefinitions() != null && !boundaryEvent.getEventDefinitions().isEmpty()) { - EventDefinition eventDefinition = boundaryEvent.getEventDefinitions().get(0); - if (eventDefinition instanceof TimerEventDefinition) { - processDiagramCanvas.drawCatchingTimerEvent(flowNode.getName(), graphicInfo, boundaryEvent.isCancelActivity(), scaleFactor); - - } else if (eventDefinition instanceof ConditionalEventDefinition) { - processDiagramCanvas.drawCatchingConditionalEvent(graphicInfo, boundaryEvent.isCancelActivity(), scaleFactor); - - } else if (eventDefinition instanceof ErrorEventDefinition) { - processDiagramCanvas.drawCatchingErrorEvent(graphicInfo, boundaryEvent.isCancelActivity(), scaleFactor); - - } else if (eventDefinition instanceof EscalationEventDefinition) { - processDiagramCanvas.drawCatchingEscalationEvent(graphicInfo, boundaryEvent.isCancelActivity(), scaleFactor); - - } else if (eventDefinition instanceof SignalEventDefinition) { - processDiagramCanvas.drawCatchingSignalEvent(flowNode.getName(), graphicInfo, boundaryEvent.isCancelActivity(), scaleFactor); - - } else if (eventDefinition instanceof MessageEventDefinition) { - processDiagramCanvas.drawCatchingMessageEvent(flowNode.getName(), graphicInfo, boundaryEvent.isCancelActivity(), scaleFactor); - - } else if (eventDefinition instanceof CompensateEventDefinition) { - processDiagramCanvas.drawCatchingCompensateEvent(graphicInfo, boundaryEvent.isCancelActivity(), scaleFactor); - } - - } else { - List eventTypeElements = boundaryEvent.getExtensionElements().get("eventType"); - if (eventTypeElements != null && eventTypeElements.size() > 0) { - processDiagramCanvas.drawCatchingEventRegistryEvent(flowNode.getName(), graphicInfo, boundaryEvent.isCancelActivity(), scaleFactor); - } - } - } - }); - - // subprocess - activityDrawInstructions.put(SubProcess.class, new ActivityDrawInstruction() { - - @Override - public void draw(CustomDefaultProcessDiagramCanvas processDiagramCanvas, BpmnModel bpmnModel, FlowNode flowNode) { - GraphicInfo graphicInfo = bpmnModel.getGraphicInfo(flowNode.getId()); - if (graphicInfo.getExpanded() != null && !graphicInfo.getExpanded()) { - processDiagramCanvas.drawCollapsedSubProcess(flowNode.getName(), graphicInfo, false, scaleFactor); - } else { - processDiagramCanvas.drawExpandedSubProcess(flowNode.getName(), graphicInfo, false, scaleFactor); - } - } - }); - - // transaction - activityDrawInstructions.put(Transaction.class, new ActivityDrawInstruction() { - - @Override - public void draw(CustomDefaultProcessDiagramCanvas processDiagramCanvas, BpmnModel bpmnModel, FlowNode flowNode) { - GraphicInfo graphicInfo = bpmnModel.getGraphicInfo(flowNode.getId()); - if (graphicInfo.getExpanded() != null && !graphicInfo.getExpanded()) { - processDiagramCanvas.drawCollapsedSubProcess(flowNode.getName(), graphicInfo, false, scaleFactor); - } else { - processDiagramCanvas.drawExpandedTransaction(flowNode.getName(), graphicInfo, scaleFactor); - } - } - }); - - // Event subprocess - activityDrawInstructions.put(EventSubProcess.class, new ActivityDrawInstruction() { - - @Override - public void draw(CustomDefaultProcessDiagramCanvas processDiagramCanvas, BpmnModel bpmnModel, FlowNode flowNode) { - GraphicInfo graphicInfo = bpmnModel.getGraphicInfo(flowNode.getId()); - if (graphicInfo.getExpanded() != null && !graphicInfo.getExpanded()) { - processDiagramCanvas.drawCollapsedSubProcess(flowNode.getName(), graphicInfo, true, scaleFactor); - } else { - processDiagramCanvas.drawExpandedSubProcess(flowNode.getName(), graphicInfo, true, scaleFactor); - } - } - }); - - // Adhoc subprocess - activityDrawInstructions.put(AdhocSubProcess.class, new ActivityDrawInstruction() { - - @Override - public void draw(CustomDefaultProcessDiagramCanvas processDiagramCanvas, BpmnModel bpmnModel, FlowNode flowNode) { - GraphicInfo graphicInfo = bpmnModel.getGraphicInfo(flowNode.getId()); - if (graphicInfo.getExpanded() != null && !graphicInfo.getExpanded()) { - processDiagramCanvas.drawCollapsedSubProcess(flowNode.getName(), graphicInfo, false, scaleFactor); - } else { - processDiagramCanvas.drawExpandedSubProcess(flowNode.getName(), graphicInfo, false, scaleFactor); - } - } - }); - - // call activity - activityDrawInstructions.put(CallActivity.class, new ActivityDrawInstruction() { - - @Override - public void draw(CustomDefaultProcessDiagramCanvas processDiagramCanvas, BpmnModel bpmnModel, FlowNode flowNode) { - GraphicInfo graphicInfo = bpmnModel.getGraphicInfo(flowNode.getId()); - processDiagramCanvas.drawCollapsedCallActivity(flowNode.getName(), graphicInfo, scaleFactor); - } - }); - - // text annotation - artifactDrawInstructions.put(TextAnnotation.class, new ArtifactDrawInstruction() { - - @Override - public void draw(CustomDefaultProcessDiagramCanvas processDiagramCanvas, BpmnModel bpmnModel, Artifact artifact) { - GraphicInfo graphicInfo = bpmnModel.getGraphicInfo(artifact.getId()); - TextAnnotation textAnnotation = (TextAnnotation) artifact; - processDiagramCanvas.drawTextAnnotation(textAnnotation.getText(), graphicInfo, scaleFactor); - } - }); - - // association - artifactDrawInstructions.put(Association.class, new ArtifactDrawInstruction() { - - @Override - public void draw(CustomDefaultProcessDiagramCanvas processDiagramCanvas, BpmnModel bpmnModel, Artifact artifact) { - Association association = (Association) artifact; - String sourceRef = association.getSourceRef(); - String targetRef = association.getTargetRef(); - - // source and target can be instance of FlowElement or Artifact - BaseElement sourceElement = bpmnModel.getFlowElement(sourceRef); - BaseElement targetElement = bpmnModel.getFlowElement(targetRef); - if (sourceElement == null) { - sourceElement = bpmnModel.getArtifact(sourceRef); - } - if (targetElement == null) { - targetElement = bpmnModel.getArtifact(targetRef); - } - List graphicInfoList = bpmnModel.getFlowLocationGraphicInfo(artifact.getId()); - graphicInfoList = connectionPerfectionizer(processDiagramCanvas, bpmnModel, sourceElement, targetElement, graphicInfoList); - int[] xPoints = new int[graphicInfoList.size()]; - int[] yPoints = new int[graphicInfoList.size()]; - for (int i = 1; i < graphicInfoList.size(); i++) { - GraphicInfo graphicInfo = graphicInfoList.get(i); - GraphicInfo previousGraphicInfo = graphicInfoList.get(i - 1); - - if (i == 1) { - xPoints[0] = (int) previousGraphicInfo.getX(); - yPoints[0] = (int) previousGraphicInfo.getY(); - } - xPoints[i] = (int) graphicInfo.getX(); - yPoints[i] = (int) graphicInfo.getY(); - } - - AssociationDirection associationDirection = association.getAssociationDirection(); - processDiagramCanvas.drawAssociation(xPoints, yPoints, associationDirection, false, scaleFactor); - } - }); - } - - @Override - public InputStream generateDiagram(BpmnModel bpmnModel, String imageType, List highLightedActivities, List highLightedFlows, - String activityFontName, String labelFontName, String annotationFontName, ClassLoader customClassLoader, double scaleFactor, boolean drawSequenceFlowNameWithNoLabelDI) { - - return generateProcessDiagram(bpmnModel, imageType, highLightedActivities, highLightedFlows, - activityFontName, labelFontName, annotationFontName, customClassLoader, scaleFactor, drawSequenceFlowNameWithNoLabelDI).generateImage(imageType); - } - - @Override - public InputStream generateDiagram(BpmnModel bpmnModel, String imageType, List highLightedActivities, List highLightedFlows, boolean drawSequenceFlowNameWithNoLabelDI) { - return generateDiagram(bpmnModel, imageType, highLightedActivities, highLightedFlows, null, null, null, null, 1.0, drawSequenceFlowNameWithNoLabelDI); - } - - @Override - public InputStream generateDiagram(BpmnModel bpmnModel, String imageType, - List highLightedActivities, List highLightedFlows, double scaleFactor, boolean drawSequenceFlowNameWithNoLabelDI) { - return generateDiagram(bpmnModel, imageType, highLightedActivities, highLightedFlows, null, null, null, null, scaleFactor, drawSequenceFlowNameWithNoLabelDI); - } - - @Override - public InputStream generateDiagram(BpmnModel bpmnModel, String imageType, List highLightedActivities, boolean drawSequenceFlowNameWithNoLabelDI) { - return generateDiagram(bpmnModel, imageType, highLightedActivities, Collections.emptyList(), drawSequenceFlowNameWithNoLabelDI); - } - - @Override - public InputStream generateDiagram(BpmnModel bpmnModel, String imageType, List highLightedActivities, double scaleFactor, boolean drawSequenceFlowNameWithNoLabelDI) { - return generateDiagram(bpmnModel, imageType, highLightedActivities, Collections.emptyList(), scaleFactor, drawSequenceFlowNameWithNoLabelDI); - } - - @Override - public InputStream generateDiagram(BpmnModel bpmnModel, String imageType, String activityFontName, - String labelFontName, String annotationFontName, ClassLoader customClassLoader, boolean drawSequenceFlowNameWithNoLabelDI) { - - return generateDiagram(bpmnModel, imageType, Collections.emptyList(), Collections.emptyList(), - activityFontName, labelFontName, annotationFontName, customClassLoader, 1.0, drawSequenceFlowNameWithNoLabelDI); - } - - @Override - public InputStream generateDiagram(BpmnModel bpmnModel, String imageType, String activityFontName, - String labelFontName, String annotationFontName, ClassLoader customClassLoader, double scaleFactor, boolean drawSequenceFlowNameWithNoLabelDI) { - - return generateDiagram(bpmnModel, imageType, Collections.emptyList(), Collections.emptyList(), - activityFontName, labelFontName, annotationFontName, customClassLoader, scaleFactor, drawSequenceFlowNameWithNoLabelDI); - } - - @Override - public InputStream generatePngDiagram(BpmnModel bpmnModel, boolean drawSequenceFlowNameWithNoLabelDI) { - return generatePngDiagram(bpmnModel, 1.0, drawSequenceFlowNameWithNoLabelDI); - } - - @Override - public InputStream generatePngDiagram(BpmnModel bpmnModel, double scaleFactor, boolean drawSequenceFlowNameWithNoLabelDI) { - return generateDiagram(bpmnModel, "png", Collections.emptyList(), Collections.emptyList(), scaleFactor, drawSequenceFlowNameWithNoLabelDI); - } - - @Override - public InputStream generateJpgDiagram(BpmnModel bpmnModel) { - return generateJpgDiagram(bpmnModel, 1.0, false); - } - - @Override - public InputStream generateJpgDiagram(BpmnModel bpmnModel, double scaleFactor, boolean drawSequenceFlowNameWithNoLabelDI) { - return generateDiagram(bpmnModel, "jpg", Collections.emptyList(), Collections.emptyList(), drawSequenceFlowNameWithNoLabelDI); - } - - public BufferedImage generateImage(BpmnModel bpmnModel, String imageType, List highLightedActivities, List highLightedFlows, - String activityFontName, String labelFontName, String annotationFontName, ClassLoader customClassLoader, double scaleFactor, boolean drawSequenceFlowNameWithNoLabelDI) { - - return generateProcessDiagram(bpmnModel, imageType, highLightedActivities, highLightedFlows, - activityFontName, labelFontName, annotationFontName, customClassLoader, scaleFactor, drawSequenceFlowNameWithNoLabelDI).generateBufferedImage(imageType); - } - - public BufferedImage generateImage(BpmnModel bpmnModel, String imageType, - List highLightedActivities, List highLightedFlows, double scaleFactor, boolean drawSequenceFlowNameWithNoLabelDI) { - - return generateImage(bpmnModel, imageType, highLightedActivities, highLightedFlows, null, null, null, null, scaleFactor, drawSequenceFlowNameWithNoLabelDI); - } - - @Override - public BufferedImage generatePngImage(BpmnModel bpmnModel, double scaleFactor) { - return generateImage(bpmnModel, "png", Collections.emptyList(), Collections.emptyList(), scaleFactor, false); - } - - protected CustomDefaultProcessDiagramCanvas generateProcessDiagram(BpmnModel bpmnModel, String imageType, - List highLightedActivities, List highLightedFlows, - String activityFontName, String labelFontName, String annotationFontName, ClassLoader customClassLoader, double scaleFactor, boolean drawSequenceFlowNameWithNoLabelDI) { - - prepareBpmnModel(bpmnModel); - - CustomDefaultProcessDiagramCanvas processDiagramCanvas = initProcessDiagramCanvas(bpmnModel, imageType, activityFontName, labelFontName, annotationFontName, customClassLoader); - - // Draw pool shape, if process is participant in collaboration - for (Pool pool : bpmnModel.getPools()) { - GraphicInfo graphicInfo = bpmnModel.getGraphicInfo(pool.getId()); - processDiagramCanvas.drawPoolOrLane(pool.getName(), graphicInfo, scaleFactor); - } - - // Draw lanes - for (Process process : bpmnModel.getProcesses()) { - for (Lane lane : process.getLanes()) { - GraphicInfo graphicInfo = bpmnModel.getGraphicInfo(lane.getId()); - processDiagramCanvas.drawPoolOrLane(lane.getName(), graphicInfo, scaleFactor); - } - } - - // Draw activities and their sequence-flows - for (Process process : bpmnModel.getProcesses()) { - for (FlowNode flowNode : process.findFlowElementsOfType(FlowNode.class)) { - if (!isPartOfCollapsedSubProcess(flowNode, bpmnModel)) { - drawActivity(processDiagramCanvas, bpmnModel, flowNode, highLightedActivities, highLightedFlows, scaleFactor, drawSequenceFlowNameWithNoLabelDI); - } - } - } - - // Draw artifacts - for (Process process : bpmnModel.getProcesses()) { - - for (Artifact artifact : process.getArtifacts()) { - drawArtifact(processDiagramCanvas, bpmnModel, artifact); - } - - List subProcesses = process.findFlowElementsOfType(SubProcess.class, true); - if (subProcesses != null) { - for (SubProcess subProcess : subProcesses) { - - GraphicInfo graphicInfo = bpmnModel.getGraphicInfo(subProcess.getId()); - if (graphicInfo != null && graphicInfo.getExpanded() != null && !graphicInfo.getExpanded()) { - continue; - } - - if (!isPartOfCollapsedSubProcess(subProcess, bpmnModel)) { - for (Artifact subProcessArtifact : subProcess.getArtifacts()) { - drawArtifact(processDiagramCanvas, bpmnModel, subProcessArtifact); - } - } - } - } - } - - return processDiagramCanvas; - } - - protected void prepareBpmnModel(BpmnModel bpmnModel) { - - // Need to make sure all elements have positive x and y. - // Check all graphicInfo and update the elements accordingly - - List allGraphicInfos = new ArrayList<>(); - if (bpmnModel.getLocationMap() != null) { - allGraphicInfos.addAll(bpmnModel.getLocationMap().values()); - } - if (bpmnModel.getLabelLocationMap() != null) { - allGraphicInfos.addAll(bpmnModel.getLabelLocationMap().values()); - } - if (bpmnModel.getFlowLocationMap() != null) { - for (List flowGraphicInfos : bpmnModel.getFlowLocationMap().values()) { - allGraphicInfos.addAll(flowGraphicInfos); - } - } - - if (allGraphicInfos.size() > 0) { - - boolean needsTranslationX = false; - boolean needsTranslationY = false; - - double lowestX = 0.0; - double lowestY = 0.0; - - // Collect lowest x and y - for (GraphicInfo graphicInfo : allGraphicInfos) { - - double x = graphicInfo.getX(); - double y = graphicInfo.getY(); - - if (x < lowestX) { - needsTranslationX = true; - lowestX = x; - } - if (y < lowestY) { - needsTranslationY = true; - lowestY = y; - } - - } - - // Update all graphicInfo objects - if (needsTranslationX || needsTranslationY) { - - double translationX = Math.abs(lowestX); - double translationY = Math.abs(lowestY); - - for (GraphicInfo graphicInfo : allGraphicInfos) { - if (needsTranslationX) { - graphicInfo.setX(graphicInfo.getX() + translationX); - } - if (needsTranslationY) { - graphicInfo.setY(graphicInfo.getY() + translationY); - } - } - } - - } - - } - - protected void drawActivity(CustomDefaultProcessDiagramCanvas processDiagramCanvas, BpmnModel bpmnModel, - FlowNode flowNode, List highLightedActivities, List highLightedFlows, double scaleFactor, Boolean drawSequenceFlowNameWithNoLabelDI) { - - ActivityDrawInstruction drawInstruction = activityDrawInstructions.get(flowNode.getClass()); - if (drawInstruction != null) { - - drawInstruction.draw(processDiagramCanvas, bpmnModel, flowNode); - - // Gather info on the multi instance marker - boolean multiInstanceSequential = false; - boolean multiInstanceParallel = false; - boolean collapsed = false; - if (flowNode instanceof Activity) { - Activity activity = (Activity) flowNode; - MultiInstanceLoopCharacteristics multiInstanceLoopCharacteristics = activity.getLoopCharacteristics(); - if (multiInstanceLoopCharacteristics != null) { - multiInstanceSequential = multiInstanceLoopCharacteristics.isSequential(); - multiInstanceParallel = !multiInstanceSequential; - } - } - - // Gather info on the collapsed marker - GraphicInfo graphicInfo = bpmnModel.getGraphicInfo(flowNode.getId()); - if (flowNode instanceof SubProcess) { - collapsed = graphicInfo.getExpanded() != null && !graphicInfo.getExpanded(); - } else if (flowNode instanceof CallActivity) { - collapsed = true; - } - - if (scaleFactor == 1.0) { - // Actually draw the markers - processDiagramCanvas.drawActivityMarkers((int) graphicInfo.getX(), (int) graphicInfo.getY(), (int) graphicInfo.getWidth(), (int) graphicInfo.getHeight(), - multiInstanceSequential, multiInstanceParallel, collapsed); - } - - // Draw highlighted activities - if (highLightedActivities.contains(flowNode.getId())) { - drawHighLightRed(processDiagramCanvas, bpmnModel.getGraphicInfo(flowNode.getId())); - } else if (highLightedActivities.contains(Color.RED.toString() + flowNode.getId())) { - drawHighLight(processDiagramCanvas, bpmnModel.getGraphicInfo(flowNode.getId())); - } - - } else if (flowNode instanceof Task) { - activityDrawInstructions.get(Task.class).draw(processDiagramCanvas, bpmnModel, flowNode); - - if (highLightedActivities.contains(flowNode.getId())) { - drawHighLightRed(processDiagramCanvas, bpmnModel.getGraphicInfo(flowNode.getId())); - } else if (highLightedActivities.contains(Color.RED.toString() + flowNode.getId())) { - drawHighLight(processDiagramCanvas, bpmnModel.getGraphicInfo(flowNode.getId())); - } - } - - // Outgoing transitions of activity - for (SequenceFlow sequenceFlow : flowNode.getOutgoingFlows()) { - boolean highLighted = (highLightedFlows.contains(sequenceFlow.getId())); - String defaultFlow = null; - if (flowNode instanceof Activity) { - defaultFlow = ((Activity) flowNode).getDefaultFlow(); - } else if (flowNode instanceof Gateway) { - defaultFlow = ((Gateway) flowNode).getDefaultFlow(); - } - - boolean isDefault = false; - if (defaultFlow != null && defaultFlow.equalsIgnoreCase(sequenceFlow.getId())) { - isDefault = true; - } - boolean drawConditionalIndicator = sequenceFlow.getConditionExpression() != null && sequenceFlow.getConditionExpression().trim().length() > 0 && !(flowNode instanceof Gateway); - - String sourceRef = sequenceFlow.getSourceRef(); - String targetRef = sequenceFlow.getTargetRef(); - FlowElement sourceElement = bpmnModel.getFlowElement(sourceRef); - FlowElement targetElement = bpmnModel.getFlowElement(targetRef); - List graphicInfoList = bpmnModel.getFlowLocationGraphicInfo(sequenceFlow.getId()); - if (graphicInfoList != null && graphicInfoList.size() > 0) { - graphicInfoList = connectionPerfectionizer(processDiagramCanvas, bpmnModel, sourceElement, targetElement, graphicInfoList); - int[] xPoints = new int[graphicInfoList.size()]; - int[] yPoints = new int[graphicInfoList.size()]; - - for (int i = 1; i < graphicInfoList.size(); i++) { - GraphicInfo graphicInfo = graphicInfoList.get(i); - GraphicInfo previousGraphicInfo = graphicInfoList.get(i - 1); - - if (i == 1) { - xPoints[0] = (int) previousGraphicInfo.getX(); - yPoints[0] = (int) previousGraphicInfo.getY(); - } - xPoints[i] = (int) graphicInfo.getX(); - yPoints[i] = (int) graphicInfo.getY(); - - } - - processDiagramCanvas.drawSequenceflow(xPoints, yPoints, drawConditionalIndicator, isDefault, highLighted, scaleFactor); - - // Draw sequenceflow label - GraphicInfo labelGraphicInfo = bpmnModel.getLabelGraphicInfo(sequenceFlow.getId()); - if (labelGraphicInfo != null) { - processDiagramCanvas.drawLabel(sequenceFlow.getName(), labelGraphicInfo, false); - } else { - if (drawSequenceFlowNameWithNoLabelDI) { - GraphicInfo lineCenter = getLineCenter(graphicInfoList); - processDiagramCanvas.drawLabel(sequenceFlow.getName(), lineCenter, false); - } - - } - } - } - - // Nested elements - if (flowNode instanceof FlowElementsContainer) { - for (FlowElement nestedFlowElement : ((FlowElementsContainer) flowNode).getFlowElements()) { - if (nestedFlowElement instanceof FlowNode && !isPartOfCollapsedSubProcess(nestedFlowElement, bpmnModel)) { - drawActivity(processDiagramCanvas, bpmnModel, (FlowNode) nestedFlowElement, - highLightedActivities, highLightedFlows, scaleFactor, drawSequenceFlowNameWithNoLabelDI); - } - } - } - } - - /** - * This method makes coordinates of connection flow better. - * - * @param processDiagramCanvas - * @param bpmnModel - * @param sourceElement - * @param targetElement - * @param graphicInfoList - * @return - */ - protected static List connectionPerfectionizer(CustomDefaultProcessDiagramCanvas processDiagramCanvas, BpmnModel bpmnModel, BaseElement sourceElement, BaseElement targetElement, List graphicInfoList) { - GraphicInfo sourceGraphicInfo = bpmnModel.getGraphicInfo(sourceElement.getId()); - GraphicInfo targetGraphicInfo = bpmnModel.getGraphicInfo(targetElement.getId()); - - CustomDefaultProcessDiagramCanvas.SHAPE_TYPE sourceShapeType = getShapeType(sourceElement); - CustomDefaultProcessDiagramCanvas.SHAPE_TYPE targetShapeType = getShapeType(targetElement); - - return processDiagramCanvas.connectionPerfectionizer(sourceShapeType, targetShapeType, sourceGraphicInfo, targetGraphicInfo, graphicInfoList); - } - - /** - * This method returns shape type of base element.
- * Each element can be presented as rectangle, rhombus, or ellipse. - * - * @param baseElement - * @return CustomDefaultProcessDiagramCanvas.SHAPE_TYPE - */ - protected static CustomDefaultProcessDiagramCanvas.SHAPE_TYPE getShapeType(BaseElement baseElement) { - if (baseElement instanceof Task || baseElement instanceof Activity || baseElement instanceof TextAnnotation) { - return CustomDefaultProcessDiagramCanvas.SHAPE_TYPE.Rectangle; - } else if (baseElement instanceof Gateway) { - return CustomDefaultProcessDiagramCanvas.SHAPE_TYPE.Rhombus; - } else if (baseElement instanceof Event) { - return CustomDefaultProcessDiagramCanvas.SHAPE_TYPE.Ellipse; - } else { - // unknown source element, just do not correct coordinates - } - return null; - } - - protected static GraphicInfo getLineCenter(List graphicInfoList) { - GraphicInfo gi = new GraphicInfo(); - - int[] xPoints = new int[graphicInfoList.size()]; - int[] yPoints = new int[graphicInfoList.size()]; - - double length = 0; - double[] lengths = new double[graphicInfoList.size()]; - lengths[0] = 0; - double m; - for (int i = 1; i < graphicInfoList.size(); i++) { - GraphicInfo graphicInfo = graphicInfoList.get(i); - GraphicInfo previousGraphicInfo = graphicInfoList.get(i - 1); - - if (i == 1) { - xPoints[0] = (int) previousGraphicInfo.getX(); - yPoints[0] = (int) previousGraphicInfo.getY(); - } - xPoints[i] = (int) graphicInfo.getX(); - yPoints[i] = (int) graphicInfo.getY(); - - length += Math.sqrt( - Math.pow((int) graphicInfo.getX() - (int) previousGraphicInfo.getX(), 2) + - Math.pow((int) graphicInfo.getY() - (int) previousGraphicInfo.getY(), 2)); - lengths[i] = length; - } - m = length / 2; - int p1 = 0; - int p2 = 1; - for (int i = 1; i < lengths.length; i++) { - double len = lengths[i]; - p1 = i - 1; - p2 = i; - if (len > m) { - break; - } - } - - GraphicInfo graphicInfo1 = graphicInfoList.get(p1); - GraphicInfo graphicInfo2 = graphicInfoList.get(p2); - - double AB = (int) graphicInfo2.getX() - (int) graphicInfo1.getX(); - double OA = (int) graphicInfo2.getY() - (int) graphicInfo1.getY(); - double OB = lengths[p2] - lengths[p1]; - double ob = m - lengths[p1]; - double ab = AB * ob / OB; - double oa = OA * ob / OB; - - double mx = graphicInfo1.getX() + ab; - double my = graphicInfo1.getY() + oa; - - gi.setX(mx); - gi.setY(my); - return gi; - } - - protected void drawArtifact(CustomDefaultProcessDiagramCanvas processDiagramCanvas, BpmnModel bpmnModel, Artifact artifact) { - - ArtifactDrawInstruction drawInstruction = artifactDrawInstructions.get(artifact.getClass()); - if (drawInstruction != null) { - drawInstruction.draw(processDiagramCanvas, bpmnModel, artifact); - } - } - - private static void drawHighLight(CustomDefaultProcessDiagramCanvas processDiagramCanvas, GraphicInfo graphicInfo) { - processDiagramCanvas.drawHighLight((int) graphicInfo.getX(), (int) graphicInfo.getY(), (int) graphicInfo.getWidth(), (int) graphicInfo.getHeight()); - - } - - private static void drawHighLightRed(CustomDefaultProcessDiagramCanvas processDiagramCanvas, GraphicInfo graphicInfo) { - processDiagramCanvas.drawHighLightRed((int) graphicInfo.getX(), (int) graphicInfo.getY(), (int) graphicInfo.getWidth(), (int) graphicInfo.getHeight()); - - } - - protected static CustomDefaultProcessDiagramCanvas initProcessDiagramCanvas(BpmnModel bpmnModel, String imageType, - String activityFontName, String labelFontName, String annotationFontName, ClassLoader customClassLoader) { - - // We need to calculate maximum values to know how big the image will be in its entirety - double minX = Double.MAX_VALUE; - double maxX = 0; - double minY = Double.MAX_VALUE; - double maxY = 0; - - for (Pool pool : bpmnModel.getPools()) { - GraphicInfo graphicInfo = bpmnModel.getGraphicInfo(pool.getId()); - minX = graphicInfo.getX(); - maxX = graphicInfo.getX() + graphicInfo.getWidth(); - minY = graphicInfo.getY(); - maxY = graphicInfo.getY() + graphicInfo.getHeight(); - } - - List flowNodes = gatherAllFlowNodes(bpmnModel); - for (FlowNode flowNode : flowNodes) { - - GraphicInfo flowNodeGraphicInfo = bpmnModel.getGraphicInfo(flowNode.getId()); - - // width - if (flowNodeGraphicInfo.getX() + flowNodeGraphicInfo.getWidth() > maxX) { - maxX = flowNodeGraphicInfo.getX() + flowNodeGraphicInfo.getWidth(); - } - if (flowNodeGraphicInfo.getX() < minX) { - minX = flowNodeGraphicInfo.getX(); - } - // height - if (flowNodeGraphicInfo.getY() + flowNodeGraphicInfo.getHeight() > maxY) { - maxY = flowNodeGraphicInfo.getY() + flowNodeGraphicInfo.getHeight(); - } - if (flowNodeGraphicInfo.getY() < minY) { - minY = flowNodeGraphicInfo.getY(); - } - - for (SequenceFlow sequenceFlow : flowNode.getOutgoingFlows()) { - List graphicInfoList = bpmnModel.getFlowLocationGraphicInfo(sequenceFlow.getId()); - if (graphicInfoList != null) { - for (GraphicInfo graphicInfo : graphicInfoList) { - // width - if (graphicInfo.getX() > maxX) { - maxX = graphicInfo.getX(); - } - if (graphicInfo.getX() < minX) { - minX = graphicInfo.getX(); - } - // height - if (graphicInfo.getY() > maxY) { - maxY = graphicInfo.getY(); - } - if (graphicInfo.getY() < minY) { - minY = graphicInfo.getY(); - } - } - } - } - } - - List artifacts = gatherAllArtifacts(bpmnModel); - for (Artifact artifact : artifacts) { - - GraphicInfo artifactGraphicInfo = bpmnModel.getGraphicInfo(artifact.getId()); - - if (artifactGraphicInfo != null) { - // width - if (artifactGraphicInfo.getX() + artifactGraphicInfo.getWidth() > maxX) { - maxX = artifactGraphicInfo.getX() + artifactGraphicInfo.getWidth(); - } - if (artifactGraphicInfo.getX() < minX) { - minX = artifactGraphicInfo.getX(); - } - // height - if (artifactGraphicInfo.getY() + artifactGraphicInfo.getHeight() > maxY) { - maxY = artifactGraphicInfo.getY() + artifactGraphicInfo.getHeight(); - } - if (artifactGraphicInfo.getY() < minY) { - minY = artifactGraphicInfo.getY(); - } - } - - List graphicInfoList = bpmnModel.getFlowLocationGraphicInfo(artifact.getId()); - if (graphicInfoList != null) { - for (GraphicInfo graphicInfo : graphicInfoList) { - // width - if (graphicInfo.getX() > maxX) { - maxX = graphicInfo.getX(); - } - if (graphicInfo.getX() < minX) { - minX = graphicInfo.getX(); - } - // height - if (graphicInfo.getY() > maxY) { - maxY = graphicInfo.getY(); - } - if (graphicInfo.getY() < minY) { - minY = graphicInfo.getY(); - } - } - } - } - - int nrOfLanes = 0; - for (Process process : bpmnModel.getProcesses()) { - for (Lane l : process.getLanes()) { - - nrOfLanes++; - - GraphicInfo graphicInfo = bpmnModel.getGraphicInfo(l.getId()); - // // width - if (graphicInfo.getX() + graphicInfo.getWidth() > maxX) { - maxX = graphicInfo.getX() + graphicInfo.getWidth(); - } - if (graphicInfo.getX() < minX) { - minX = graphicInfo.getX(); - } - // height - if (graphicInfo.getY() + graphicInfo.getHeight() > maxY) { - maxY = graphicInfo.getY() + graphicInfo.getHeight(); - } - if (graphicInfo.getY() < minY) { - minY = graphicInfo.getY(); - } - } - } - - // Special case, see https://activiti.atlassian.net/browse/ACT-1431 - if (flowNodes.isEmpty() && bpmnModel.getPools().isEmpty() && nrOfLanes == 0) { - // Nothing to show - minX = 0; - minY = 0; - } - - return new CustomDefaultProcessDiagramCanvas((int) maxX + 10, (int) maxY + 10, (int) minX, (int) minY, - imageType, activityFontName, labelFontName, annotationFontName, customClassLoader); - } - - protected static List gatherAllArtifacts(BpmnModel bpmnModel) { - List artifacts = new ArrayList<>(); - for (Process process : bpmnModel.getProcesses()) { - artifacts.addAll(process.getArtifacts()); - } - return artifacts; - } - - protected static List gatherAllFlowNodes(BpmnModel bpmnModel) { - List flowNodes = new ArrayList<>(); - for (Process process : bpmnModel.getProcesses()) { - flowNodes.addAll(gatherAllFlowNodes(process)); - } - return flowNodes; - } - - protected static List gatherAllFlowNodes(FlowElementsContainer flowElementsContainer) { - List flowNodes = new ArrayList<>(); - for (FlowElement flowElement : flowElementsContainer.getFlowElements()) { - if (flowElement instanceof FlowNode) { - flowNodes.add((FlowNode) flowElement); - } - if (flowElement instanceof FlowElementsContainer) { - flowNodes.addAll(gatherAllFlowNodes((FlowElementsContainer) flowElement)); - } - } - return flowNodes; - } - - protected boolean isPartOfCollapsedSubProcess(FlowElement flowElement, BpmnModel model) { - SubProcess subProcess = flowElement.getSubProcess(); - if (subProcess != null) { - GraphicInfo graphicInfo = model.getGraphicInfo(subProcess.getId()); - if (graphicInfo != null && graphicInfo.getExpanded() != null && !graphicInfo.getExpanded()) { - return true; - } - - return isPartOfCollapsedSubProcess(subProcess, model); - } - - return false; - } - - public Map, ActivityDrawInstruction> getActivityDrawInstructions() { - return activityDrawInstructions; - } - - public void setActivityDrawInstructions( - Map, ActivityDrawInstruction> activityDrawInstructions) { - this.activityDrawInstructions = activityDrawInstructions; - } - - public Map, ArtifactDrawInstruction> getArtifactDrawInstructions() { - return artifactDrawInstructions; - } - - public void setArtifactDrawInstructions( - Map, ArtifactDrawInstruction> artifactDrawInstructions) { - this.artifactDrawInstructions = artifactDrawInstructions; - } - - protected interface ActivityDrawInstruction { - void draw(CustomDefaultProcessDiagramCanvas processDiagramCanvas, BpmnModel bpmnModel, FlowNode flowNode); - } - - protected interface ArtifactDrawInstruction { - void draw(CustomDefaultProcessDiagramCanvas processDiagramCanvas, BpmnModel bpmnModel, Artifact artifact); - } -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/flowable/cmd/AddSequenceMultiInstanceCmd.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/flowable/cmd/AddSequenceMultiInstanceCmd.java deleted file mode 100644 index 3cdfcf4..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/flowable/cmd/AddSequenceMultiInstanceCmd.java +++ /dev/null @@ -1,61 +0,0 @@ -package org.dromara.workflow.flowable.cmd; - -import cn.hutool.core.collection.CollUtil; -import org.flowable.common.engine.impl.interceptor.Command; -import org.flowable.common.engine.impl.interceptor.CommandContext; -import org.flowable.engine.impl.persistence.entity.ExecutionEntity; -import org.flowable.engine.impl.persistence.entity.ExecutionEntityManager; -import org.flowable.engine.impl.util.CommandContextUtil; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import static org.dromara.workflow.common.constant.FlowConstant.NUMBER_OF_INSTANCES; - -/** - * 串行加签 - * - * @author may - */ -public class AddSequenceMultiInstanceCmd implements Command { - - /** - * 执行id - */ - private final String executionId; - - /** - * 会签人员集合KEY - */ - private final String assigneeList; - - /** - * 加签人员 - */ - private final List assignees; - - public AddSequenceMultiInstanceCmd(String executionId, String assigneeList, List assignees) { - this.executionId = executionId; - this.assigneeList = assigneeList; - this.assignees = assignees; - } - - @Override - public Void execute(CommandContext commandContext) { - ExecutionEntityManager executionEntityManager = CommandContextUtil.getExecutionEntityManager(); - ExecutionEntity entity = executionEntityManager.findById(executionId); - // 多实例任务总数加 assignees.size() - if (entity.getVariable(NUMBER_OF_INSTANCES) instanceof Integer nrOfInstances) { - entity.setVariable(NUMBER_OF_INSTANCES, nrOfInstances + assignees.size()); - } - // 设置流程变量 - if (entity.getVariable(assigneeList) instanceof List userIds) { - CollUtil.addAll(userIds, assignees); - Map variables = new HashMap<>(16); - variables.put(assigneeList, userIds); - entity.setVariables(variables); - } - return null; - } -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/flowable/cmd/AttachmentCmd.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/flowable/cmd/AttachmentCmd.java deleted file mode 100644 index 20a0a5f..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/flowable/cmd/AttachmentCmd.java +++ /dev/null @@ -1,66 +0,0 @@ -package org.dromara.workflow.flowable.cmd; - -import cn.hutool.core.collection.CollUtil; -import org.dromara.common.core.domain.dto.OssDTO; -import org.dromara.common.core.service.OssService; -import org.dromara.common.core.utils.StringUtils; -import org.dromara.common.satoken.utils.LoginHelper; -import org.flowable.common.engine.impl.interceptor.Command; -import org.flowable.common.engine.impl.interceptor.CommandContext; -import org.flowable.engine.impl.persistence.entity.AttachmentEntity; -import org.flowable.engine.impl.persistence.entity.AttachmentEntityManager; -import org.flowable.engine.impl.util.CommandContextUtil; - -import java.util.Date; -import java.util.List; - -/** - * 附件上传 - * - * @author may - */ -public class AttachmentCmd implements Command { - - private final String fileId; - - private final String taskId; - - private final String processInstanceId; - - private final OssService ossService; - - public AttachmentCmd(String fileId, String taskId, String processInstanceId, OssService ossService) { - this.fileId = fileId; - this.taskId = taskId; - this.processInstanceId = processInstanceId; - this.ossService = ossService; - } - - @Override - public Boolean execute(CommandContext commandContext) { - try { - if (StringUtils.isNotBlank(fileId)) { - List ossList = ossService.selectByIds(fileId); - if (CollUtil.isNotEmpty(ossList)) { - for (OssDTO oss : ossList) { - AttachmentEntityManager attachmentEntityManager = CommandContextUtil.getAttachmentEntityManager(); - AttachmentEntity attachmentEntity = attachmentEntityManager.create(); - attachmentEntity.setRevision(1); - attachmentEntity.setUserId(LoginHelper.getUserId().toString()); - attachmentEntity.setName(oss.getOriginalName()); - attachmentEntity.setDescription(oss.getOriginalName()); - attachmentEntity.setType(oss.getFileSuffix()); - attachmentEntity.setTaskId(taskId); - attachmentEntity.setProcessInstanceId(processInstanceId); - attachmentEntity.setContentId(oss.getOssId().toString()); - attachmentEntity.setTime(new Date()); - attachmentEntityManager.insert(attachmentEntity); - } - } - } - } catch (Exception e) { - throw new RuntimeException(e); - } - return true; - } -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/flowable/cmd/DeleteExecutionCmd.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/flowable/cmd/DeleteExecutionCmd.java deleted file mode 100644 index 215d310..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/flowable/cmd/DeleteExecutionCmd.java +++ /dev/null @@ -1,36 +0,0 @@ -package org.dromara.workflow.flowable.cmd; - -import org.flowable.common.engine.impl.interceptor.Command; -import org.flowable.common.engine.impl.interceptor.CommandContext; -import org.flowable.engine.impl.persistence.entity.ExecutionEntity; -import org.flowable.engine.impl.persistence.entity.ExecutionEntityManager; -import org.flowable.engine.impl.util.CommandContextUtil; - -import java.io.Serializable; - -/** - * 删除执行数据 - * - * @author may - */ -public class DeleteExecutionCmd implements Command, Serializable { - - /** - * 执行id - */ - private final String executionId; - - public DeleteExecutionCmd(String executionId) { - this.executionId = executionId; - } - - @Override - public Void execute(CommandContext commandContext) { - ExecutionEntityManager executionEntityManager = CommandContextUtil.getExecutionEntityManager(); - ExecutionEntity entity = executionEntityManager.findById(executionId); - if (entity != null) { - executionEntityManager.deleteExecutionAndRelatedData(entity, "", false, false); - } - return null; - } -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/flowable/cmd/DeleteSequenceMultiInstanceCmd.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/flowable/cmd/DeleteSequenceMultiInstanceCmd.java deleted file mode 100644 index a61daeb..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/flowable/cmd/DeleteSequenceMultiInstanceCmd.java +++ /dev/null @@ -1,83 +0,0 @@ -package org.dromara.workflow.flowable.cmd; - -import cn.hutool.core.util.ObjectUtil; -import lombok.AllArgsConstructor; -import org.dromara.common.core.utils.StreamUtils; -import org.flowable.common.engine.impl.interceptor.Command; -import org.flowable.common.engine.impl.interceptor.CommandContext; -import org.flowable.engine.impl.persistence.entity.ExecutionEntity; -import org.flowable.engine.impl.persistence.entity.ExecutionEntityManager; -import org.flowable.engine.impl.util.CommandContextUtil; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import static org.dromara.workflow.common.constant.FlowConstant.LOOP_COUNTER; -import static org.dromara.workflow.common.constant.FlowConstant.NUMBER_OF_INSTANCES; - - -/** - * 串行减签 - * - * @author may - */ -@AllArgsConstructor -public class DeleteSequenceMultiInstanceCmd implements Command { - - /** - * 当前节点审批人员id - */ - private final String currentUserId; - - /** - * 执行id - */ - private final String executionId; - - /** - * 会签人员集合KEY - */ - private final String assigneeList; - - /** - * 减签人员 - */ - private final List assignees; - - - @Override - @SuppressWarnings("unchecked") - public Void execute(CommandContext commandContext) { - ExecutionEntityManager executionEntityManager = CommandContextUtil.getExecutionEntityManager(); - ExecutionEntity entity = executionEntityManager.findById(executionId); - // 设置流程变量 - List userIds = new ArrayList<>(); - List variable = (List) entity.getVariable(assigneeList); - for (Object o : variable) { - userIds.add(Long.valueOf(o.toString())); - } - List userIdList = new ArrayList<>(); - userIds.forEach(e -> { - Long userId = StreamUtils.findFirst(assignees, id -> ObjectUtil.equals(id, e)); - if (userId == null) { - userIdList.add(e); - } - }); - // 当前任务执行位置 - int loopCounterIndex = -1; - for (int i = 0; i < userIdList.size(); i++) { - Long userId = userIdList.get(i); - if (currentUserId.equals(userId.toString())) { - loopCounterIndex = i; - } - } - Map variables = new HashMap<>(16); - variables.put(NUMBER_OF_INSTANCES, userIdList.size()); - variables.put(assigneeList, userIdList); - variables.put(LOOP_COUNTER, loopCounterIndex); - entity.setVariables(variables); - return null; - } -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/flowable/cmd/ExecutionChildByExecutionIdCmd.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/flowable/cmd/ExecutionChildByExecutionIdCmd.java deleted file mode 100644 index 1f3088b..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/flowable/cmd/ExecutionChildByExecutionIdCmd.java +++ /dev/null @@ -1,39 +0,0 @@ -package org.dromara.workflow.flowable.cmd; - -import org.dromara.common.core.utils.StreamUtils; -import org.flowable.common.engine.impl.interceptor.Command; -import org.flowable.common.engine.impl.interceptor.CommandContext; -import org.flowable.engine.impl.persistence.entity.ExecutionEntity; -import org.flowable.engine.impl.persistence.entity.ExecutionEntityManager; -import org.flowable.engine.impl.util.CommandContextUtil; - -import java.io.Serializable; -import java.util.List; - -/** - * 获取并行网关执行后保留的执行实例数据 - * - * @author may - */ -public class ExecutionChildByExecutionIdCmd implements Command>, Serializable { - - /** - * 当前任务执行实例id - */ - private final String executionId; - - public ExecutionChildByExecutionIdCmd(String executionId) { - this.executionId = executionId; - } - - @Override - public List execute(CommandContext commandContext) { - ExecutionEntityManager executionEntityManager = CommandContextUtil.getExecutionEntityManager(); - // 获取当前执行数据 - ExecutionEntity executionEntity = executionEntityManager.findById(executionId); - // 通过当前执行数据的父执行,查询所有子执行数据 - List allChildrenExecution = - executionEntityManager.collectChildren(executionEntity.getParent()); - return StreamUtils.filter(allChildrenExecution, e -> !e.isActive()); - } -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/flowable/cmd/UpdateBusinessStatusCmd.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/flowable/cmd/UpdateBusinessStatusCmd.java deleted file mode 100644 index 3ba120a..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/flowable/cmd/UpdateBusinessStatusCmd.java +++ /dev/null @@ -1,37 +0,0 @@ -package org.dromara.workflow.flowable.cmd; - -import org.dromara.common.core.exception.ServiceException; -import org.flowable.common.engine.impl.interceptor.Command; -import org.flowable.common.engine.impl.interceptor.CommandContext; -import org.flowable.engine.impl.persistence.entity.HistoricProcessInstanceEntity; -import org.flowable.engine.impl.persistence.entity.HistoricProcessInstanceEntityManager; -import org.flowable.engine.impl.util.CommandContextUtil; - -/** - * 修改流程状态 - * - * @author may - */ -public class UpdateBusinessStatusCmd implements Command { - - private final String processInstanceId; - private final String status; - - public UpdateBusinessStatusCmd(String processInstanceId, String status) { - this.processInstanceId = processInstanceId; - this.status = status; - } - - @Override - public Boolean execute(CommandContext commandContext) { - try { - HistoricProcessInstanceEntityManager manager = CommandContextUtil.getHistoricProcessInstanceEntityManager(); - HistoricProcessInstanceEntity processInstance = manager.findById(processInstanceId); - processInstance.setBusinessStatus(status); - manager.update(processInstance); - return true; - } catch (Exception e) { - throw new ServiceException(e.getMessage()); - } - } -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/flowable/cmd/UpdateHiTaskInstCmd.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/flowable/cmd/UpdateHiTaskInstCmd.java deleted file mode 100644 index 42f6d1c..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/flowable/cmd/UpdateHiTaskInstCmd.java +++ /dev/null @@ -1,51 +0,0 @@ -package org.dromara.workflow.flowable.cmd; - -import org.dromara.common.core.exception.ServiceException; -import org.flowable.common.engine.impl.interceptor.Command; -import org.flowable.common.engine.impl.interceptor.CommandContext; -import org.flowable.engine.impl.util.CommandContextUtil; -import org.flowable.task.service.HistoricTaskService; -import org.flowable.task.service.impl.persistence.entity.HistoricTaskInstanceEntity; - -import java.util.Date; -import java.util.List; - - -/** - * 修改流程历史 - * - * @author may - */ -public class UpdateHiTaskInstCmd implements Command { - - private final List taskIds; - - private final String processDefinitionId; - - private final String processInstanceId; - - public UpdateHiTaskInstCmd(List taskIds, String processDefinitionId, String processInstanceId) { - this.taskIds = taskIds; - this.processDefinitionId = processDefinitionId; - this.processInstanceId = processInstanceId; - } - - @Override - public Boolean execute(CommandContext commandContext) { - try { - HistoricTaskService historicTaskService = CommandContextUtil.getHistoricTaskService(); - for (String taskId : taskIds) { - HistoricTaskInstanceEntity historicTask = historicTaskService.getHistoricTask(taskId); - if (historicTask != null) { - historicTask.setProcessDefinitionId(processDefinitionId); - historicTask.setProcessInstanceId(processInstanceId); - historicTask.setCreateTime(new Date()); - CommandContextUtil.getHistoricTaskService().updateHistoricTask(historicTask, true); - } - } - return true; - } catch (Exception e) { - throw new ServiceException(e.getMessage()); - } - } -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/flowable/config/FlowableConfig.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/flowable/config/FlowableConfig.java deleted file mode 100644 index 1494bf3..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/flowable/config/FlowableConfig.java +++ /dev/null @@ -1,32 +0,0 @@ -package org.dromara.workflow.flowable.config; - -import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator; -import org.dromara.workflow.flowable.handler.TaskTimeoutJobHandler; -import org.flowable.spring.SpringProcessEngineConfiguration; -import org.flowable.spring.boot.EngineConfigurationConfigurer; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.context.annotation.Configuration; - -import java.util.Collections; - - -/** - * flowable配置 - * - * @author may - */ -@Configuration -public class FlowableConfig implements EngineConfigurationConfigurer { - - @Autowired - private GlobalFlowableListener globalFlowableListener; - @Autowired - private IdentifierGenerator identifierGenerator; - - @Override - public void configure(SpringProcessEngineConfiguration processEngineConfiguration) { - processEngineConfiguration.setIdGenerator(() -> identifierGenerator.nextId(null).toString()); - processEngineConfiguration.setEventListeners(Collections.singletonList(globalFlowableListener)); - processEngineConfiguration.addCustomJobHandler(new TaskTimeoutJobHandler()); - } -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/flowable/config/GlobalFlowableListener.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/flowable/config/GlobalFlowableListener.java deleted file mode 100644 index 9bb971a..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/flowable/config/GlobalFlowableListener.java +++ /dev/null @@ -1,139 +0,0 @@ -package org.dromara.workflow.flowable.config; - -import cn.hutool.core.collection.CollUtil; -import org.dromara.common.core.utils.StringUtils; -import org.dromara.common.tenant.helper.TenantHelper; -import org.dromara.workflow.common.enums.TaskStatusEnum; -import org.dromara.workflow.flowable.handler.TaskTimeoutJobHandler; -import org.dromara.workflow.utils.QueryUtils; -import org.flowable.bpmn.model.BoundaryEvent; -import org.flowable.bpmn.model.BpmnModel; -import org.flowable.bpmn.model.FlowElement; -import org.flowable.common.engine.api.delegate.event.*; -import org.flowable.common.engine.impl.cfg.TransactionState; -import org.flowable.engine.RepositoryService; -import org.flowable.engine.RuntimeService; -import org.flowable.engine.TaskService; -import org.flowable.engine.impl.util.CommandContextUtil; -import org.flowable.engine.runtime.Execution; -import org.flowable.engine.task.Comment; -import org.flowable.job.service.TimerJobService; -import org.flowable.job.service.impl.persistence.entity.JobEntity; -import org.flowable.job.service.impl.persistence.entity.TimerJobEntity; -import org.flowable.task.api.Task; -import org.flowable.task.service.impl.persistence.entity.TaskEntity; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.context.annotation.Lazy; -import org.springframework.stereotype.Component; - -import java.util.Date; -import java.util.List; - - -/** - * 引擎调度监听 - * - * @author may - */ -@Component -public class GlobalFlowableListener implements FlowableEventListener { - - @Autowired - @Lazy - private TaskService taskService; - - @Autowired - @Lazy - private RuntimeService runtimeService; - - @Autowired - @Lazy - private RepositoryService repositoryService; - - @Value("${flowable.async-executor-activate}") - private boolean asyncExecutorActivate; - - @Override - public void onEvent(FlowableEvent flowableEvent) { - if (flowableEvent instanceof FlowableEngineEvent flowableEngineEvent) { - FlowableEngineEventType engineEventType = (FlowableEngineEventType) flowableEvent.getType(); - switch (engineEventType) { - case JOB_EXECUTION_SUCCESS -> jobExecutionSuccess((FlowableEngineEntityEvent) flowableEngineEvent); - case TASK_DUEDATE_CHANGED, TASK_CREATED -> { - FlowableEntityEvent flowableEntityEvent = (FlowableEntityEvent) flowableEngineEvent; - Object entityObject = flowableEntityEvent.getEntity(); - TaskEntity task = (TaskEntity) entityObject; - if (asyncExecutorActivate && task.getDueDate() != null && task.getDueDate().after(new Date())) { - //删除之前已经存在的定时任务 - TimerJobService timerJobService = CommandContextUtil.getTimerJobService(); - List timerJobEntityList = timerJobService.findTimerJobsByProcessInstanceId(task.getProcessInstanceId()); - if (!CollUtil.isEmpty(timerJobEntityList)) { - for (TimerJobEntity timerJobEntity : timerJobEntityList) { - String taskId = timerJobEntity.getJobHandlerConfiguration(); - if (task.getId().equals(taskId)) { - timerJobService.deleteTimerJob(timerJobEntity); - } - } - } - //创建job对象 - TimerJobEntity timer = timerJobService.createTimerJob(); - timer.setTenantId(TenantHelper.getTenantId()); - //设置job类型 - timer.setJobType(JobEntity.JOB_TYPE_TIMER); - timer.setJobHandlerType(TaskTimeoutJobHandler.TYPE); - timer.setDuedate(task.getDueDate()); - timer.setProcessInstanceId(task.getProcessInstanceId()); - //设置任务id - timer.setJobHandlerConfiguration(task.getId()); - //保存并触发事件 - timerJobService.scheduleTimerJob(timer); - } - } - } - } - } - - @Override - public boolean isFailOnException() { - return true; - } - - @Override - public boolean isFireOnTransactionLifecycleEvent() { - return false; - } - - @Override - public String getOnTransaction() { - return TransactionState.COMMITTED.name(); - } - - /** - * 处理边界定时事件自动审批记录 - * - * @param event 事件 - */ - protected void jobExecutionSuccess(FlowableEngineEntityEvent event) { - if (event != null && StringUtils.isNotBlank(event.getExecutionId())) { - Execution execution = runtimeService.createExecutionQuery().executionId(event.getExecutionId()).singleResult(); - if (execution != null) { - BpmnModel bpmnModel = repositoryService.getBpmnModel(event.getProcessDefinitionId()); - FlowElement flowElement = bpmnModel.getFlowElement(execution.getActivityId()); - if (flowElement instanceof BoundaryEvent) { - String attachedToRefId = ((BoundaryEvent) flowElement).getAttachedToRefId(); - List list = runtimeService.createExecutionQuery().activityId(attachedToRefId).list(); - for (Execution ex : list) { - Task task = QueryUtils.taskQuery().executionId(ex.getId()).singleResult(); - if (task != null) { - List taskComments = taskService.getTaskComments(task.getId()); - if (CollUtil.isEmpty(taskComments)) { - taskService.addComment(task.getId(), task.getProcessInstanceId(), TaskStatusEnum.PASS.getStatus(), "超时自动审批!"); - } - } - } - } - } - } - } -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/flowable/handler/FlowProcessEventHandler.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/flowable/handler/FlowProcessEventHandler.java deleted file mode 100644 index 69ae70a..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/flowable/handler/FlowProcessEventHandler.java +++ /dev/null @@ -1,50 +0,0 @@ -package org.dromara.workflow.flowable.handler; - -import org.dromara.common.core.domain.event.ProcessEvent; -import org.dromara.common.core.domain.event.ProcessTaskEvent; -import org.dromara.common.core.utils.SpringUtils; -import org.springframework.stereotype.Component; - -/** - * 流程监听服务 - * - * @author may - * @date 2024-06-02 - */ -@Component -public class FlowProcessEventHandler { - - /** - * 总体流程监听(例如: 提交 退回 撤销 终止 作废等) - * - * @param key 流程key - * @param businessKey 业务id - * @param status 状态 - * @param submit 当为true时为申请人节点办理 - */ - public void processHandler(String key, String businessKey, String status, boolean submit) { - ProcessEvent processEvent = new ProcessEvent(); - processEvent.setKey(key); - processEvent.setBusinessKey(businessKey); - processEvent.setStatus(status); - processEvent.setSubmit(submit); - SpringUtils.context().publishEvent(processEvent); - } - - /** - * 执行办理任务监听 - * - * @param key 流程key - * @param taskDefinitionKey 审批节点key - * @param taskId 任务id - * @param businessKey 业务id - */ - public void processTaskHandler(String key, String taskDefinitionKey, String taskId, String businessKey) { - ProcessTaskEvent processTaskEvent = new ProcessTaskEvent(); - processTaskEvent.setKey(key); - processTaskEvent.setTaskDefinitionKey(taskDefinitionKey); - processTaskEvent.setTaskId(taskId); - processTaskEvent.setBusinessKey(businessKey); - SpringUtils.context().publishEvent(processTaskEvent); - } -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/flowable/handler/TaskTimeoutJobHandler.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/flowable/handler/TaskTimeoutJobHandler.java deleted file mode 100644 index 61c9388..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/flowable/handler/TaskTimeoutJobHandler.java +++ /dev/null @@ -1,37 +0,0 @@ -package org.dromara.workflow.flowable.handler; - -import org.dromara.workflow.common.enums.TaskStatusEnum; -import org.flowable.common.engine.impl.interceptor.CommandContext; -import org.flowable.engine.TaskService; -import org.flowable.engine.impl.jobexecutor.TimerEventHandler; -import org.flowable.engine.impl.util.CommandContextUtil; -import org.flowable.job.service.JobHandler; -import org.flowable.job.service.impl.persistence.entity.JobEntity; -import org.flowable.task.api.Task; -import org.flowable.variable.api.delegate.VariableScope; - -/** - * 办理超时(过期)任务 - * - * @author may - */ -public class TaskTimeoutJobHandler extends TimerEventHandler implements JobHandler { - - public static final String TYPE = "taskTimeout"; - - @Override - public String getType() { - return TYPE; - } - - @Override - public void execute(JobEntity job, String configuration, VariableScope variableScope, CommandContext commandContext) { - TaskService taskService = CommandContextUtil.getProcessEngineConfiguration(commandContext) - .getTaskService(); - Task task = taskService.createTaskQuery().taskId(configuration).singleResult(); - if (task != null) { - taskService.addComment(task.getId(), task.getProcessInstanceId(), TaskStatusEnum.TIMEOUT.getStatus(), "超时自动审批!"); - taskService.complete(configuration); - } - } -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/mapper/ActHiProcinstMapper.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/mapper/ActHiProcinstMapper.java deleted file mode 100644 index a3a41c9..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/mapper/ActHiProcinstMapper.java +++ /dev/null @@ -1,16 +0,0 @@ -package org.dromara.workflow.mapper; - -import com.baomidou.mybatisplus.annotation.InterceptorIgnore; -import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; -import org.dromara.workflow.domain.ActHiProcinst; - -/** - * 流程实例Mapper接口 - * - * @author may - * @date 2023-07-22 - */ -@InterceptorIgnore(tenantLine = "true") -public interface ActHiProcinstMapper extends BaseMapperPlus { - -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/mapper/ActHiTaskinstMapper.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/mapper/ActHiTaskinstMapper.java deleted file mode 100644 index 63b394b..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/mapper/ActHiTaskinstMapper.java +++ /dev/null @@ -1,16 +0,0 @@ -package org.dromara.workflow.mapper; - -import com.baomidou.mybatisplus.annotation.InterceptorIgnore; -import org.dromara.workflow.domain.ActHiTaskinst; -import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; - -/** - * 流程历史任务Mapper接口 - * - * @author may - * @date 2024-03-02 - */ -@InterceptorIgnore(tenantLine = "true") -public interface ActHiTaskinstMapper extends BaseMapperPlus { - -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/mapper/ActTaskMapper.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/mapper/ActTaskMapper.java deleted file mode 100644 index 63c5ecb..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/mapper/ActTaskMapper.java +++ /dev/null @@ -1,47 +0,0 @@ -package org.dromara.workflow.mapper; - -import com.baomidou.mybatisplus.annotation.InterceptorIgnore; -import com.baomidou.mybatisplus.core.conditions.Wrapper; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.Constants; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import org.apache.ibatis.annotations.Param; -import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; -import org.dromara.workflow.domain.vo.TaskVo; - - -/** - * 任务信息Mapper接口 - * - * @author may - * @date 2024-03-02 - */ -@InterceptorIgnore(tenantLine = "true") -public interface ActTaskMapper extends BaseMapperPlus { - /** - * 获取待办信息 - * - * @param page 分页 - * @param queryWrapper 条件 - * @return 结果 - */ - Page getTaskWaitByPage(@Param("page") Page page, @Param(Constants.WRAPPER) Wrapper queryWrapper); - - /** - * 获取已办 - * - * @param page 分页 - * @param queryWrapper 条件 - * @return 结果 - */ - Page getTaskFinishByPage(@Param("page") Page page, @Param(Constants.WRAPPER) Wrapper queryWrapper); - - /** - * 查询当前用户的抄送 - * - * @param page 分页 - * @param queryWrapper 条件 - * @return 结果 - */ - Page getTaskCopyByPage(@Param("page") Page page, @Param(Constants.WRAPPER) QueryWrapper queryWrapper); -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/mapper/TestLeaveMapper.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/mapper/TestLeaveMapper.java deleted file mode 100644 index cd1edba..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/mapper/TestLeaveMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package org.dromara.workflow.mapper; - -import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; -import org.dromara.workflow.domain.TestLeave; -import org.dromara.workflow.domain.vo.TestLeaveVo; - -/** - * 请假Mapper接口 - * - * @author may - * @date 2023-07-21 - */ -public interface TestLeaveMapper extends BaseMapperPlus { - -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/mapper/WfCategoryMapper.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/mapper/WfCategoryMapper.java deleted file mode 100644 index 98aea02..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/mapper/WfCategoryMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package org.dromara.workflow.mapper; - -import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; -import org.dromara.workflow.domain.WfCategory; -import org.dromara.workflow.domain.vo.WfCategoryVo; - -/** - * 流程分类Mapper接口 - * - * @author may - * @date 2023-06-27 - */ -public interface WfCategoryMapper extends BaseMapperPlus { - -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/mapper/WfDefinitionConfigMapper.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/mapper/WfDefinitionConfigMapper.java deleted file mode 100644 index ee20882..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/mapper/WfDefinitionConfigMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package org.dromara.workflow.mapper; - -import org.dromara.workflow.domain.WfDefinitionConfig; -import org.dromara.workflow.domain.vo.WfDefinitionConfigVo; -import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; - -/** - * 流程定义配置Mapper接口 - * - * @author may - * @date 2024-03-18 - */ -public interface WfDefinitionConfigMapper extends BaseMapperPlus { - -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/mapper/WfFormManageMapper.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/mapper/WfFormManageMapper.java deleted file mode 100644 index acf8111..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/mapper/WfFormManageMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package org.dromara.workflow.mapper; - -import org.dromara.workflow.domain.WfFormManage; -import org.dromara.workflow.domain.vo.WfFormManageVo; -import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; - -/** - * 表单管理Mapper接口 - * - * @author may - * @date 2024-03-29 - */ -public interface WfFormManageMapper extends BaseMapperPlus { - -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/mapper/WfNodeConfigMapper.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/mapper/WfNodeConfigMapper.java deleted file mode 100644 index d2aecac..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/mapper/WfNodeConfigMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package org.dromara.workflow.mapper; - -import org.dromara.workflow.domain.WfNodeConfig; -import org.dromara.workflow.domain.vo.WfNodeConfigVo; -import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; - -/** - * 节点配置Mapper接口 - * - * @author may - * @date 2024-03-30 - */ -public interface WfNodeConfigMapper extends BaseMapperPlus { - -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/mapper/WfTaskBackNodeMapper.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/mapper/WfTaskBackNodeMapper.java deleted file mode 100644 index 9b291fe..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/mapper/WfTaskBackNodeMapper.java +++ /dev/null @@ -1,13 +0,0 @@ -package org.dromara.workflow.mapper; - -import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; -import org.dromara.workflow.domain.WfTaskBackNode; - -/** - * 节点驳回记录Mapper接口 - * - * @author may - * @date 2024-03-13 - */ -public interface WfTaskBackNodeMapper extends BaseMapperPlus { -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IActHiProcinstService.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IActHiProcinstService.java deleted file mode 100644 index e802c69..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IActHiProcinstService.java +++ /dev/null @@ -1,31 +0,0 @@ -package org.dromara.workflow.service; - - -import org.dromara.workflow.domain.ActHiProcinst; - -import java.util.List; - -/** - * 流程实例Service接口 - * - * @author may - * @date 2023-07-22 - */ -public interface IActHiProcinstService { - - /** - * 按照业务id查询 - * - * @param businessKeys 业务id - * @return 结果 - */ - List selectByBusinessKeyIn(List businessKeys); - - /** - * 按照业务id查询 - * - * @param businessKey 业务id - * @return 结果 - */ - ActHiProcinst selectByBusinessKey(String businessKey); -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IActHiTaskinstService.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IActHiTaskinstService.java deleted file mode 100644 index ad286e2..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IActHiTaskinstService.java +++ /dev/null @@ -1,11 +0,0 @@ -package org.dromara.workflow.service; - - -/** - * 流程历史任务Service接口 - * - * @author may - * @date 2024-03-02 - */ -public interface IActHiTaskinstService { -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IActModelService.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IActModelService.java deleted file mode 100644 index 4a6d170..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IActModelService.java +++ /dev/null @@ -1,83 +0,0 @@ -package org.dromara.workflow.service; - -import jakarta.servlet.http.HttpServletResponse; -import org.dromara.common.mybatis.core.page.PageQuery; -import org.dromara.common.mybatis.core.page.TableDataInfo; -import org.dromara.workflow.domain.bo.ModelBo; -import org.dromara.workflow.domain.vo.ModelVo; -import org.flowable.engine.repository.Model; - -import java.util.List; - - -/** - * 模型管理 服务层 - * - * @author may - */ -public interface IActModelService { - /** - * 分页查询模型 - * - * @param modelBo 模型参数 - * @param pageQuery 参数 - * @return 返回分页列表 - */ - TableDataInfo page(ModelBo modelBo, PageQuery pageQuery); - - /** - * 新增模型 - * - * @param modelBo 模型请求对象 - * @return 结果 - */ - boolean saveNewModel(ModelBo modelBo); - - /** - * 查询模型 - * - * @param modelId 模型id - * @return 模型数据 - */ - ModelVo getInfo(String modelId); - - /** - * 修改模型信息 - * - * @param modelBo 模型数据 - * @return 结果 - */ - boolean update(ModelBo modelBo); - - /** - * 编辑模型XML - * - * @param modelBo 模型数据 - * @return 结果 - */ - boolean editModelXml(ModelBo modelBo); - - /** - * 模型部署 - * - * @param id 模型id - * @return 结果 - */ - boolean modelDeploy(String id); - - /** - * 导出模型zip压缩包 - * - * @param modelIds 模型id - * @param response 响应 - */ - void exportZip(List modelIds, HttpServletResponse response); - - /** - * 复制模型 - * - * @param modelBo 模型数据 - * @return 结果 - */ - boolean copyModel(ModelBo modelBo); -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IActProcessDefinitionService.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IActProcessDefinitionService.java deleted file mode 100644 index 5d00e41..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IActProcessDefinitionService.java +++ /dev/null @@ -1,91 +0,0 @@ -package org.dromara.workflow.service; - -import org.dromara.common.mybatis.core.page.PageQuery; -import org.dromara.common.mybatis.core.page.TableDataInfo; -import org.dromara.workflow.domain.bo.ProcessDefinitionBo; -import org.dromara.workflow.domain.vo.ProcessDefinitionVo; -import org.springframework.web.multipart.MultipartFile; - -import java.util.List; - -/** - * 流程定义 服务层 - * - * @author may - */ -public interface IActProcessDefinitionService { - /** - * 分页查询 - * - * @param processDefinitionBo 参数 - * @param pageQuery 分页 - * @return 返回分页列表 - */ - TableDataInfo page(ProcessDefinitionBo processDefinitionBo, PageQuery pageQuery); - - /** - * 查询历史流程定义列表 - * - * @param key 流程定义key - * @return 结果 - */ - List getListByKey(String key); - - /** - * 查看流程定义图片 - * - * @param processDefinitionId 流程定义id - * @return 结果 - */ - String definitionImage(String processDefinitionId); - - /** - * 查看流程定义xml文件 - * - * @param processDefinitionId 流程定义id - * @return 结果 - */ - String definitionXml(String processDefinitionId); - - /** - * 删除流程定义 - * - * @param deploymentIds 部署id - * @param processDefinitionIds 流程定义id - * @return 结果 - */ - boolean deleteDeployment(List deploymentIds, List processDefinitionIds); - - /** - * 激活或者挂起流程定义 - * - * @param processDefinitionId 流程定义id - * @return 结果 - */ - boolean updateDefinitionState(String processDefinitionId); - - /** - * 迁移流程定义 - * - * @param currentProcessDefinitionId 当前流程定义id - * @param fromProcessDefinitionId 需要迁移到的流程定义id - * @return 结果 - */ - boolean migrationDefinition(String currentProcessDefinitionId, String fromProcessDefinitionId); - - /** - * 流程定义转换为模型 - * - * @param processDefinitionId 流程定义id - * @return 结果 - */ - boolean convertToModel(String processDefinitionId); - - /** - * 通过zip或xml部署流程定义 - * - * @param file 文件 - * @param categoryCode 分类 - */ - void deployByFile(MultipartFile file, String categoryCode); -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IActProcessInstanceService.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IActProcessInstanceService.java deleted file mode 100644 index ca3b6fb..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IActProcessInstanceService.java +++ /dev/null @@ -1,110 +0,0 @@ -package org.dromara.workflow.service; - -import org.dromara.common.mybatis.core.page.PageQuery; -import org.dromara.common.mybatis.core.page.TableDataInfo; -import org.dromara.workflow.domain.bo.ProcessInstanceBo; -import org.dromara.workflow.domain.bo.ProcessInvalidBo; -import org.dromara.workflow.domain.bo.TaskUrgingBo; -import org.dromara.workflow.domain.vo.ActHistoryInfoVo; -import org.dromara.workflow.domain.vo.ProcessInstanceVo; - -import java.util.List; -import java.util.Map; - -/** - * 流程实例 服务层 - * - * @author may - */ -public interface IActProcessInstanceService { - /** - * 通过流程实例id获取历史流程图 - * - * @param businessKey 流程实例id - * @return 结果 - */ - String getHistoryImage(String businessKey); - - /** - * 通过业务id获取历史流程图运行中,历史等节点 - * - * @param businessKey 业务id - * @return 结果 - */ - Map getHistoryList(String businessKey); - - /** - * 分页查询正在运行的流程实例 - * - * @param processInstanceBo 参数 - * @param pageQuery 分页 - * @return 结果 - */ - TableDataInfo getPageByRunning(ProcessInstanceBo processInstanceBo, PageQuery pageQuery); - - /** - * 分页查询已结束的流程实例 - * - * @param processInstanceBo 参数 - * @param pageQuery 分页 - * @return 结果 - */ - TableDataInfo getPageByFinish(ProcessInstanceBo processInstanceBo, PageQuery pageQuery); - - /** - * 获取审批记录 - * - * @param businessKey 业务id - * @return 结果 - */ - List getHistoryRecord(String businessKey); - - /** - * 作废流程实例,不会删除历史记录(删除运行中的实例) - * - * @param processInvalidBo 参数 - * @return 结果 - */ - boolean deleteRunInstance(ProcessInvalidBo processInvalidBo); - - /** - * 运行中的实例 删除程实例,删除历史记录,删除业务与流程关联信息 - * - * @param businessKeys 业务id - * @return 结果 - */ - boolean deleteRunAndHisInstance(List businessKeys); - - /** - * 已完成的实例 删除程实例,删除历史记录,删除业务与流程关联信息 - * - * @param businessKeys 业务id - * @return 结果 - */ - boolean deleteFinishAndHisInstance(List businessKeys); - - /** - * 撤销流程申请 - * - * @param businessKey 业务id - * @return 结果 - */ - boolean cancelProcessApply(String businessKey); - - /** - * 分页查询当前登录人单据 - * - * @param processInstanceBo 参数 - * @param pageQuery 分页 - * @return 结果 - */ - TableDataInfo getPageByCurrent(ProcessInstanceBo processInstanceBo, PageQuery pageQuery); - - /** - * 任务催办(给当前任务办理人发送站内信,邮件,短信等) - * - * @param taskUrgingBo 任务催办 - * @return 结果 - */ - boolean taskUrging(TaskUrgingBo taskUrgingBo); -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IActTaskService.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IActTaskService.java deleted file mode 100644 index 8e9f763..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IActTaskService.java +++ /dev/null @@ -1,161 +0,0 @@ -package org.dromara.workflow.service; - -import org.dromara.common.mybatis.core.page.PageQuery; -import org.dromara.common.mybatis.core.page.TableDataInfo; -import org.dromara.workflow.domain.bo.*; -import org.dromara.workflow.domain.vo.TaskVo; -import org.dromara.workflow.domain.vo.VariableVo; - -import java.util.List; -import java.util.Map; - -/** - * 任务 服务层 - * - * @author may - */ -public interface IActTaskService { - /** - * 启动任务 - * - * @param startProcessBo 启动流程参数 - * @return 结果 - */ - Map startWorkFlow(StartProcessBo startProcessBo); - - - /** - * 办理任务 - * - * @param completeTaskBo 办理任务参数 - * @return 结果 - */ - boolean completeTask(CompleteTaskBo completeTaskBo); - - /** - * 查询当前用户的待办任务 - * - * @param taskBo 参数 - * @param pageQuery 分页 - * @return 结果 - */ - TableDataInfo getPageByTaskWait(TaskBo taskBo, PageQuery pageQuery); - - /** - * 查询当前租户所有待办任务 - * - * @param taskBo 参数 - * @param pageQuery 分页 - * @return 结果 - */ - TableDataInfo getPageByAllTaskWait(TaskBo taskBo, PageQuery pageQuery); - - - /** - * 查询当前用户的已办任务 - * - * @param taskBo 参数 - * @param pageQuery 参数 - * @return 结果 - */ - TableDataInfo getPageByTaskFinish(TaskBo taskBo, PageQuery pageQuery); - - /** - * 查询当前用户的抄送 - * - * @param taskBo 参数 - * @param pageQuery 参数 - * @return 结果 - */ - TableDataInfo getPageByTaskCopy(TaskBo taskBo, PageQuery pageQuery); - - /** - * 查询当前租户所有已办任务 - * - * @param taskBo 参数 - * @param pageQuery 参数 - * @return 结果 - */ - TableDataInfo getPageByAllTaskFinish(TaskBo taskBo, PageQuery pageQuery); - - /** - * 委派任务 - * - * @param delegateBo 参数 - * @return 结果 - */ - boolean delegateTask(DelegateBo delegateBo); - - /** - * 终止任务 - * - * @param terminationBo 参数 - * @return 结果 - */ - boolean terminationTask(TerminationBo terminationBo); - - /** - * 转办任务 - * - * @param transmitBo 参数 - * @return 结果 - */ - boolean transferTask(TransmitBo transmitBo); - - /** - * 会签任务加签 - * - * @param addMultiBo 参数 - * @return 结果 - */ - boolean addMultiInstanceExecution(AddMultiBo addMultiBo); - - /** - * 会签任务减签 - * - * @param deleteMultiBo 参数 - * @return 结果 - */ - boolean deleteMultiInstanceExecution(DeleteMultiBo deleteMultiBo); - - /** - * 驳回审批 - * - * @param backProcessBo 参数 - * @return 流程实例id - */ - String backProcess(BackProcessBo backProcessBo); - - /** - * 修改任务办理人 - * - * @param taskIds 任务id - * @param userId 办理人id - * @return 结果 - */ - boolean updateAssignee(String[] taskIds, String userId); - - /** - * 查询流程变量 - * - * @param taskId 任务id - * @return 结果 - */ - List getInstanceVariable(String taskId); - - /** - * 查询工作流任务用户选择加签人员 - * - * @param taskId 任务id - * @return 结果 - */ - String getTaskUserIdsByAddMultiInstance(String taskId); - - /** - * 查询工作流选择减签人员 - * - * @param taskId 任务id - * @return 结果 - */ - List getListByDeleteMultiInstance(String taskId); -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/ITestLeaveService.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/ITestLeaveService.java deleted file mode 100644 index 943c919..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/ITestLeaveService.java +++ /dev/null @@ -1,48 +0,0 @@ -package org.dromara.workflow.service; - -import org.dromara.common.mybatis.core.page.PageQuery; -import org.dromara.common.mybatis.core.page.TableDataInfo; -import org.dromara.workflow.domain.bo.TestLeaveBo; -import org.dromara.workflow.domain.vo.TestLeaveVo; - -import java.util.Collection; -import java.util.List; - -/** - * 请假Service接口 - * - * @author may - * @date 2023-07-21 - */ -public interface ITestLeaveService { - - /** - * 查询请假 - */ - TestLeaveVo queryById(Long id); - - /** - * 查询请假列表 - */ - TableDataInfo queryPageList(TestLeaveBo bo, PageQuery pageQuery); - - /** - * 查询请假列表 - */ - List queryList(TestLeaveBo bo); - - /** - * 新增请假 - */ - TestLeaveVo insertByBo(TestLeaveBo bo); - - /** - * 修改请假 - */ - TestLeaveVo updateByBo(TestLeaveBo bo); - - /** - * 校验并批量删除请假信息 - */ - Boolean deleteWithValidByIds(Collection ids); -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IWfCategoryService.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IWfCategoryService.java deleted file mode 100644 index acf0aa2..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IWfCategoryService.java +++ /dev/null @@ -1,51 +0,0 @@ -package org.dromara.workflow.service; - -import org.dromara.workflow.domain.WfCategory; -import org.dromara.workflow.domain.bo.WfCategoryBo; -import org.dromara.workflow.domain.vo.WfCategoryVo; - -import java.util.Collection; -import java.util.List; - -/** - * 流程分类Service接口 - * - * @author may - * @date 2023-06-28 - */ -public interface IWfCategoryService { - - /** - * 查询流程分类 - */ - WfCategoryVo queryById(Long id); - - - /** - * 查询流程分类列表 - */ - List queryList(WfCategoryBo bo); - - /** - * 新增流程分类 - */ - Boolean insertByBo(WfCategoryBo bo); - - /** - * 修改流程分类 - */ - Boolean updateByBo(WfCategoryBo bo); - - /** - * 校验并批量删除流程分类信息 - */ - Boolean deleteWithValidByIds(Collection ids, Boolean isValid); - - /** - * 按照类别编码查询 - * - * @param categoryCode 分类比吗 - * @return 结果 - */ - WfCategory queryByCategoryCode(String categoryCode); -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IWfDefinitionConfigService.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IWfDefinitionConfigService.java deleted file mode 100644 index fe5cf7a..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IWfDefinitionConfigService.java +++ /dev/null @@ -1,83 +0,0 @@ -package org.dromara.workflow.service; - -import org.dromara.workflow.domain.vo.WfDefinitionConfigVo; -import org.dromara.workflow.domain.bo.WfDefinitionConfigBo; - -import java.util.Collection; -import java.util.List; - -/** - * 流程定义配置Service接口 - * - * @author may - * @date 2024-03-18 - */ -public interface IWfDefinitionConfigService { - - /** - * 查询流程定义配置 - * - * @param definitionId 流程定义id - * @return 结果 - */ - WfDefinitionConfigVo getByDefId(String definitionId); - - /** - * 查询流程定义配置 - * - * @param tableName 表名 - * @return 结果 - */ - WfDefinitionConfigVo getByTableNameLastVersion(String tableName); - - /** - * 查询流程定义配置 - * - * @param definitionId 流程定义id - * @param tableName 表名 - * @return 结果 - */ - WfDefinitionConfigVo getByDefIdAndTableName(String definitionId, String tableName); - - /** - * 查询流程定义配置排除当前查询的流程定义 - * - * @param definitionId 流程定义id - * @param tableName 表名 - * @return 结果 - */ - List getByTableNameNotDefId(String tableName, String definitionId); - - /** - * 查询流程定义配置列表 - * - * @param definitionIds 流程定义id - * @return 结果 - */ - List queryList(List definitionIds); - - - /** - * 新增流程定义配置 - * - * @param bo 参数 - * @return 结果 - */ - Boolean saveOrUpdate(WfDefinitionConfigBo bo); - - /** - * 删除 - * - * @param ids id - * @return 结果 - */ - Boolean deleteByIds(Collection ids); - - /** - * 按照流程定义id删除 - * - * @param ids 流程定义id - * @return 结果 - */ - Boolean deleteByDefIds(Collection ids); -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IWfFormManageService.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IWfFormManageService.java deleted file mode 100644 index 2ca2264..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IWfFormManageService.java +++ /dev/null @@ -1,81 +0,0 @@ -package org.dromara.workflow.service; - -import org.dromara.workflow.domain.vo.WfFormManageVo; -import org.dromara.workflow.domain.bo.WfFormManageBo; -import org.dromara.common.mybatis.core.page.TableDataInfo; -import org.dromara.common.mybatis.core.page.PageQuery; - -import java.util.Collection; -import java.util.List; - -/** - * 表单管理Service接口 - * - * @author may - * @date 2024-03-29 - */ -public interface IWfFormManageService { - - /** - * 查询表单管理 - * - * @param id 主键 - * @return 结果 - */ - WfFormManageVo queryById(Long id); - - /** - * 查询表单管理 - * - * @param ids 主键 - * @return 结果 - */ - List queryByIds(List ids); - - /** - * 查询表单管理列表 - * - * @param bo 参数 - * @param pageQuery 分页 - * @return 结果 - */ - TableDataInfo queryPageList(WfFormManageBo bo, PageQuery pageQuery); - - /** - * 查询表单管理列表 - * - * @return 结果 - */ - List selectList(); - /** - * 查询表单管理列表 - * - * @param bo 参数 - * @return 结果 - */ - List queryList(WfFormManageBo bo); - - /** - * 新增表单管理 - * - * @param bo 参数 - * @return 结果 - */ - Boolean insertByBo(WfFormManageBo bo); - - /** - * 修改表单管理 - * - * @param bo 参数 - * @return 结果 - */ - Boolean updateByBo(WfFormManageBo bo); - - /** - * 批量删除表单管理信息 - * - * @param ids 主键 - * @return 结果 - */ - Boolean deleteByIds(Collection ids); -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IWfNodeConfigService.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IWfNodeConfigService.java deleted file mode 100644 index 5e64d64..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IWfNodeConfigService.java +++ /dev/null @@ -1,56 +0,0 @@ -package org.dromara.workflow.service; - -import org.dromara.workflow.domain.WfNodeConfig; -import org.dromara.workflow.domain.vo.WfNodeConfigVo; - -import java.util.Collection; -import java.util.List; - -/** - * 节点配置Service接口 - * - * @author may - * @date 2024-03-30 - */ -public interface IWfNodeConfigService { - - /** - * 查询节点配置 - * - * @param id 主键 - * @return 结果 - */ - WfNodeConfigVo queryById(Long id); - - /** - * 保存节点配置 - * - * @param list 参数 - * @return 结果 - */ - Boolean saveOrUpdate(List list); - - /** - * 批量删除节点配置信息 - * - * @param ids 主键 - * @return 结果 - */ - Boolean deleteByIds(Collection ids); - - /** - * 按照流程定义id删除 - * - * @param ids 流程定义id - * @return 结果 - */ - Boolean deleteByDefIds(Collection ids); - - /** - * 按照流程定义id查询 - * - * @param ids 流程定义id - * @return 结果 - */ - List selectByDefIds(Collection ids); -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IWfTaskBackNodeService.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IWfTaskBackNodeService.java deleted file mode 100644 index 97f9406..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IWfTaskBackNodeService.java +++ /dev/null @@ -1,65 +0,0 @@ -package org.dromara.workflow.service; - - -import org.dromara.workflow.domain.WfTaskBackNode; -import org.flowable.task.api.Task; - -import java.util.List; - -/** - * 节点驳回记录Service接口 - * - * @author may - * @date 2024-03-13 - */ -public interface IWfTaskBackNodeService { - - /** - * 记录审批节点 - * - * @param task 任务 - */ - void recordExecuteNode(Task task); - - /** - * 按流程实例id查询 - * - * @param processInstanceId 流程实例id - * @return 结果 - */ - List getListByInstanceId(String processInstanceId); - - /** - * 按照流程实例id,节点id查询 - * - * @param processInstanceId 流程实例id - * @param nodeId 节点id - * @return 结果 - */ - WfTaskBackNode getListByInstanceIdAndNodeId(String processInstanceId, String nodeId); - - /** - * 删除驳回后的节点 - * - * @param processInstanceId 流程实例id - * @param targetActivityId 节点id - * @return 结果 - */ - boolean deleteBackTaskNode(String processInstanceId, String targetActivityId); - - /** - * 按流程实例id删除 - * - * @param processInstanceId 流程实例id - * @return 结果 - */ - boolean deleteByInstanceId(String processInstanceId); - - /** - * 按流程实例id删除 - * - * @param processInstanceIds 流程实例id - * @return 结果 - */ - boolean deleteByInstanceIds(List processInstanceIds); -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActHiProcinstServiceImpl.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActHiProcinstServiceImpl.java deleted file mode 100644 index 06d607b..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActHiProcinstServiceImpl.java +++ /dev/null @@ -1,51 +0,0 @@ -package org.dromara.workflow.service.impl; - - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import lombok.RequiredArgsConstructor; -import org.dromara.common.tenant.helper.TenantHelper; -import org.dromara.workflow.domain.ActHiProcinst; -import org.dromara.workflow.mapper.ActHiProcinstMapper; -import org.dromara.workflow.service.IActHiProcinstService; -import org.springframework.stereotype.Service; - -import java.util.List; - - -/** - * 流程实例Service业务层处理 - * - * @author may - * @date 2023-07-22 - */ -@RequiredArgsConstructor -@Service -public class ActHiProcinstServiceImpl implements IActHiProcinstService { - - private final ActHiProcinstMapper baseMapper; - - /** - * 按照业务id查询 - * - * @param businessKeys 业务id - */ - @Override - public List selectByBusinessKeyIn(List businessKeys) { - return baseMapper.selectList(new LambdaQueryWrapper() - .in(ActHiProcinst::getBusinessKey, businessKeys) - .eq(TenantHelper.isEnable(), ActHiProcinst::getTenantId, TenantHelper.getTenantId())); - } - - /** - * 按照业务id查询 - * - * @param businessKey 业务id - */ - @Override - public ActHiProcinst selectByBusinessKey(String businessKey) { - return baseMapper.selectOne(new LambdaQueryWrapper() - .eq(ActHiProcinst::getBusinessKey, businessKey) - .eq(TenantHelper.isEnable(), ActHiProcinst::getTenantId, TenantHelper.getTenantId())); - - } -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActHiTaskinstServiceImpl.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActHiTaskinstServiceImpl.java deleted file mode 100644 index 5548f22..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActHiTaskinstServiceImpl.java +++ /dev/null @@ -1,18 +0,0 @@ -package org.dromara.workflow.service.impl; - -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Service; -import org.dromara.workflow.service.IActHiTaskinstService; - - -/** - * 流程历史任务Service业务层处理 - * - * @author may - * @date 2024-03-02 - */ -@RequiredArgsConstructor -@Service -public class ActHiTaskinstServiceImpl implements IActHiTaskinstService { - -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActModelServiceImpl.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActModelServiceImpl.java deleted file mode 100644 index 217538e..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActModelServiceImpl.java +++ /dev/null @@ -1,431 +0,0 @@ -package org.dromara.workflow.service.impl; - -import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.lang.Validator; -import cn.hutool.core.util.ArrayUtil; -import cn.hutool.core.util.ObjectUtil; -import cn.hutool.core.util.StrUtil; -import cn.hutool.core.util.ZipUtil; -import cn.hutool.json.JSONUtil; -import com.alibaba.excel.util.StringUtils; -import jakarta.servlet.http.HttpServletResponse; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.apache.batik.transcoder.TranscoderInput; -import org.apache.batik.transcoder.TranscoderOutput; -import org.apache.batik.transcoder.image.PNGTranscoder; -import org.dromara.common.core.exception.ServiceException; -import org.dromara.common.mybatis.core.page.PageQuery; -import org.dromara.common.mybatis.core.page.TableDataInfo; -import org.dromara.common.tenant.helper.TenantHelper; -import org.dromara.workflow.common.constant.FlowConstant; -import org.dromara.workflow.domain.WfNodeConfig; -import org.dromara.workflow.domain.bo.ModelBo; -import org.dromara.workflow.domain.bo.WfDefinitionConfigBo; -import org.dromara.workflow.domain.vo.ModelVo; -import org.dromara.workflow.domain.vo.WfDefinitionConfigVo; -import org.dromara.workflow.service.IActModelService; -import org.dromara.workflow.service.IWfDefinitionConfigService; -import org.dromara.workflow.service.IWfNodeConfigService; -import org.dromara.workflow.utils.ModelUtils; -import org.dromara.workflow.utils.QueryUtils; -import org.flowable.bpmn.converter.BpmnXMLConverter; -import org.flowable.bpmn.model.BpmnModel; -import org.flowable.bpmn.model.Process; -import org.flowable.bpmn.model.UserTask; -import org.flowable.engine.RepositoryService; -import org.flowable.engine.repository.Deployment; -import org.flowable.engine.repository.Model; -import org.flowable.engine.repository.ModelQuery; -import org.flowable.engine.repository.ProcessDefinition; -import org.flowable.validation.ValidationError; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.net.URLEncoder; -import java.nio.charset.StandardCharsets; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.stream.Collectors; -import java.util.zip.ZipEntry; -import java.util.zip.ZipOutputStream; - -/** - * 模型管理 服务层实现 - * - * @author may - */ -@Slf4j -@RequiredArgsConstructor -@Service -public class ActModelServiceImpl implements IActModelService { - - @Autowired(required = false) - private RepositoryService repositoryService; - private final IWfNodeConfigService wfNodeConfigService; - private final IWfDefinitionConfigService wfDefinitionConfigService; - - /** - * 分页查询模型 - * - * @param modelBo 模型参数 - * @return 返回分页列表 - */ - @Override - public TableDataInfo page(ModelBo modelBo, PageQuery pageQuery) { - ModelQuery query = QueryUtils.modelQuery(); - if (StringUtils.isNotBlank(modelBo.getName())) { - query.modelNameLike("%" + modelBo.getName() + "%"); - } - if (StringUtils.isNotBlank(modelBo.getKey())) { - query.modelKey(modelBo.getKey()); - } - if (StringUtils.isNotBlank(modelBo.getCategoryCode())) { - query.modelCategory(modelBo.getCategoryCode()); - } - query.orderByLastUpdateTime().desc(); - // 创建时间降序排列 - query.orderByCreateTime().desc(); - // 分页查询 - List modelList = query.listPage(pageQuery.getFirstNum(), pageQuery.getPageSize()); - // 总记录数 - long total = query.count(); - TableDataInfo build = TableDataInfo.build(); - build.setRows(modelList); - build.setTotal(total); - return build; - } - - /** - * 新增模型 - * - * @param modelBo 模型请求对象 - * @return 结果 - */ - @Override - @Transactional(rollbackFor = Exception.class) - public boolean saveNewModel(ModelBo modelBo) { - try { - int version = 0; - String key = modelBo.getKey(); - String name = modelBo.getName(); - String description = modelBo.getDescription(); - String categoryCode = modelBo.getCategoryCode(); - String xml = modelBo.getXml(); - Model checkModel = QueryUtils.modelQuery().modelKey(key).singleResult(); - if (ObjectUtil.isNotNull(checkModel)) { - throw new ServiceException("模型key已存在!"); - } - //初始空的模型 - Model model = repositoryService.newModel(); - model.setKey(key); - model.setName(name); - model.setVersion(version); - model.setCategory(categoryCode); - model.setMetaInfo(description); - model.setTenantId(TenantHelper.getTenantId()); - //保存初始化的模型基本信息数据 - repositoryService.saveModel(model); - repositoryService.addModelEditorSource(model.getId(), StrUtil.utf8Bytes(xml)); - return true; - } catch (Exception e) { - log.error(e.getMessage(), e); - throw new ServiceException(e.getMessage()); - } - } - - /** - * 查询模型 - * - * @param id 模型id - * @return 模型数据 - */ - @Override - public ModelVo getInfo(String id) { - ModelVo modelVo = new ModelVo(); - Model model = repositoryService.getModel(id); - if (model != null) { - try { - byte[] modelEditorSource = repositoryService.getModelEditorSource(model.getId()); - modelVo.setXml(StrUtil.utf8Str(modelEditorSource)); - modelVo.setId(model.getId()); - modelVo.setKey(model.getKey()); - modelVo.setName(model.getName()); - modelVo.setCategoryCode(model.getCategory()); - modelVo.setDescription(model.getMetaInfo()); - return modelVo; - } catch (Exception e) { - log.error(e.getMessage(), e); - throw new ServiceException(e.getMessage()); - } - } - return modelVo; - } - - /** - * 修改模型信息 - * - * @param modelBo 模型数据 - * @return 结果 - */ - @Override - public boolean update(ModelBo modelBo) { - try { - Model model = repositoryService.getModel(modelBo.getId()); - List list = QueryUtils.modelQuery().modelKey(modelBo.getKey()).list(); - list.stream().filter(e -> !e.getId().equals(model.getId())).findFirst().ifPresent(e -> { - throw new ServiceException("模型KEY已存在!"); - }); - model.setCategory(modelBo.getCategoryCode()); - model.setMetaInfo(modelBo.getDescription()); - repositoryService.saveModel(model); - } catch (Exception e) { - log.error(e.getMessage(), e); - throw new ServiceException(e.getMessage()); - } - return true; - } - - /** - * 编辑模型XML - * - * @param modelBo 模型数据 - * @return 结果 - */ - @Override - @Transactional(rollbackFor = Exception.class) - public boolean editModelXml(ModelBo modelBo) { - try { - String xml = modelBo.getXml(); - String svg = modelBo.getSvg(); - String modelId = modelBo.getId(); - String key = modelBo.getKey(); - String name = modelBo.getName(); - BpmnModel bpmnModel = ModelUtils.xmlToBpmnModel(xml); - ModelUtils.checkBpmnModel(bpmnModel); - Model model = repositoryService.getModel(modelId); - List list = QueryUtils.modelQuery().modelKey(key).list(); - list.stream().filter(e -> !e.getId().equals(model.getId())).findFirst().ifPresent(e -> { - throw new ServiceException("模型KEY已存在!"); - }); - // 校验key命名规范 - if (!Validator.isMatchRegex(FlowConstant.MODEL_KEY_PATTERN, key)) { - throw new ServiceException("模型标识KEY只能字符或者下划线开头!"); - } - model.setKey(key); - model.setName(name); - model.setVersion(model.getVersion() + 1); - repositoryService.saveModel(model); - repositoryService.addModelEditorSource(model.getId(), StrUtil.utf8Bytes(xml)); - // 转换图片 - InputStream svgStream = new ByteArrayInputStream(StrUtil.utf8Bytes(svg)); - TranscoderInput input = new TranscoderInput(svgStream); - - PNGTranscoder transcoder = new PNGTranscoder(); - ByteArrayOutputStream outStream = new ByteArrayOutputStream(); - TranscoderOutput output = new TranscoderOutput(outStream); - - transcoder.transcode(input, output); - final byte[] result = outStream.toByteArray(); - repositoryService.addModelEditorSourceExtra(model.getId(), result); - return true; - } catch (Exception e) { - log.error(e.getMessage(), e); - throw new ServiceException(e.getMessage()); - } - } - - /** - * 模型部署 - * - * @param id 模型id - * @return 结果 - */ - @Override - @Transactional(rollbackFor = Exception.class) - public boolean modelDeploy(String id) { - try { - // 查询流程定义模型xml - byte[] xmlBytes = repositoryService.getModelEditorSource(id); - if (ArrayUtil.isEmpty(xmlBytes)) { - throw new ServiceException("模型数据为空,请先设计流程定义模型,再进行部署!"); - } - if (JSONUtil.isTypeJSON(new String(xmlBytes, StandardCharsets.UTF_8))) { - byte[] bytes = ModelUtils.bpmnJsonToXmlBytes(xmlBytes); - if (ArrayUtil.isEmpty(bytes)) { - throw new ServiceException("模型不能为空,请至少设计一条主线流程!"); - } - } - BpmnModel bpmnModel = ModelUtils.xmlToBpmnModel(xmlBytes); - // 校验模型 - ModelUtils.checkBpmnModel(bpmnModel); - List validationErrors = repositoryService.validateProcess(bpmnModel); - if (CollUtil.isNotEmpty(validationErrors)) { - String errorMsg = validationErrors.stream().map(ValidationError::getProblem).distinct().collect(Collectors.joining(",")); - throw new ServiceException(errorMsg); - } - // 查询模型的基本信息 - Model model = repositoryService.getModel(id); - ProcessDefinition processDefinition = QueryUtils.definitionQuery().processDefinitionKey(model.getKey()).latestVersion().singleResult(); - // xml资源的名称 ,对应act_ge_bytearray表中的name_字段 - String processName = model.getName() + ".bpmn20.xml"; - // 调用部署相关的api方法进行部署流程定义 - Deployment deployment = repositoryService.createDeployment() - // 部署名称 - .name(model.getName()) - // 部署标识key - .key(model.getKey()) - // 部署流程分类 - .category(model.getCategory()) - // bpmn20.xml资源 - .addBytes(processName, xmlBytes) - // 租户id - .tenantId(TenantHelper.getTenantId()) - .deploy(); - - // 更新 部署id 到流程定义模型数据表中 - model.setDeploymentId(deployment.getId()); - repositoryService.saveModel(model); - // 更新分类 - ProcessDefinition definition = QueryUtils.definitionQuery().deploymentId(deployment.getId()).singleResult(); - repositoryService.setProcessDefinitionCategory(definition.getId(), model.getCategory()); - //更新流程定义配置 - if (processDefinition != null) { - WfDefinitionConfigVo definitionVo = wfDefinitionConfigService.getByDefId(processDefinition.getId()); - if (definitionVo != null) { - wfDefinitionConfigService.deleteByDefIds(Collections.singletonList(processDefinition.getId())); - WfDefinitionConfigBo wfFormDefinition = new WfDefinitionConfigBo(); - wfFormDefinition.setDefinitionId(definition.getId()); - wfFormDefinition.setProcessKey(definition.getKey()); - wfFormDefinition.setTableName(definitionVo.getTableName()); - wfFormDefinition.setVersion(definition.getVersion()); - wfFormDefinition.setRemark(definitionVo.getRemark()); - wfDefinitionConfigService.saveOrUpdate(wfFormDefinition); - } - } - //更新流程节点配置表单 - List userTasks = ModelUtils.getUserTaskFlowElements(definition.getId()); - UserTask applyUserTask = ModelUtils.getApplyUserTask(definition.getId()); - List wfNodeConfigList = new ArrayList<>(); - for (UserTask userTask : userTasks) { - if (StringUtils.isNotBlank(userTask.getFormKey()) && userTask.getFormKey().contains(StrUtil.COLON)) { - WfNodeConfig wfNodeConfig = new WfNodeConfig(); - wfNodeConfig.setNodeId(userTask.getId()); - wfNodeConfig.setNodeName(userTask.getName()); - wfNodeConfig.setDefinitionId(definition.getId()); - String[] split = userTask.getFormKey().split(StrUtil.COLON); - wfNodeConfig.setFormType(split[0]); - wfNodeConfig.setFormId(Long.valueOf(split[1])); - wfNodeConfig.setApplyUserTask(applyUserTask.getId().equals(userTask.getId()) ? FlowConstant.TRUE : FlowConstant.FALSE); - wfNodeConfigList.add(wfNodeConfig); - } - } - if (CollUtil.isNotEmpty(wfNodeConfigList)) { - wfNodeConfigService.saveOrUpdate(wfNodeConfigList); - } - return true; - } catch (Exception e) { - log.error(e.getMessage(), e); - throw new ServiceException(e.getMessage()); - } - } - - /** - * 导出模型zip压缩包 - * - * @param modelIds 模型id - * @param response 相应 - */ - @Override - public void exportZip(List modelIds, HttpServletResponse response) { - try (ZipOutputStream zos = ZipUtil.getZipOutputStream(response.getOutputStream(), StandardCharsets.UTF_8)) { - // 压缩包文件名 - String zipName = "模型不存在"; - // 查询模型基本信息 - for (String modelId : modelIds) { - Model model = repositoryService.getModel(modelId); - byte[] xmlBytes = repositoryService.getModelEditorSource(modelId); - if (ObjectUtil.isNotNull(model)) { - if (JSONUtil.isTypeJSON(new String(xmlBytes, StandardCharsets.UTF_8)) && ArrayUtil.isEmpty(ModelUtils.bpmnJsonToXmlBytes(xmlBytes))) { - zipName = "模型不能为空,请至少设计一条主线流程!"; - zos.putNextEntry(new ZipEntry(zipName + ".txt")); - zos.write(zipName.getBytes(StandardCharsets.UTF_8)); - } else if (ArrayUtil.isEmpty(xmlBytes)) { - zipName = "模型数据为空,请先设计流程定义模型,再进行部署!"; - zos.putNextEntry(new ZipEntry(zipName + ".txt")); - zos.write(zipName.getBytes(StandardCharsets.UTF_8)); - } else { - String fileName = model.getName() + "-" + model.getKey(); - // 压缩包文件名 - zipName = fileName + ".zip"; - // 将xml添加到压缩包中(指定xml文件名:请假流程.bpmn20.xml - zos.putNextEntry(new ZipEntry(fileName + ".bpmn20.xml")); - zos.write(xmlBytes); - } - } - } - response.setHeader("Content-Disposition", - "attachment; filename=" + URLEncoder.encode(zipName, StandardCharsets.UTF_8) + ".zip"); - response.addHeader("Access-Control-Expose-Headers", "Content-Disposition"); - // 刷出响应流 - response.flushBuffer(); - } catch (IOException e) { - log.error(e.getMessage(), e); - } - } - - /** - * 复制模型 - * - * @param modelBo 模型数据 - * @return 结果 - */ - @Override - @Transactional(rollbackFor = Exception.class) - public boolean copyModel(ModelBo modelBo) { - try { - String key = modelBo.getKey(); - if (StringUtils.isNotBlank(key)) { - // 查询模型 - Model model = repositoryService.createModelQuery().modelId(modelBo.getId()).singleResult(); - if (ObjectUtil.isNotNull(model)) { - byte[] modelEditorSource = repositoryService.getModelEditorSource(model.getId()); - List list = QueryUtils.modelQuery().modelKey(key).list(); - if (CollUtil.isNotEmpty(list)) { - throw new ServiceException("模型KEY已存在!"); - } - // 校验key命名规范 - if (!Validator.isMatchRegex(FlowConstant.MODEL_KEY_PATTERN, key)) { - throw new ServiceException("模型标识KEY只能字符或者下划线开头!"); - } - // 复制模型数据 - Model newModel = repositoryService.newModel(); - newModel.setKey(modelBo.getKey()); - newModel.setName(modelBo.getName()); - newModel.setCategory(modelBo.getCategoryCode()); - newModel.setVersion(1); - newModel.setMetaInfo(modelBo.getDescription()); - newModel.setTenantId(TenantHelper.getTenantId()); - String xml = StrUtil.utf8Str(modelEditorSource); - BpmnModel bpmnModel = ModelUtils.xmlToBpmnModel(xml); - Process mainProcess = bpmnModel.getMainProcess(); - mainProcess.setId(modelBo.getKey()); - mainProcess.setName(modelBo.getName()); - byte[] xmlBytes = new BpmnXMLConverter().convertToXML(bpmnModel); - repositoryService.saveModel(newModel); - repositoryService.addModelEditorSource(newModel.getId(), xmlBytes); - } - } - } catch (Exception e) { - log.error(e.getMessage(), e); - throw new ServiceException(e.getMessage()); - } - return true; - } -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActProcessDefinitionServiceImpl.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActProcessDefinitionServiceImpl.java deleted file mode 100644 index 77fb257..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActProcessDefinitionServiceImpl.java +++ /dev/null @@ -1,444 +0,0 @@ -package org.dromara.workflow.service.impl; - -import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.codec.Base64; -import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.io.FileUtil; -import cn.hutool.core.io.IoUtil; -import cn.hutool.core.util.ObjectUtil; -import cn.hutool.core.util.StrUtil; -import lombok.RequiredArgsConstructor; -import lombok.SneakyThrows; -import lombok.extern.slf4j.Slf4j; -import org.dromara.common.core.exception.ServiceException; -import org.dromara.common.core.utils.StreamUtils; -import org.dromara.common.core.utils.StringUtils; -import org.dromara.common.mybatis.core.page.PageQuery; -import org.dromara.common.mybatis.core.page.TableDataInfo; -import org.dromara.common.tenant.helper.TenantHelper; -import org.dromara.workflow.common.constant.FlowConstant; -import org.dromara.workflow.domain.WfCategory; -import org.dromara.workflow.domain.WfDefinitionConfig; -import org.dromara.workflow.domain.WfNodeConfig; -import org.dromara.workflow.domain.bo.ProcessDefinitionBo; -import org.dromara.workflow.domain.bo.WfDefinitionConfigBo; -import org.dromara.workflow.domain.vo.ProcessDefinitionVo; -import org.dromara.workflow.domain.vo.WfDefinitionConfigVo; -import org.dromara.workflow.mapper.WfDefinitionConfigMapper; -import org.dromara.workflow.service.IActProcessDefinitionService; -import org.dromara.workflow.service.IWfCategoryService; -import org.dromara.workflow.service.IWfDefinitionConfigService; -import org.dromara.workflow.service.IWfNodeConfigService; -import org.dromara.workflow.utils.ModelUtils; -import org.dromara.workflow.utils.QueryUtils; -import org.flowable.bpmn.model.UserTask; -import org.flowable.engine.ProcessMigrationService; -import org.flowable.engine.RepositoryService; -import org.flowable.engine.history.HistoricProcessInstance; -import org.flowable.engine.impl.bpmn.deployer.ResourceNameUtil; -import org.flowable.engine.repository.*; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.web.multipart.MultipartFile; - -import java.io.IOException; -import java.io.InputStream; -import java.nio.charset.StandardCharsets; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.Set; -import java.util.zip.ZipEntry; -import java.util.zip.ZipInputStream; - -/** - * 流程定义 服务层实现 - * - * @author may - */ -@Slf4j -@RequiredArgsConstructor -@Service -public class ActProcessDefinitionServiceImpl implements IActProcessDefinitionService { - - @Autowired(required = false) - private RepositoryService repositoryService; - @Autowired(required = false) - private ProcessMigrationService processMigrationService; - private final IWfCategoryService wfCategoryService; - private final IWfDefinitionConfigService wfDefinitionConfigService; - private final WfDefinitionConfigMapper wfDefinitionConfigMapper; - private final IWfNodeConfigService wfNodeConfigService; - - /** - * 分页查询 - * - * @param bo 参数 - * @return 返回分页列表 - */ - @Override - public TableDataInfo page(ProcessDefinitionBo bo, PageQuery pageQuery) { - ProcessDefinitionQuery query = QueryUtils.definitionQuery(); - if (StringUtils.isNotEmpty(bo.getKey())) { - query.processDefinitionKey(bo.getKey()); - } - if (StringUtils.isNotEmpty(bo.getCategoryCode())) { - query.processDefinitionCategory(bo.getCategoryCode()); - } - if (StringUtils.isNotEmpty(bo.getName())) { - query.processDefinitionNameLike("%" + bo.getName() + "%"); - } - query.orderByDeploymentId().desc(); - // 分页查询 - List processDefinitionVoList = new ArrayList<>(); - List definitionList = query.latestVersion().listPage(pageQuery.getFirstNum(), pageQuery.getPageSize()); - List deploymentList = null; - if (CollUtil.isNotEmpty(definitionList)) { - List deploymentIds = StreamUtils.toList(definitionList, ProcessDefinition::getDeploymentId); - deploymentList = QueryUtils.deploymentQuery(deploymentIds).list(); - } - if (CollUtil.isNotEmpty(definitionList)) { - List ids = StreamUtils.toList(definitionList, ProcessDefinition::getId); - List wfDefinitionConfigVos = wfDefinitionConfigService.queryList(ids); - for (ProcessDefinition processDefinition : definitionList) { - ProcessDefinitionVo processDefinitionVo = BeanUtil.toBean(processDefinition, ProcessDefinitionVo.class); - if (CollUtil.isNotEmpty(deploymentList)) { - // 部署时间 - deploymentList.stream().filter(e -> e.getId().equals(processDefinition.getDeploymentId())).findFirst().ifPresent(e -> { - processDefinitionVo.setDeploymentTime(e.getDeploymentTime()); - }); - } - if (CollUtil.isNotEmpty(wfDefinitionConfigVos)) { - wfDefinitionConfigVos.stream().filter(e -> e.getDefinitionId().equals(processDefinition.getId())).findFirst().ifPresent(processDefinitionVo::setWfDefinitionConfigVo); - } - processDefinitionVoList.add(processDefinitionVo); - } - } - // 总记录数 - long total = query.count(); - TableDataInfo build = TableDataInfo.build(); - build.setRows(processDefinitionVoList); - build.setTotal(total); - return build; - } - - /** - * 查询历史流程定义列表 - * - * @param key 流程定义key - */ - @Override - public List getListByKey(String key) { - List processDefinitionVoList = new ArrayList<>(); - ProcessDefinitionQuery query = QueryUtils.definitionQuery(); - List definitionList = query.processDefinitionKey(key).list(); - List deploymentList = null; - if (CollUtil.isNotEmpty(definitionList)) { - List deploymentIds = StreamUtils.toList(definitionList, ProcessDefinition::getDeploymentId); - deploymentList = QueryUtils.deploymentQuery(deploymentIds).list(); - } - if (CollUtil.isNotEmpty(definitionList)) { - List ids = StreamUtils.toList(definitionList, ProcessDefinition::getId); - List wfDefinitionConfigVos = wfDefinitionConfigService.queryList(ids); - for (ProcessDefinition processDefinition : definitionList) { - ProcessDefinitionVo processDefinitionVo = BeanUtil.toBean(processDefinition, ProcessDefinitionVo.class); - if (CollUtil.isNotEmpty(deploymentList)) { - // 部署时间 - deploymentList.stream().filter(e -> e.getId().equals(processDefinition.getDeploymentId())).findFirst().ifPresent(e -> { - processDefinitionVo.setDeploymentTime(e.getDeploymentTime()); - }); - if (CollUtil.isNotEmpty(wfDefinitionConfigVos)) { - wfDefinitionConfigVos.stream().filter(e -> e.getDefinitionId().equals(processDefinition.getId())).findFirst().ifPresent(processDefinitionVo::setWfDefinitionConfigVo); - } - } - processDefinitionVoList.add(processDefinitionVo); - } - } - return CollUtil.reverse(processDefinitionVoList); - } - - /** - * 查看流程定义图片 - * - * @param processDefinitionId 流程定义id - */ - @SneakyThrows - @Override - public String definitionImage(String processDefinitionId) { - InputStream inputStream = repositoryService.getProcessDiagram(processDefinitionId); - return Base64.encode(IoUtil.readBytes(inputStream)); - } - - /** - * 查看流程定义xml文件 - * - * @param processDefinitionId 流程定义id - */ - @Override - public String definitionXml(String processDefinitionId) { - StringBuilder xml = new StringBuilder(); - ProcessDefinition processDefinition = repositoryService.getProcessDefinition(processDefinitionId); - InputStream inputStream = repositoryService.getResourceAsStream(processDefinition.getDeploymentId(), processDefinition.getResourceName()); - xml.append(IoUtil.read(inputStream, StandardCharsets.UTF_8)); - return xml.toString(); - } - - /** - * 删除流程定义 - * - * @param deploymentIds 部署id - * @param processDefinitionIds 流程定义id - */ - @Override - @Transactional(rollbackFor = Exception.class) - public boolean deleteDeployment(List deploymentIds, List processDefinitionIds) { - try { - List historicProcessInstances = QueryUtils.hisInstanceQuery().deploymentIdIn(deploymentIds).list(); - if (CollUtil.isNotEmpty(historicProcessInstances)) { - Set defIds = StreamUtils.toSet(historicProcessInstances, HistoricProcessInstance::getProcessDefinitionId); - List processDefinitions = QueryUtils.definitionQuery().processDefinitionIds(defIds).list(); - if (CollUtil.isNotEmpty(processDefinitions)) { - Set keys = StreamUtils.toSet(processDefinitions, ProcessDefinition::getKey); - throw new ServiceException("当前【" + String.join(",", keys) + "】流程定义已被使用不可删除!"); - } - } - //删除流程定义 - for (String deploymentId : deploymentIds) { - repositoryService.deleteDeployment(deploymentId); - } - //删除流程定义配置 - wfDefinitionConfigService.deleteByDefIds(processDefinitionIds); - //删除节点配置 - wfNodeConfigService.deleteByDefIds(processDefinitionIds); - return true; - } catch (Exception e) { - log.error(e.getMessage(), e); - throw new ServiceException(e.getMessage()); - } - } - - /** - * 激活或者挂起流程定义 - * - * @param processDefinitionId 流程定义id - */ - @Override - public boolean updateDefinitionState(String processDefinitionId) { - try { - ProcessDefinition processDefinition = QueryUtils.definitionQuery() - .processDefinitionId(processDefinitionId).singleResult(); - //将当前为挂起状态更新为激活状态 - //参数说明:参数1:流程定义id,参数2:是否激活(true是否级联对应流程实例,激活了则对应流程实例都可以审批), - //参数3:什么时候激活,如果为null则立即激活,如果为具体时间则到达此时间后激活 - if (processDefinition.isSuspended()) { - repositoryService.activateProcessDefinitionById(processDefinitionId, true, null); - } else { - repositoryService.suspendProcessDefinitionById(processDefinitionId, true, null); - } - return true; - } catch (Exception e) { - log.error(e.getMessage(), e); - throw new ServiceException("操作失败:" + e.getMessage()); - } - } - - /** - * 迁移流程定义 - * - * @param currentProcessDefinitionId 当前流程定义id - * @param fromProcessDefinitionId 需要迁移到的流程定义id - */ - - @Override - public boolean migrationDefinition(String currentProcessDefinitionId, String fromProcessDefinitionId) { - try { - // 迁移验证 - boolean migrationValid = processMigrationService.createProcessInstanceMigrationBuilder() - .migrateToProcessDefinition(currentProcessDefinitionId) - .validateMigrationOfProcessInstances(fromProcessDefinitionId) - .isMigrationValid(); - if (!migrationValid) { - throw new ServiceException("流程定义差异过大无法迁移,请修改流程图"); - } - // 已结束的流程实例不会迁移 - processMigrationService.createProcessInstanceMigrationBuilder() - .migrateToProcessDefinition(currentProcessDefinitionId) - .migrateProcessInstances(fromProcessDefinitionId); - return true; - } catch (Exception e) { - log.error(e.getMessage(), e); - throw new ServiceException(e.getMessage()); - } - } - - /** - * 流程定义转换为模型 - * - * @param processDefinitionId 流程定义id - */ - @Override - public boolean convertToModel(String processDefinitionId) { - ProcessDefinition pd = QueryUtils.definitionQuery() - .processDefinitionId(processDefinitionId).singleResult(); - InputStream inputStream = repositoryService.getResourceAsStream(pd.getDeploymentId(), pd.getResourceName()); - ModelQuery query = QueryUtils.modelQuery(); - Model model = query.modelKey(pd.getKey()).singleResult(); - try { - if (ObjectUtil.isNotNull(model)) { - repositoryService.addModelEditorSource(model.getId(), IoUtil.readBytes(inputStream)); - } else { - Model modelData = repositoryService.newModel(); - modelData.setKey(pd.getKey()); - modelData.setName(pd.getName()); - modelData.setCategory(pd.getCategory()); - modelData.setTenantId(pd.getTenantId()); - repositoryService.saveModel(modelData); - repositoryService.addModelEditorSource(modelData.getId(), IoUtil.readBytes(inputStream)); - } - return true; - } catch (Exception e) { - log.error(e.getMessage(), e); - throw new ServiceException(e.getMessage()); - } - } - - /** - * 通过zip或xml部署流程定义 - * - * @param file 文件 - * @param categoryCode 分类 - */ - @SneakyThrows - @Override - @Transactional(rollbackFor = Exception.class) - public void deployByFile(MultipartFile file, String categoryCode) { - - WfCategory wfCategory = wfCategoryService.queryByCategoryCode(categoryCode); - if (wfCategory == null) { - throw new ServiceException("流程分类不存在"); - } - // 文件后缀名 - String suffix = FileUtil.extName(file.getOriginalFilename()); - InputStream inputStream = file.getInputStream(); - if (FlowConstant.ZIP.equalsIgnoreCase(suffix)) { - ZipInputStream zipInputStream = null; - try { - zipInputStream = new ZipInputStream(inputStream); - ZipEntry zipEntry; - while ((zipEntry = zipInputStream.getNextEntry()) != null) { - String filename = zipEntry.getName(); - String[] splitFilename = filename.substring(0, filename.lastIndexOf(".")).split("-"); - //流程名称 - String processName = splitFilename[0]; - //流程key - String processKey = splitFilename[1]; - ProcessDefinition oldProcessDefinition = QueryUtils.definitionQuery().processDefinitionKey(processKey).latestVersion().singleResult(); - DeploymentBuilder builder = repositoryService.createDeployment(); - Deployment deployment = builder.addInputStream(filename, zipInputStream) - .tenantId(TenantHelper.getTenantId()) - .name(processName).key(processKey).category(categoryCode).deploy(); - ProcessDefinition definition = QueryUtils.definitionQuery().deploymentId(deployment.getId()).singleResult(); - repositoryService.setProcessDefinitionCategory(definition.getId(), categoryCode); - setWfConfig(oldProcessDefinition, definition); - zipInputStream.closeEntry(); - } - } catch (IOException e) { - throw new RuntimeException(e); - } finally { - if (zipInputStream != null) { - zipInputStream.close(); - } - } - //初始化配置数据(demo使用,不用可删除) - initWfDefConfig(); - } else { - String originalFilename = file.getOriginalFilename(); - if (StringUtils.containsAny(originalFilename, ResourceNameUtil.BPMN_RESOURCE_SUFFIXES)) { - // 文件名 = 流程名称-流程key - String[] splitFilename = originalFilename.substring(0, originalFilename.lastIndexOf(".")).split("-"); - if (splitFilename.length < 2) { - throw new ServiceException("文件名 = 流程名称-流程KEY"); - } - //流程名称 - String processName = splitFilename[0]; - //流程key - String processKey = splitFilename[1]; - ProcessDefinition oldProcessDefinition = QueryUtils.definitionQuery().processDefinitionKey(processKey).latestVersion().singleResult(); - DeploymentBuilder builder = repositoryService.createDeployment(); - Deployment deployment = builder.addInputStream(originalFilename, inputStream) - .tenantId(TenantHelper.getTenantId()) - .name(processName).key(processKey).category(categoryCode).deploy(); - // 更新分类 - ProcessDefinition definition = QueryUtils.definitionQuery().deploymentId(deployment.getId()).singleResult(); - repositoryService.setProcessDefinitionCategory(definition.getId(), categoryCode); - setWfConfig(oldProcessDefinition, definition); - } else { - throw new ServiceException("文件类型上传错误!"); - } - } - - } - - /** - * 初始化配置数据(demo使用,不用可删除) - */ - private void initWfDefConfig() { - List wfDefinitionConfigs = wfDefinitionConfigMapper.selectList(); - if (CollUtil.isEmpty(wfDefinitionConfigs)) { - ProcessDefinition processDefinition = QueryUtils.definitionQuery().processDefinitionKey("leave1").latestVersion().singleResult(); - if (processDefinition != null) { - WfDefinitionConfigBo wfDefinitionConfigBo = new WfDefinitionConfigBo(); - wfDefinitionConfigBo.setDefinitionId(processDefinition.getId()); - wfDefinitionConfigBo.setProcessKey(processDefinition.getKey()); - wfDefinitionConfigBo.setTableName("test_leave"); - wfDefinitionConfigBo.setVersion(processDefinition.getVersion()); - wfDefinitionConfigService.saveOrUpdate(wfDefinitionConfigBo); - } - } - - } - - /** - * 设置表单内容 - * - * @param oldProcessDefinition 部署前最新流程定义 - * @param definition 部署后最新流程定义 - */ - private void setWfConfig(ProcessDefinition oldProcessDefinition, ProcessDefinition definition) { - //更新流程定义表单 - if (oldProcessDefinition != null) { - WfDefinitionConfigVo definitionVo = wfDefinitionConfigService.getByDefId(oldProcessDefinition.getId()); - if (definitionVo != null) { - wfDefinitionConfigService.deleteByDefIds(Collections.singletonList(oldProcessDefinition.getId())); - WfDefinitionConfigBo wfDefinitionConfigBo = new WfDefinitionConfigBo(); - wfDefinitionConfigBo.setDefinitionId(definition.getId()); - wfDefinitionConfigBo.setProcessKey(definition.getKey()); - wfDefinitionConfigBo.setTableName(definitionVo.getTableName()); - wfDefinitionConfigBo.setVersion(definition.getVersion()); - wfDefinitionConfigBo.setRemark(definitionVo.getRemark()); - wfDefinitionConfigService.saveOrUpdate(wfDefinitionConfigBo); - } - } - //更新流程节点配置表单 - List userTasks = ModelUtils.getUserTaskFlowElements(definition.getId()); - UserTask applyUserTask = ModelUtils.getApplyUserTask(definition.getId()); - List wfNodeConfigList = new ArrayList<>(); - for (UserTask userTask : userTasks) { - if (StringUtils.isNotBlank(userTask.getFormKey()) && userTask.getFormKey().contains(StrUtil.COLON)) { - WfNodeConfig wfNodeConfig = new WfNodeConfig(); - wfNodeConfig.setNodeId(userTask.getId()); - wfNodeConfig.setNodeName(userTask.getName()); - wfNodeConfig.setDefinitionId(definition.getId()); - String[] split = userTask.getFormKey().split(StrUtil.COLON); - wfNodeConfig.setFormType(split[0]); - wfNodeConfig.setFormId(Long.valueOf(split[1])); - wfNodeConfig.setApplyUserTask(applyUserTask.getId().equals(userTask.getId()) ? FlowConstant.TRUE : FlowConstant.FALSE); - wfNodeConfigList.add(wfNodeConfig); - } - } - if (CollUtil.isNotEmpty(wfNodeConfigList)) { - wfNodeConfigService.saveOrUpdate(wfNodeConfigList); - } - } -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActProcessInstanceServiceImpl.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActProcessInstanceServiceImpl.java deleted file mode 100644 index 8b9b113..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActProcessInstanceServiceImpl.java +++ /dev/null @@ -1,691 +0,0 @@ -package org.dromara.workflow.service.impl; - -import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.codec.Base64; -import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.convert.Convert; -import cn.hutool.core.io.IoUtil; -import cn.hutool.core.util.ObjectUtil; -import lombok.RequiredArgsConstructor; -import lombok.SneakyThrows; -import lombok.extern.slf4j.Slf4j; -import org.dromara.common.core.enums.BusinessStatusEnum; -import org.dromara.common.core.exception.ServiceException; -import org.dromara.common.core.service.UserService; -import org.dromara.common.core.utils.StreamUtils; -import org.dromara.common.core.utils.StringUtils; -import org.dromara.common.mybatis.core.page.PageQuery; -import org.dromara.common.mybatis.core.page.TableDataInfo; -import org.dromara.common.satoken.utils.LoginHelper; -import org.dromara.workflow.common.constant.FlowConstant; -import org.dromara.workflow.common.enums.TaskStatusEnum; -import org.dromara.workflow.domain.ActHiProcinst; -import org.dromara.workflow.domain.bo.ProcessInstanceBo; -import org.dromara.workflow.domain.bo.ProcessInvalidBo; -import org.dromara.workflow.domain.bo.TaskUrgingBo; -import org.dromara.workflow.domain.vo.*; -import org.dromara.workflow.flowable.CustomDefaultProcessDiagramGenerator; -import org.dromara.workflow.flowable.cmd.DeleteExecutionCmd; -import org.dromara.workflow.flowable.cmd.ExecutionChildByExecutionIdCmd; -import org.dromara.workflow.flowable.handler.FlowProcessEventHandler; -import org.dromara.workflow.service.IActHiProcinstService; -import org.dromara.workflow.service.IActProcessInstanceService; -import org.dromara.workflow.service.IWfNodeConfigService; -import org.dromara.workflow.service.IWfTaskBackNodeService; -import org.dromara.workflow.utils.QueryUtils; -import org.dromara.workflow.utils.WorkflowUtils; -import org.flowable.bpmn.model.BpmnModel; -import org.flowable.engine.*; -import org.flowable.engine.history.HistoricActivityInstance; -import org.flowable.engine.history.HistoricProcessInstance; -import org.flowable.engine.history.HistoricProcessInstanceQuery; -import org.flowable.engine.impl.persistence.entity.ExecutionEntity; -import org.flowable.engine.repository.ProcessDefinition; -import org.flowable.engine.runtime.ProcessInstance; -import org.flowable.engine.runtime.ProcessInstanceQuery; -import org.flowable.engine.task.Attachment; -import org.flowable.engine.task.Comment; -import org.flowable.task.api.Task; -import org.flowable.task.api.history.HistoricTaskInstance; -import org.springframework.beans.BeanUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.awt.*; -import java.io.InputStream; -import java.nio.charset.StandardCharsets; -import java.util.List; -import java.util.*; - -/** - * 流程实例 服务层实现 - * - * @author may - */ -@Slf4j -@RequiredArgsConstructor -@Service -public class ActProcessInstanceServiceImpl implements IActProcessInstanceService { - - @Autowired(required = false) - private RepositoryService repositoryService; - @Autowired(required = false) - private RuntimeService runtimeService; - @Autowired(required = false) - private HistoryService historyService; - @Autowired(required = false) - private TaskService taskService; - @Autowired(required = false) - private ManagementService managementService; - private final IActHiProcinstService actHiProcinstService; - private final IWfTaskBackNodeService wfTaskBackNodeService; - private final IWfNodeConfigService wfNodeConfigService; - private final FlowProcessEventHandler flowProcessEventHandler; - private final UserService userService; - - @Value("${flowable.activity-font-name}") - private String activityFontName; - - @Value("${flowable.label-font-name}") - private String labelFontName; - - @Value("${flowable.annotation-font-name}") - private String annotationFontName; - - /** - * 分页查询正在运行的流程实例 - * - * @param bo 参数 - */ - @Override - public TableDataInfo getPageByRunning(ProcessInstanceBo bo, PageQuery pageQuery) { - List list = new ArrayList<>(); - ProcessInstanceQuery query = QueryUtils.instanceQuery(); - if (StringUtils.isNotBlank(bo.getName())) { - query.processInstanceNameLikeIgnoreCase("%" + bo.getName() + "%"); - } - if (StringUtils.isNotBlank(bo.getKey())) { - query.processDefinitionKey(bo.getKey()); - } - if (StringUtils.isNotBlank(bo.getStartUserId())) { - query.startedBy(bo.getStartUserId()); - } - if (StringUtils.isNotBlank(bo.getBusinessKey())) { - query.processInstanceBusinessKey(bo.getBusinessKey()); - } - if (StringUtils.isNotBlank(bo.getCategoryCode())) { - query.processDefinitionCategory(bo.getCategoryCode()); - } - query.orderByStartTime().desc(); - List processInstances = query.listPage(pageQuery.getFirstNum(), pageQuery.getPageSize()); - for (ProcessInstance processInstance : processInstances) { - ProcessInstanceVo processInstanceVo = BeanUtil.toBean(processInstance, ProcessInstanceVo.class); - processInstanceVo.setIsSuspended(processInstance.isSuspended()); - processInstanceVo.setBusinessStatusName(BusinessStatusEnum.findByStatus(processInstance.getBusinessStatus())); - list.add(processInstanceVo); - } - if (CollUtil.isNotEmpty(list)) { - List processDefinitionIds = StreamUtils.toList(list, ProcessInstanceVo::getProcessDefinitionId); - List wfNodeConfigVoList = wfNodeConfigService.selectByDefIds(processDefinitionIds); - for (ProcessInstanceVo processInstanceVo : list) { - if (CollUtil.isNotEmpty(wfNodeConfigVoList)) { - wfNodeConfigVoList.stream().filter(e -> e.getDefinitionId().equals(processInstanceVo.getProcessDefinitionId()) && FlowConstant.TRUE.equals(e.getApplyUserTask())).findFirst().ifPresent(processInstanceVo::setWfNodeConfigVo); - } - } - } - long count = query.count(); - TableDataInfo build = TableDataInfo.build(); - build.setRows(list); - build.setTotal(count); - return build; - } - - /** - * 分页查询已结束的流程实例 - * - * @param bo 参数 - */ - @Override - public TableDataInfo getPageByFinish(ProcessInstanceBo bo, PageQuery pageQuery) { - List list = new ArrayList<>(); - HistoricProcessInstanceQuery query = QueryUtils.hisInstanceQuery() - .finished().orderByProcessInstanceEndTime().desc(); - if (StringUtils.isNotEmpty(bo.getName())) { - query.processInstanceNameLikeIgnoreCase("%" + bo.getName() + "%"); - } - if (StringUtils.isNotBlank(bo.getKey())) { - query.processDefinitionKey(bo.getKey()); - } - if (StringUtils.isNotEmpty(bo.getStartUserId())) { - query.startedBy(bo.getStartUserId()); - } - if (StringUtils.isNotBlank(bo.getBusinessKey())) { - query.processInstanceBusinessKey(bo.getBusinessKey()); - } - if (StringUtils.isNotBlank(bo.getCategoryCode())) { - query.processDefinitionCategory(bo.getCategoryCode()); - } - List historicProcessInstances = query.listPage(pageQuery.getFirstNum(), pageQuery.getPageSize()); - for (HistoricProcessInstance historicProcessInstance : historicProcessInstances) { - ProcessInstanceVo processInstanceVo = BeanUtil.toBean(historicProcessInstance, ProcessInstanceVo.class); - processInstanceVo.setBusinessStatusName(BusinessStatusEnum.findByStatus(historicProcessInstance.getBusinessStatus())); - list.add(processInstanceVo); - } - if (CollUtil.isNotEmpty(list)) { - List processDefinitionIds = StreamUtils.toList(list, ProcessInstanceVo::getProcessDefinitionId); - List wfNodeConfigVoList = wfNodeConfigService.selectByDefIds(processDefinitionIds); - for (ProcessInstanceVo processInstanceVo : list) { - if (CollUtil.isNotEmpty(wfNodeConfigVoList)) { - wfNodeConfigVoList.stream().filter(e -> e.getDefinitionId().equals(processInstanceVo.getProcessDefinitionId()) && FlowConstant.TRUE.equals(e.getApplyUserTask())).findFirst().ifPresent(processInstanceVo::setWfNodeConfigVo); - } - } - } - long count = query.count(); - TableDataInfo build = TableDataInfo.build(); - build.setRows(list); - build.setTotal(count); - return build; - } - - /** - * 通过业务id获取历史流程图 - * - * @param businessKey 业务id - */ - @SneakyThrows - @Override - public String getHistoryImage(String businessKey) { - String processDefinitionId; - // 获取当前的流程实例 - ProcessInstance processInstance = QueryUtils.businessKeyQuery(businessKey).singleResult(); - // 如果流程已经结束,则得到结束节点 - if (Objects.isNull(processInstance)) { - HistoricProcessInstance pi = QueryUtils.hisInstanceQuery().processInstanceBusinessKey(businessKey).singleResult(); - processDefinitionId = pi.getProcessDefinitionId(); - } else { - // 根据流程实例ID获得当前处于活动状态的ActivityId合集 - ProcessInstance pi = QueryUtils.instanceQuery(processInstance.getProcessInstanceId()).singleResult(); - processDefinitionId = pi.getProcessDefinitionId(); - } - - // 获得活动的节点 - List highLightedFlowList = QueryUtils.hisActivityInstanceQuery(processInstance.getProcessInstanceId()).orderByHistoricActivityInstanceStartTime().asc().list(); - - List highLightedFlows = new ArrayList<>(); - List highLightedNodes = new ArrayList<>(); - //高亮 - for (HistoricActivityInstance tempActivity : highLightedFlowList) { - if (FlowConstant.SEQUENCE_FLOW.equals(tempActivity.getActivityType())) { - //高亮线 - highLightedFlows.add(tempActivity.getActivityId()); - } else { - //高亮节点 - if (tempActivity.getEndTime() == null) { - highLightedNodes.add(Color.RED.toString() + tempActivity.getActivityId()); - } else { - highLightedNodes.add(tempActivity.getActivityId()); - } - } - } - List highLightedNodeList = new ArrayList<>(); - //运行中的节点 - List redNodeCollect = StreamUtils.filter(highLightedNodes, e -> e.contains(Color.RED.toString())); - //排除与运行中相同的节点 - for (String nodeId : highLightedNodes) { - if (!nodeId.contains(Color.RED.toString()) && !redNodeCollect.contains(Color.RED + nodeId)) { - highLightedNodeList.add(nodeId); - } - } - highLightedNodeList.addAll(redNodeCollect); - BpmnModel bpmnModel = repositoryService.getBpmnModel(processDefinitionId); - CustomDefaultProcessDiagramGenerator diagramGenerator = new CustomDefaultProcessDiagramGenerator(); - InputStream inputStream = diagramGenerator.generateDiagram(bpmnModel, "png", highLightedNodeList, highLightedFlows, activityFontName, labelFontName, annotationFontName, null, 1.0, true); - return Base64.encode(IoUtil.readBytes(inputStream)); - } - - /** - * 通过业务id获取历史流程图运行中,历史等节点 - * - * @param businessKey 业务id - */ - @Override - public Map getHistoryList(String businessKey) { - Map map = new HashMap<>(); - List> taskList = new ArrayList<>(); - HistoricProcessInstance historicProcessInstance = QueryUtils.hisBusinessKeyQuery(businessKey).singleResult(); - String processInstanceId = historicProcessInstance.getId(); - StringBuilder xml = new StringBuilder(); - ProcessDefinition processDefinition = repositoryService.getProcessDefinition(historicProcessInstance.getProcessDefinitionId()); - // 获取节点 - List highLightedFlowList = QueryUtils.hisActivityInstanceQuery(processInstanceId).orderByHistoricActivityInstanceStartTime().asc().list(); - for (HistoricActivityInstance tempActivity : highLightedFlowList) { - Map task = new HashMap<>(); - switch (tempActivity.getActivityType()) { - case FlowConstant.SEQUENCE_FLOW, FlowConstant.PARALLEL_GATEWAY, - FlowConstant.EXCLUSIVE_GATEWAY, FlowConstant.INCLUSIVE_GATEWAY -> {} - default -> { - task.put("key", tempActivity.getActivityId()); - task.put("completed", tempActivity.getEndTime() != null); - task.put("activityType", tempActivity.getActivityType()); - taskList.add(task); - } - } - } - ProcessInstance processInstance = QueryUtils.instanceQuery(processInstanceId).singleResult(); - if (processInstance != null) { - taskList = StreamUtils.filter(taskList, e -> !e.get("activityType").equals(FlowConstant.END_EVENT)); - } - //查询出运行中节点 - List> runtimeNodeList = StreamUtils.filter(taskList, e -> !(Boolean) e.get("completed")); - if (CollUtil.isNotEmpty(runtimeNodeList)) { - Iterator> iterator = taskList.iterator(); - while (iterator.hasNext()) { - Map next = iterator.next(); - runtimeNodeList.stream().filter(t -> t.get("key").equals(next.get("key")) && (Boolean) next.get("completed")).findFirst().ifPresent(t -> iterator.remove()); - } - } - map.put("taskList", taskList); - List historyTaskList = getHistoryTaskList(processInstanceId, processDefinition.getVersion()); - map.put("historyList", historyTaskList); - InputStream inputStream = repositoryService.getResourceAsStream(processDefinition.getDeploymentId(), processDefinition.getResourceName()); - xml.append(IoUtil.read(inputStream, StandardCharsets.UTF_8)); - map.put("xml", xml.toString()); - return map; - } - - /** - * 获取历史任务节点信息 - * - * @param processInstanceId 流程实例id - * @param version 版本 - */ - private List getHistoryTaskList(String processInstanceId, Integer version) { - //查询任务办理记录 - List list = QueryUtils.hisTaskInstanceQuery(processInstanceId).orderByHistoricTaskInstanceEndTime().desc().list(); - list = StreamUtils.sorted(list, Comparator.comparing(HistoricTaskInstance::getEndTime, Comparator.nullsFirst(Date::compareTo)).reversed()); - List actHistoryInfoVoList = new ArrayList<>(); - for (HistoricTaskInstance historicTaskInstance : list) { - ActHistoryInfoVo actHistoryInfoVo = new ActHistoryInfoVo(); - BeanUtils.copyProperties(historicTaskInstance, actHistoryInfoVo); - actHistoryInfoVo.setStatus(actHistoryInfoVo.getEndTime() == null ? "待处理" : "已处理"); - if (ObjectUtil.isNotEmpty(historicTaskInstance.getDurationInMillis())) { - actHistoryInfoVo.setRunDuration(getDuration(historicTaskInstance.getDurationInMillis())); - } - actHistoryInfoVo.setVersion(version); - actHistoryInfoVoList.add(actHistoryInfoVo); - } - List historyInfoVoList = new ArrayList<>(); - Map> groupByKey = StreamUtils.groupByKey(actHistoryInfoVoList, ActHistoryInfoVo::getTaskDefinitionKey); - for (Map.Entry> entry : groupByKey.entrySet()) { - ActHistoryInfoVo historyInfoVo = new ActHistoryInfoVo(); - if (entry.getValue().size() > 1) { - List historyInfoVos = StreamUtils.filter(entry.getValue(), e -> StringUtils.isNotBlank(e.getAssignee())); - if (CollUtil.isNotEmpty(historyInfoVos)) { - ActHistoryInfoVo infoVo = historyInfoVos.get(0); - BeanUtils.copyProperties(infoVo, historyInfoVo); - historyInfoVo.setStatus(infoVo.getEndTime() == null ? "待处理" : "已处理"); - historyInfoVo.setStartTime(infoVo.getStartTime()); - historyInfoVo.setEndTime(infoVo.getEndTime() == null ? null : infoVo.getEndTime()); - historyInfoVo.setRunDuration(infoVo.getEndTime() == null ? null : infoVo.getRunDuration()); - if (ObjectUtil.isEmpty(infoVo.getAssignee())) { - ParticipantVo participantVo = WorkflowUtils.getCurrentTaskParticipant(infoVo.getId(), userService); - if (ObjectUtil.isNotEmpty(participantVo) && CollUtil.isNotEmpty(participantVo.getCandidate())) { - historyInfoVo.setAssignee(StreamUtils.join(participantVo.getCandidate(), Convert::toStr)); - } - } - } - } else { - actHistoryInfoVoList.stream().filter(e -> e.getTaskDefinitionKey().equals(entry.getKey())).findFirst() - .ifPresent(e -> { - BeanUtils.copyProperties(e, historyInfoVo); - historyInfoVo.setStatus(e.getEndTime() == null ? "待处理" : "已处理"); - historyInfoVo.setStartTime(e.getStartTime()); - historyInfoVo.setEndTime(e.getEndTime() == null ? null : e.getEndTime()); - historyInfoVo.setRunDuration(e.getEndTime() == null ? null : e.getRunDuration()); - if (ObjectUtil.isEmpty(e.getAssignee())) { - ParticipantVo participantVo = WorkflowUtils.getCurrentTaskParticipant(e.getId(), userService); - if (ObjectUtil.isNotEmpty(participantVo) && CollUtil.isNotEmpty(participantVo.getCandidate())) { - historyInfoVo.setAssignee(StreamUtils.join(participantVo.getCandidate(), Convert::toStr)); - } - } - }); - - } - historyInfoVoList.add(historyInfoVo); - - } - return historyInfoVoList; - } - - /** - * 获取审批记录 - * - * @param businessKey 业务id - */ - @Override - public List getHistoryRecord(String businessKey) { - // 查询任务办理记录 - List list = QueryUtils.hisTaskBusinessKeyQuery(businessKey).orderByHistoricTaskInstanceEndTime().desc().list(); - list = StreamUtils.sorted(list, Comparator.comparing(HistoricTaskInstance::getEndTime, Comparator.nullsFirst(Date::compareTo)).reversed()); - HistoricProcessInstance historicProcessInstance = QueryUtils.hisBusinessKeyQuery(businessKey).singleResult(); - String processInstanceId = historicProcessInstance.getId(); - List actHistoryInfoVoList = new ArrayList<>(); - List processInstanceComments = taskService.getProcessInstanceComments(processInstanceId); - //附件 - List attachmentList = taskService.getProcessInstanceAttachments(processInstanceId); - for (HistoricTaskInstance historicTaskInstance : list) { - ActHistoryInfoVo actHistoryInfoVo = new ActHistoryInfoVo(); - BeanUtils.copyProperties(historicTaskInstance, actHistoryInfoVo); - if (actHistoryInfoVo.getEndTime() == null) { - actHistoryInfoVo.setStatus(TaskStatusEnum.WAITING.getStatus()); - actHistoryInfoVo.setStatusName(TaskStatusEnum.WAITING.getDesc()); - } - if (CollUtil.isNotEmpty(processInstanceComments)) { - processInstanceComments.stream().filter(e -> e.getTaskId().equals(historicTaskInstance.getId())).findFirst().ifPresent(e -> { - actHistoryInfoVo.setComment(e.getFullMessage()); - actHistoryInfoVo.setStatus(e.getType()); - actHistoryInfoVo.setStatusName(TaskStatusEnum.findByStatus(e.getType())); - }); - } - if (ObjectUtil.isNotEmpty(historicTaskInstance.getDurationInMillis())) { - actHistoryInfoVo.setRunDuration(getDuration(historicTaskInstance.getDurationInMillis())); - } - //附件 - if (CollUtil.isNotEmpty(attachmentList)) { - List attachments = StreamUtils.filter(attachmentList, e -> e.getTaskId().equals(historicTaskInstance.getId())); - if (CollUtil.isNotEmpty(attachments)) { - actHistoryInfoVo.setAttachmentList(attachments); - } - } - //设置人员id - if (ObjectUtil.isEmpty(historicTaskInstance.getAssignee())) { - ParticipantVo participantVo = WorkflowUtils.getCurrentTaskParticipant(historicTaskInstance.getId(), userService); - if (ObjectUtil.isNotEmpty(participantVo) && CollUtil.isNotEmpty(participantVo.getCandidate())) { - actHistoryInfoVo.setAssignee(StreamUtils.join(participantVo.getCandidate(), Convert::toStr)); - } - } - actHistoryInfoVoList.add(actHistoryInfoVo); - } - // 审批记录 - Map> groupByKey = StreamUtils.groupByKey(actHistoryInfoVoList, ActHistoryInfoVo::getTaskDefinitionKey); - for (Map.Entry> entry : groupByKey.entrySet()) { - ActHistoryInfoVo actHistoryInfoVo = BeanUtil.toBean(entry.getValue().get(0), ActHistoryInfoVo.class); - actHistoryInfoVoList.stream().filter(e -> e.getTaskDefinitionKey().equals(entry.getKey()) && e.getEndTime() != null).findFirst() - .ifPresent(e -> { - actHistoryInfoVo.setStatus("已处理"); - actHistoryInfoVo.setStartTime(e.getStartTime()); - }); - actHistoryInfoVoList.stream().filter(e -> e.getTaskDefinitionKey().equals(entry.getKey()) && e.getEndTime() == null).findFirst() - .ifPresent(e -> { - actHistoryInfoVo.setStatus("待处理"); - actHistoryInfoVo.setStartTime(e.getStartTime()); - actHistoryInfoVo.setEndTime(null); - actHistoryInfoVo.setRunDuration(null); - }); - } - List recordList = new ArrayList<>(); - // 待办理 - recordList.addAll(StreamUtils.filter(actHistoryInfoVoList, e -> e.getEndTime() == null)); - // 已办理 - recordList.addAll(StreamUtils.filter(actHistoryInfoVoList, e -> e.getEndTime() != null)); - - return recordList; - } - - /** - * 任务完成时间处理 - * - * @param time 时间 - */ - private String getDuration(long time) { - - long day = time / (24 * 60 * 60 * 1000); - long hour = (time / (60 * 60 * 1000) - day * 24); - long minute = ((time / (60 * 1000)) - day * 24 * 60 - hour * 60); - long second = (time / 1000 - day * 24 * 60 * 60 - hour * 60 * 60 - minute * 60); - - if (day > 0) { - return day + "天" + hour + "小时" + minute + "分钟"; - } - if (hour > 0) { - return hour + "小时" + minute + "分钟"; - } - if (minute > 0) { - return minute + "分钟"; - } - if (second > 0) { - return second + "秒"; - } else { - return 0 + "秒"; - } - } - - /** - * 作废流程实例,不会删除历史记录(删除运行中的实例) - * - * @param processInvalidBo 参数 - */ - @Override - @Transactional(rollbackFor = Exception.class) - public boolean deleteRunInstance(ProcessInvalidBo processInvalidBo) { - try { - List list = QueryUtils.taskQuery().processInstanceBusinessKey(processInvalidBo.getBusinessKey()).list(); - String processInstanceId = list.get(0).getProcessInstanceId(); - List subTasks = StreamUtils.filter(list, e -> StringUtils.isNotBlank(e.getParentTaskId())); - if (CollUtil.isNotEmpty(subTasks)) { - subTasks.forEach(e -> taskService.deleteTask(e.getId())); - } - String deleteReason = LoginHelper.getLoginUser().getNickname() + "作废了当前申请!"; - if (StringUtils.isNotBlank(processInvalidBo.getDeleteReason())) { - deleteReason = LoginHelper.getLoginUser().getNickname() + "作废理由:" + processInvalidBo.getDeleteReason(); - } - for (Task task : StreamUtils.filter(list, e -> StringUtils.isBlank(e.getParentTaskId()))) { - taskService.addComment(task.getId(), task.getProcessInstanceId(), TaskStatusEnum.INVALID.getStatus(), deleteReason); - } - HistoricProcessInstance historicProcessInstance = QueryUtils.hisInstanceQuery(processInstanceId).singleResult(); - BusinessStatusEnum.checkInvalidStatus(historicProcessInstance.getBusinessStatus()); - runtimeService.updateBusinessStatus(processInstanceId, BusinessStatusEnum.INVALID.getStatus()); - runtimeService.deleteProcessInstance(processInstanceId, deleteReason); - //流程作废监听 - flowProcessEventHandler.processHandler(historicProcessInstance.getProcessDefinitionKey(), - historicProcessInstance.getBusinessKey(), BusinessStatusEnum.INVALID.getStatus(), false); - return true; - } catch (Exception e) { - log.error(e.getMessage(), e); - throw new ServiceException(e.getMessage()); - } - } - - /** - * 运行中的实例 删除程实例,删除历史记录,删除业务与流程关联信息 - * - * @param businessKeys 业务id - */ - @Override - @Transactional(rollbackFor = Exception.class) - public boolean deleteRunAndHisInstance(List businessKeys) { - try { - // 1.删除运行中流程实例 - List actHiProcinsts = actHiProcinstService.selectByBusinessKeyIn(businessKeys); - if (CollUtil.isEmpty(actHiProcinsts)) { - log.warn("当前业务ID:{}查询到流程实例为空!", businessKeys); - return false; - } - List processInstanceIds = StreamUtils.toList(actHiProcinsts, ActHiProcinst::getId); - List list = QueryUtils.taskQuery(processInstanceIds).list(); - List subTasks = StreamUtils.filter(list, e -> StringUtils.isNotBlank(e.getParentTaskId())); - if (CollUtil.isNotEmpty(subTasks)) { - subTasks.forEach(e -> taskService.deleteTask(e.getId())); - } - runtimeService.bulkDeleteProcessInstances(processInstanceIds, LoginHelper.getUserId() + "删除了当前流程申请"); - // 2.删除历史记录 - List historicProcessInstanceList = QueryUtils.hisInstanceQuery(new HashSet<>(processInstanceIds)).list(); - if (ObjectUtil.isNotEmpty(historicProcessInstanceList)) { - historyService.bulkDeleteHistoricProcessInstances(processInstanceIds); - } - wfTaskBackNodeService.deleteByInstanceIds(processInstanceIds); - return true; - } catch (Exception e) { - log.error(e.getMessage(), e); - throw new ServiceException(e.getMessage()); - } - } - - /** - * 已完成的实例 删除程实例,删除历史记录,删除业务与流程关联信息 - * - * @param businessKeys 业务id - */ - @Override - @Transactional(rollbackFor = Exception.class) - public boolean deleteFinishAndHisInstance(List businessKeys) { - try { - List actHiProcinsts = actHiProcinstService.selectByBusinessKeyIn(businessKeys); - if (CollUtil.isEmpty(actHiProcinsts)) { - log.warn("当前业务ID:{}查询到流程实例为空!", businessKeys); - return false; - } - List processInstanceIds = StreamUtils.toList(actHiProcinsts, ActHiProcinst::getId); - historyService.bulkDeleteHistoricProcessInstances(processInstanceIds); - wfTaskBackNodeService.deleteByInstanceIds(processInstanceIds); - return true; - } catch (Exception e) { - log.error(e.getMessage(), e); - throw new ServiceException(e.getMessage()); - } - } - - /** - * 撤销流程申请 - * - * @param businessKey 业务id - */ - @Override - @Transactional(rollbackFor = Exception.class) - public boolean cancelProcessApply(String businessKey) { - try { - ProcessInstance processInstance = QueryUtils.businessKeyQuery(businessKey) - .startedBy(String.valueOf(LoginHelper.getUserId())).singleResult(); - if (ObjectUtil.isNull(processInstance)) { - throw new ServiceException("您不是流程发起人,撤销失败!"); - } - if (processInstance.isSuspended()) { - throw new ServiceException(FlowConstant.MESSAGE_SUSPENDED); - } - String processInstanceId = processInstance.getId(); - BusinessStatusEnum.checkCancelStatus(processInstance.getBusinessStatus()); - List taskList = QueryUtils.taskQuery(processInstanceId).list(); - for (Task task : taskList) { - taskService.setAssignee(task.getId(), null); - taskService.addComment(task.getId(), processInstanceId, TaskStatusEnum.CANCEL.getStatus(), LoginHelper.getLoginUser().getNickname() + ":撤销申请"); - } - HistoricTaskInstance historicTaskInstance = QueryUtils.hisTaskInstanceQuery(processInstanceId).finished().orderByHistoricTaskInstanceEndTime().asc().list().get(0); - List nodeIds = StreamUtils.toList(taskList, Task::getTaskDefinitionKey); - runtimeService.createChangeActivityStateBuilder() - .processInstanceId(processInstanceId) - .moveActivityIdsToSingleActivityId(nodeIds, historicTaskInstance.getTaskDefinitionKey()).changeState(); - Task task = QueryUtils.taskQuery(processInstanceId).list().get(0); - taskService.setAssignee(task.getId(), historicTaskInstance.getAssignee()); - //获取并行网关执行后保留的执行实例数据 - ExecutionChildByExecutionIdCmd childByExecutionIdCmd = new ExecutionChildByExecutionIdCmd(task.getExecutionId()); - List executionEntities = managementService.executeCommand(childByExecutionIdCmd); - //删除流程实例垃圾数据 - for (ExecutionEntity executionEntity : executionEntities) { - DeleteExecutionCmd deleteExecutionCmd = new DeleteExecutionCmd(executionEntity.getId()); - managementService.executeCommand(deleteExecutionCmd); - } - runtimeService.updateBusinessStatus(processInstanceId, BusinessStatusEnum.CANCEL.getStatus()); - //流程作废监听 - flowProcessEventHandler.processHandler(processInstance.getProcessDefinitionKey(), - processInstance.getBusinessKey(), BusinessStatusEnum.CANCEL.getStatus(), false); - return true; - } catch (Exception e) { - log.error("撤销失败:" + e.getMessage(), e); - throw new ServiceException("撤销失败:" + e.getMessage()); - } - } - - /** - * 分页查询当前登录人单据 - * - * @param bo 参数 - */ - @Override - public TableDataInfo getPageByCurrent(ProcessInstanceBo bo, PageQuery pageQuery) { - List list = new ArrayList<>(); - HistoricProcessInstanceQuery query = QueryUtils.hisInstanceQuery(); - query.startedBy(String.valueOf(LoginHelper.getUserId())); - if (StringUtils.isNotBlank(bo.getName())) { - query.processInstanceNameLikeIgnoreCase("%" + bo.getName() + "%"); - } - if (StringUtils.isNotBlank(bo.getKey())) { - query.processDefinitionKey(bo.getKey()); - } - if (StringUtils.isNotBlank(bo.getBusinessKey())) { - query.processInstanceBusinessKey(bo.getBusinessKey()); - } - if (StringUtils.isNotBlank(bo.getCategoryCode())) { - query.processDefinitionCategory(bo.getCategoryCode()); - } - query.orderByProcessInstanceStartTime().desc(); - List historicProcessInstanceList = query.listPage(pageQuery.getFirstNum(), pageQuery.getPageSize()); - List taskVoList = new ArrayList<>(); - if (CollUtil.isNotEmpty(historicProcessInstanceList)) { - List processInstanceIds = StreamUtils.toList(historicProcessInstanceList, HistoricProcessInstance::getId); - List taskList = QueryUtils.taskQuery(processInstanceIds).list(); - for (Task task : taskList) { - taskVoList.add(BeanUtil.toBean(task, TaskVo.class)); - } - } - for (HistoricProcessInstance processInstance : historicProcessInstanceList) { - ProcessInstanceVo processInstanceVo = BeanUtil.toBean(processInstance, ProcessInstanceVo.class); - processInstanceVo.setBusinessStatusName(BusinessStatusEnum.findByStatus(processInstance.getBusinessStatus())); - if (CollUtil.isNotEmpty(taskVoList)) { - List collect = StreamUtils.filter(taskVoList, e -> e.getProcessInstanceId().equals(processInstance.getId())); - processInstanceVo.setTaskVoList(CollUtil.isNotEmpty(collect) ? collect : Collections.emptyList()); - } - list.add(processInstanceVo); - } - if (CollUtil.isNotEmpty(list)) { - List processDefinitionIds = StreamUtils.toList(list, ProcessInstanceVo::getProcessDefinitionId); - List wfNodeConfigVoList = wfNodeConfigService.selectByDefIds(processDefinitionIds); - for (ProcessInstanceVo processInstanceVo : list) { - if (CollUtil.isNotEmpty(wfNodeConfigVoList)) { - wfNodeConfigVoList.stream().filter(e -> e.getDefinitionId().equals(processInstanceVo.getProcessDefinitionId()) && FlowConstant.TRUE.equals(e.getApplyUserTask())).findFirst().ifPresent(processInstanceVo::setWfNodeConfigVo); - } - } - } - long count = query.count(); - TableDataInfo build = TableDataInfo.build(); - build.setRows(list); - build.setTotal(count); - return build; - } - - /** - * 任务催办(给当前任务办理人发送站内信,邮件,短信等) - * - * @param taskUrgingBo 任务催办 - */ - @Override - @Transactional(rollbackFor = Exception.class) - public boolean taskUrging(TaskUrgingBo taskUrgingBo) { - try { - ProcessInstance processInstance = QueryUtils.instanceQuery(taskUrgingBo.getProcessInstanceId()).singleResult(); - if (processInstance == null) { - throw new ServiceException("任务已结束!"); - } - String message = taskUrgingBo.getMessage(); - if (StringUtils.isBlank(message)) { - message = "您的【" + processInstance.getName() + "】单据还未审批,请您及时处理。"; - } - List list = QueryUtils.taskQuery(taskUrgingBo.getProcessInstanceId()).list(); - WorkflowUtils.sendMessage(list, processInstance.getName(), taskUrgingBo.getMessageType(), message, userService); - } catch (ServiceException e) { - throw new ServiceException(e.getMessage()); - } - return true; - } -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActTaskServiceImpl.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActTaskServiceImpl.java deleted file mode 100644 index d9a674a..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActTaskServiceImpl.java +++ /dev/null @@ -1,861 +0,0 @@ -package org.dromara.workflow.service.impl; - -import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.util.ObjectUtil; -import cn.hutool.core.util.StrUtil; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.dromara.common.core.domain.dto.RoleDTO; -import org.dromara.common.core.domain.dto.UserDTO; -import org.dromara.common.core.exception.ServiceException; -import org.dromara.common.core.service.OssService; -import org.dromara.common.core.service.UserService; -import org.dromara.common.core.utils.StreamUtils; -import org.dromara.common.core.utils.StringUtils; -import org.dromara.common.mybatis.core.page.PageQuery; -import org.dromara.common.mybatis.core.page.TableDataInfo; -import org.dromara.common.satoken.utils.LoginHelper; -import org.dromara.common.tenant.helper.TenantHelper; -import org.dromara.workflow.common.constant.FlowConstant; -import org.dromara.common.core.enums.BusinessStatusEnum; -import org.dromara.workflow.common.enums.TaskStatusEnum; -import org.dromara.workflow.domain.ActHiTaskinst; -import org.dromara.workflow.domain.WfTaskBackNode; -import org.dromara.workflow.domain.bo.*; -import org.dromara.workflow.domain.vo.*; -import org.dromara.workflow.flowable.cmd.*; -import org.dromara.workflow.flowable.handler.FlowProcessEventHandler; -import org.dromara.workflow.mapper.ActHiTaskinstMapper; -import org.dromara.workflow.mapper.ActTaskMapper; -import org.dromara.workflow.service.IActTaskService; -import org.dromara.workflow.service.IWfDefinitionConfigService; -import org.dromara.workflow.service.IWfNodeConfigService; -import org.dromara.workflow.service.IWfTaskBackNodeService; -import org.dromara.workflow.utils.ModelUtils; -import org.dromara.workflow.utils.QueryUtils; -import org.dromara.workflow.utils.WorkflowUtils; -import org.flowable.common.engine.api.FlowableObjectNotFoundException; -import org.flowable.common.engine.impl.identity.Authentication; -import org.flowable.engine.*; -import org.flowable.engine.history.HistoricProcessInstance; -import org.flowable.engine.history.HistoricProcessInstanceQuery; -import org.flowable.engine.impl.bpmn.behavior.ParallelMultiInstanceBehavior; -import org.flowable.engine.impl.bpmn.behavior.SequentialMultiInstanceBehavior; -import org.flowable.engine.impl.persistence.entity.ExecutionEntity; -import org.flowable.engine.runtime.ProcessInstance; -import org.flowable.identitylink.api.history.HistoricIdentityLink; -import org.flowable.task.api.Task; -import org.flowable.task.api.TaskQuery; -import org.flowable.task.api.history.HistoricTaskInstance; -import org.flowable.task.service.impl.persistence.entity.TaskEntity; -import org.flowable.variable.api.persistence.entity.VariableInstance; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.scheduling.annotation.Async; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.*; -import java.util.stream.Collectors; - -import static org.dromara.workflow.common.constant.FlowConstant.*; - -/** - * 任务 服务层实现 - * - * @author may - */ -@Slf4j -@RequiredArgsConstructor -@Service -public class ActTaskServiceImpl implements IActTaskService { - - @Autowired(required = false) - private RuntimeService runtimeService; - @Autowired(required = false) - private TaskService taskService; - @Autowired(required = false) - private HistoryService historyService; - @Autowired(required = false) - private IdentityService identityService; - @Autowired(required = false) - private ManagementService managementService; - private final ActTaskMapper actTaskMapper; - private final IWfTaskBackNodeService wfTaskBackNodeService; - private final ActHiTaskinstMapper actHiTaskinstMapper; - private final IWfNodeConfigService wfNodeConfigService; - private final IWfDefinitionConfigService wfDefinitionConfigService; - private final FlowProcessEventHandler flowProcessEventHandler; - private final UserService userService; - private final OssService ossService; - - /** - * 启动任务 - * - * @param startProcessBo 启动流程参数 - */ - @Override - @Transactional(rollbackFor = Exception.class) - public Map startWorkFlow(StartProcessBo startProcessBo) { - Map map = new HashMap<>(); - if (StringUtils.isBlank(startProcessBo.getBusinessKey())) { - throw new ServiceException("启动工作流时必须包含业务ID"); - } - // 判断当前业务是否启动过流程 - HistoricProcessInstanceQuery query = QueryUtils.hisInstanceQuery(); - HistoricProcessInstance historicProcessInstance = query.processInstanceBusinessKey(startProcessBo.getBusinessKey()).singleResult(); - if (ObjectUtil.isNotEmpty(historicProcessInstance)) { - BusinessStatusEnum.checkStartStatus(historicProcessInstance.getBusinessStatus()); - } - List taskResult = QueryUtils.taskQuery().processInstanceBusinessKey(startProcessBo.getBusinessKey()).list(); - if (CollUtil.isNotEmpty(taskResult)) { - if (CollUtil.isNotEmpty(startProcessBo.getVariables())) { - taskService.setVariables(taskResult.get(0).getId(), startProcessBo.getVariables()); - } - map.put(PROCESS_INSTANCE_ID, taskResult.get(0).getProcessInstanceId()); - map.put("taskId", taskResult.get(0).getId()); - return map; - } - WfDefinitionConfigVo wfDefinitionConfigVo = wfDefinitionConfigService.getByTableNameLastVersion(startProcessBo.getTableName()); - if (wfDefinitionConfigVo == null) { - throw new ServiceException("请到流程定义绑定业务表名与流程KEY!"); - } - // 设置启动人 - identityService.setAuthenticatedUserId(String.valueOf(LoginHelper.getUserId())); - Authentication.setAuthenticatedUserId(String.valueOf(LoginHelper.getUserId())); - // 启动流程实例(提交申请) - Map variables = startProcessBo.getVariables(); - // 启动跳过表达式 - variables.put(FLOWABLE_SKIP_EXPRESSION_ENABLED, true); - // 流程发起人 - variables.put(INITIATOR, (String.valueOf(LoginHelper.getUserId()))); - ProcessInstance pi; - try { - if (TenantHelper.isEnable()) { - pi = runtimeService.startProcessInstanceByKeyAndTenantId(wfDefinitionConfigVo.getProcessKey(), startProcessBo.getBusinessKey(), variables, TenantHelper.getTenantId()); - } else { - pi = runtimeService.startProcessInstanceByKey(wfDefinitionConfigVo.getProcessKey(), startProcessBo.getBusinessKey(), variables); - } - } catch (FlowableObjectNotFoundException e) { - throw new ServiceException("找不到当前【" + wfDefinitionConfigVo.getProcessKey() + "】流程定义!"); - } - // 将流程定义名称 作为 流程实例名称 - runtimeService.setProcessInstanceName(pi.getProcessInstanceId(), pi.getProcessDefinitionName()); - // 申请人执行流程 - List taskList = QueryUtils.taskQuery(pi.getId()).list(); - if (taskList.size() > 1) { - throw new ServiceException("请检查流程第一个环节是否为申请人!"); - } - - runtimeService.updateBusinessStatus(pi.getProcessInstanceId(), BusinessStatusEnum.DRAFT.getStatus()); - taskService.setAssignee(taskList.get(0).getId(), LoginHelper.getUserId().toString()); - taskService.setVariable(taskList.get(0).getId(), PROCESS_INSTANCE_ID, pi.getProcessInstanceId()); - taskService.setVariable(taskList.get(0).getId(), BUSINESS_KEY, pi.getBusinessKey()); - map.put("processInstanceId", pi.getProcessInstanceId()); - map.put("taskId", taskList.get(0).getId()); - return map; - } - - /** - * 办理任务 - * - * @param completeTaskBo 办理任务参数 - */ - @Override - @Transactional(rollbackFor = Exception.class) - public boolean completeTask(CompleteTaskBo completeTaskBo) { - try { - String userId = String.valueOf(LoginHelper.getUserId()); - Task task = WorkflowUtils.getTaskByCurrentUser(completeTaskBo.getTaskId()); - if (task == null) { - throw new ServiceException(FlowConstant.MESSAGE_CURRENT_TASK_IS_NULL); - } - if (task.isSuspended()) { - throw new ServiceException(FlowConstant.MESSAGE_SUSPENDED); - } - ProcessInstance processInstance = QueryUtils.instanceQuery(task.getProcessInstanceId()).singleResult(); - //办理委托任务 - if (ObjectUtil.isNotEmpty(task.getDelegationState()) && FlowConstant.PENDING.equals(task.getDelegationState().name())) { - taskService.resolveTask(completeTaskBo.getTaskId()); - TaskEntity newTask = WorkflowUtils.createNewTask(task); - taskService.addComment(newTask.getId(), task.getProcessInstanceId(), TaskStatusEnum.PASS.getStatus(), StringUtils.isNotBlank(completeTaskBo.getMessage()) ? completeTaskBo.getMessage() : StrUtil.EMPTY); - taskService.complete(newTask.getId()); - return true; - } - //附件上传 - AttachmentCmd attachmentCmd = new AttachmentCmd(completeTaskBo.getFileId(), task.getId(), task.getProcessInstanceId(), ossService); - managementService.executeCommand(attachmentCmd); - String businessStatus = WorkflowUtils.getBusinessStatus(processInstance.getBusinessKey()); - //流程提交监听 - if (BusinessStatusEnum.DRAFT.getStatus().equals(businessStatus) || BusinessStatusEnum.BACK.getStatus().equals(businessStatus) || BusinessStatusEnum.CANCEL.getStatus().equals(businessStatus)) { - flowProcessEventHandler.processHandler(processInstance.getProcessDefinitionKey(), processInstance.getBusinessKey(), businessStatus, true); - } - runtimeService.updateBusinessStatus(task.getProcessInstanceId(), BusinessStatusEnum.WAITING.getStatus()); - //办理监听 - flowProcessEventHandler.processTaskHandler(processInstance.getProcessDefinitionKey(), task.getTaskDefinitionKey(), - task.getId(), processInstance.getBusinessKey()); - //办理意见 - taskService.addComment(completeTaskBo.getTaskId(), task.getProcessInstanceId(), TaskStatusEnum.PASS.getStatus(), StringUtils.isBlank(completeTaskBo.getMessage()) ? "同意" : completeTaskBo.getMessage()); - //办理任务 - taskService.setAssignee(task.getId(), userId); - if (CollUtil.isNotEmpty(completeTaskBo.getVariables())) { - taskService.complete(completeTaskBo.getTaskId(), completeTaskBo.getVariables()); - } else { - taskService.complete(completeTaskBo.getTaskId()); - } - //记录执行过的流程任务节点 - wfTaskBackNodeService.recordExecuteNode(task); - ProcessInstance pi = QueryUtils.instanceQuery(task.getProcessInstanceId()).singleResult(); - if (pi == null) { - UpdateBusinessStatusCmd updateBusinessStatusCmd = new UpdateBusinessStatusCmd(task.getProcessInstanceId(), BusinessStatusEnum.FINISH.getStatus()); - managementService.executeCommand(updateBusinessStatusCmd); - flowProcessEventHandler.processHandler(processInstance.getProcessDefinitionKey(), processInstance.getBusinessKey(), - BusinessStatusEnum.FINISH.getStatus(), false); - } else { - List list = QueryUtils.taskQuery(task.getProcessInstanceId()).list(); - for (Task t : list) { - if (ModelUtils.isUserTask(t.getProcessDefinitionId(), t.getTaskDefinitionKey())) { - List links = historyService.getHistoricIdentityLinksForTask(t.getId()); - if (CollUtil.isEmpty(links) && StringUtils.isBlank(t.getAssignee())) { - throw new ServiceException("下一节点【" + t.getName() + "】没有办理人!"); - } - } - } - - if (CollUtil.isNotEmpty(list) && CollUtil.isNotEmpty(completeTaskBo.getWfCopyList())) { - TaskEntity newTask = WorkflowUtils.createNewTask(task); - taskService.addComment(newTask.getId(), task.getProcessInstanceId(), TaskStatusEnum.COPY.getStatus(), LoginHelper.getLoginUser().getNickname() + "【抄送】给" + String.join(",", StreamUtils.toList(completeTaskBo.getWfCopyList(), WfCopy::getUserName))); - taskService.complete(newTask.getId()); - List taskList = QueryUtils.taskQuery(task.getProcessInstanceId()).list(); - WorkflowUtils.createCopyTask(taskList, StreamUtils.toList(completeTaskBo.getWfCopyList(), WfCopy::getUserId)); - } - sendMessage(list, processInstance.getName(), completeTaskBo.getMessageType(), null); - } - return true; - } catch (Exception e) { - log.error(e.getMessage(), e); - throw new ServiceException(e.getMessage()); - } - } - - /** - * 发送消息 - * - * @param list 任务 - * @param name 流程名称 - * @param messageType 消息类型 - * @param message 消息内容,为空则发送默认配置的消息内容 - */ - @Async - public void sendMessage(List list, String name, List messageType, String message) { - WorkflowUtils.sendMessage(list, name, messageType, message, userService); - } - - /** - * 查询当前用户的待办任务 - * - * @param taskBo 参数 - */ - @Override - public TableDataInfo getPageByTaskWait(TaskBo taskBo, PageQuery pageQuery) { - QueryWrapper queryWrapper = new QueryWrapper<>(); - List roles = LoginHelper.getLoginUser().getRoles(); - List roleIds = StreamUtils.toList(roles, e -> String.valueOf(e.getRoleId())); - String userId = String.valueOf(LoginHelper.getUserId()); - queryWrapper.eq("t.business_status_", BusinessStatusEnum.WAITING.getStatus()); - queryWrapper.eq(TenantHelper.isEnable(), "t.tenant_id_", TenantHelper.getTenantId()); - String ids = StreamUtils.join(roleIds, x -> "'" + x + "'"); - queryWrapper.and(w1 -> w1.eq("t.assignee_", userId).or(w2 -> w2.isNull("t.assignee_").apply("exists ( select LINK.ID_ from ACT_RU_IDENTITYLINK LINK where LINK.TASK_ID_ = t.ID_ and LINK.TYPE_ = 'candidate' and (LINK.USER_ID_ = {0} or ( LINK.GROUP_ID_ IN (" + ids + ") ) ))", userId))); - if (StringUtils.isNotBlank(taskBo.getName())) { - queryWrapper.like("t.name_", taskBo.getName()); - } - if (StringUtils.isNotBlank(taskBo.getProcessDefinitionName())) { - queryWrapper.like("t.processDefinitionName", taskBo.getProcessDefinitionName()); - } - if (StringUtils.isNotBlank(taskBo.getProcessDefinitionKey())) { - queryWrapper.eq("t.processDefinitionKey", taskBo.getProcessDefinitionKey()); - } - queryWrapper.orderByDesc("t.CREATE_TIME_"); - Page page = actTaskMapper.getTaskWaitByPage(pageQuery.build(), queryWrapper); - - List taskList = page.getRecords(); - if (CollUtil.isNotEmpty(taskList)) { - List processDefinitionIds = StreamUtils.toList(taskList, TaskVo::getProcessDefinitionId); - List wfNodeConfigVoList = wfNodeConfigService.selectByDefIds(processDefinitionIds); - for (TaskVo task : taskList) { - task.setBusinessStatusName(BusinessStatusEnum.findByStatus(task.getBusinessStatus())); - task.setParticipantVo(WorkflowUtils.getCurrentTaskParticipant(task.getId(), userService)); - task.setMultiInstance(WorkflowUtils.isMultiInstance(task.getProcessDefinitionId(), task.getTaskDefinitionKey()) != null); - if (CollUtil.isNotEmpty(wfNodeConfigVoList)) { - wfNodeConfigVoList.stream().filter(e -> e.getDefinitionId().equals(task.getProcessDefinitionId()) && FlowConstant.TRUE.equals(e.getApplyUserTask())).findFirst().ifPresent(task::setWfNodeConfigVo); - wfNodeConfigVoList.stream().filter(e -> e.getDefinitionId().equals(task.getProcessDefinitionId()) && e.getNodeId().equals(task.getTaskDefinitionKey()) && FlowConstant.FALSE.equals(e.getApplyUserTask())).findFirst().ifPresent(task::setWfNodeConfigVo); - } - } - } - return TableDataInfo.build(page); - } - - /** - * 查询当前租户所有待办任务 - * - * @param taskBo 参数 - */ - @Override - public TableDataInfo getPageByAllTaskWait(TaskBo taskBo, PageQuery pageQuery) { - TaskQuery query = QueryUtils.taskQuery(); - if (StringUtils.isNotBlank(taskBo.getName())) { - query.taskNameLike("%" + taskBo.getName() + "%"); - } - if (StringUtils.isNotBlank(taskBo.getProcessDefinitionName())) { - query.processDefinitionNameLike("%" + taskBo.getProcessDefinitionName() + "%"); - } - if (StringUtils.isNotBlank(taskBo.getProcessDefinitionKey())) { - query.processDefinitionKey(taskBo.getProcessDefinitionKey()); - } - query.orderByTaskCreateTime().desc(); - List taskList = query.listPage(pageQuery.getFirstNum(), pageQuery.getPageSize()); - List processInstanceList = null; - if (CollUtil.isNotEmpty(taskList)) { - Set processInstanceIds = StreamUtils.toSet(taskList, Task::getProcessInstanceId); - processInstanceList = QueryUtils.instanceQuery(processInstanceIds).list(); - } - List list = new ArrayList<>(); - if (CollUtil.isNotEmpty(taskList)) { - List processDefinitionIds = StreamUtils.toList(taskList, Task::getProcessDefinitionId); - List wfNodeConfigVoList = wfNodeConfigService.selectByDefIds(processDefinitionIds); - for (Task task : taskList) { - TaskVo taskVo = BeanUtil.toBean(task, TaskVo.class); - if (CollUtil.isNotEmpty(processInstanceList)) { - processInstanceList.stream().filter(e -> e.getId().equals(task.getProcessInstanceId())).findFirst().ifPresent(e -> { - taskVo.setBusinessStatus(e.getBusinessStatus()); - taskVo.setBusinessStatusName(BusinessStatusEnum.findByStatus(taskVo.getBusinessStatus())); - taskVo.setProcessDefinitionKey(e.getProcessDefinitionKey()); - taskVo.setProcessDefinitionName(e.getProcessDefinitionName()); - taskVo.setProcessDefinitionVersion(e.getProcessDefinitionVersion()); - taskVo.setBusinessKey(e.getBusinessKey()); - }); - } - taskVo.setAssignee(StringUtils.isNotBlank(task.getAssignee()) ? Long.valueOf(task.getAssignee()) : null); - taskVo.setParticipantVo(WorkflowUtils.getCurrentTaskParticipant(task.getId(), userService)); - taskVo.setMultiInstance(WorkflowUtils.isMultiInstance(task.getProcessDefinitionId(), task.getTaskDefinitionKey()) != null); - if (CollUtil.isNotEmpty(wfNodeConfigVoList)) { - wfNodeConfigVoList.stream().filter(e -> e.getDefinitionId().equals(task.getProcessDefinitionId()) && FlowConstant.TRUE.equals(e.getApplyUserTask())).findFirst().ifPresent(taskVo::setWfNodeConfigVo); - wfNodeConfigVoList.stream().filter(e -> e.getDefinitionId().equals(task.getProcessDefinitionId()) && e.getNodeId().equals(task.getTaskDefinitionKey()) && FlowConstant.FALSE.equals(e.getApplyUserTask())).findFirst().ifPresent(taskVo::setWfNodeConfigVo); - } - list.add(taskVo); - } - } - long count = query.count(); - TableDataInfo build = TableDataInfo.build(); - build.setRows(list); - build.setTotal(count); - return build; - } - - /** - * 查询当前用户的已办任务 - * - * @param taskBo 参数 - */ - @Override - public TableDataInfo getPageByTaskFinish(TaskBo taskBo, PageQuery pageQuery) { - String userId = String.valueOf(LoginHelper.getUserId()); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.like(StringUtils.isNotBlank(taskBo.getName()), "t.name_", taskBo.getName()); - queryWrapper.like(StringUtils.isNotBlank(taskBo.getProcessDefinitionName()), "t.processDefinitionName", taskBo.getProcessDefinitionName()); - queryWrapper.eq(StringUtils.isNotBlank(taskBo.getProcessDefinitionKey()), "t.processDefinitionKey", taskBo.getProcessDefinitionKey()); - queryWrapper.eq("t.assignee_", userId); - queryWrapper.orderByDesc("t.START_TIME_"); - Page page = actTaskMapper.getTaskFinishByPage(pageQuery.build(), queryWrapper); - - List taskList = page.getRecords(); - if (CollUtil.isNotEmpty(taskList)) { - List processDefinitionIds = StreamUtils.toList(taskList, TaskVo::getProcessDefinitionId); - List wfNodeConfigVoList = wfNodeConfigService.selectByDefIds(processDefinitionIds); - for (TaskVo task : taskList) { - task.setBusinessStatusName(BusinessStatusEnum.findByStatus(task.getBusinessStatus())); - if (CollUtil.isNotEmpty(wfNodeConfigVoList)) { - wfNodeConfigVoList.stream().filter(e -> e.getDefinitionId().equals(task.getProcessDefinitionId()) && FlowConstant.TRUE.equals(e.getApplyUserTask())).findFirst().ifPresent(task::setWfNodeConfigVo); - wfNodeConfigVoList.stream().filter(e -> e.getDefinitionId().equals(task.getProcessDefinitionId()) && e.getNodeId().equals(task.getTaskDefinitionKey()) && FlowConstant.FALSE.equals(e.getApplyUserTask())).findFirst().ifPresent(task::setWfNodeConfigVo); - } - } - } - return TableDataInfo.build(page); - } - - /** - * 查询当前用户的抄送 - * - * @param taskBo 参数 - */ - @Override - public TableDataInfo getPageByTaskCopy(TaskBo taskBo, PageQuery pageQuery) { - QueryWrapper queryWrapper = new QueryWrapper<>(); - String userId = String.valueOf(LoginHelper.getUserId()); - if (StringUtils.isNotBlank(taskBo.getName())) { - queryWrapper.like("t.name_", taskBo.getName()); - } - if (StringUtils.isNotBlank(taskBo.getProcessDefinitionName())) { - queryWrapper.like("t.processDefinitionName", taskBo.getProcessDefinitionName()); - } - if (StringUtils.isNotBlank(taskBo.getProcessDefinitionKey())) { - queryWrapper.eq("t.processDefinitionKey", taskBo.getProcessDefinitionKey()); - } - queryWrapper.eq("t.assignee_", userId); - queryWrapper.orderByDesc("t.START_TIME_"); - Page page = actTaskMapper.getTaskCopyByPage(pageQuery.build(), queryWrapper); - - List taskList = page.getRecords(); - if (CollUtil.isNotEmpty(taskList)) { - List processDefinitionIds = StreamUtils.toList(taskList, TaskVo::getProcessDefinitionId); - List wfNodeConfigVoList = wfNodeConfigService.selectByDefIds(processDefinitionIds); - for (TaskVo task : taskList) { - task.setBusinessStatusName(BusinessStatusEnum.findByStatus(task.getBusinessStatus())); - if (CollUtil.isNotEmpty(wfNodeConfigVoList)) { - wfNodeConfigVoList.stream().filter(e -> e.getDefinitionId().equals(task.getProcessDefinitionId()) && FlowConstant.TRUE.equals(e.getApplyUserTask())).findFirst().ifPresent(task::setWfNodeConfigVo); - wfNodeConfigVoList.stream().filter(e -> e.getDefinitionId().equals(task.getProcessDefinitionId()) && e.getNodeId().equals(task.getTaskDefinitionKey()) && FlowConstant.FALSE.equals(e.getApplyUserTask())).findFirst().ifPresent(task::setWfNodeConfigVo); - } - } - } - return TableDataInfo.build(page); - } - - /** - * 查询当前租户所有已办任务 - * - * @param taskBo 参数 - */ - @Override - public TableDataInfo getPageByAllTaskFinish(TaskBo taskBo, PageQuery pageQuery) { - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.like(StringUtils.isNotBlank(taskBo.getName()), "t.name_", taskBo.getName()); - queryWrapper.like(StringUtils.isNotBlank(taskBo.getProcessDefinitionName()), "t.processDefinitionName", taskBo.getProcessDefinitionName()); - queryWrapper.eq(StringUtils.isNotBlank(taskBo.getProcessDefinitionKey()), "t.processDefinitionKey", taskBo.getProcessDefinitionKey()); - Page page = actTaskMapper.getTaskFinishByPage(pageQuery.build(), queryWrapper); - - List taskList = page.getRecords(); - if (CollUtil.isNotEmpty(taskList)) { - List processDefinitionIds = StreamUtils.toList(taskList, TaskVo::getProcessDefinitionId); - List wfNodeConfigVoList = wfNodeConfigService.selectByDefIds(processDefinitionIds); - for (TaskVo task : taskList) { - task.setBusinessStatusName(BusinessStatusEnum.findByStatus(task.getBusinessStatus())); - if (CollUtil.isNotEmpty(wfNodeConfigVoList)) { - wfNodeConfigVoList.stream().filter(e -> e.getDefinitionId().equals(task.getProcessDefinitionId()) && FlowConstant.TRUE.equals(e.getApplyUserTask())).findFirst().ifPresent(task::setWfNodeConfigVo); - wfNodeConfigVoList.stream().filter(e -> e.getDefinitionId().equals(task.getProcessDefinitionId()) && e.getNodeId().equals(task.getTaskDefinitionKey()) && FlowConstant.FALSE.equals(e.getApplyUserTask())).findFirst().ifPresent(task::setWfNodeConfigVo); - } - } - } - return TableDataInfo.build(page); - } - - /** - * 委派任务 - * - * @param delegateBo 参数 - */ - @Override - @Transactional(rollbackFor = Exception.class) - public boolean delegateTask(DelegateBo delegateBo) { - Task task = WorkflowUtils.getTaskByCurrentUser(delegateBo.getTaskId()); - - if (ObjectUtil.isEmpty(task)) { - throw new ServiceException(FlowConstant.MESSAGE_CURRENT_TASK_IS_NULL); - } - if (task.isSuspended()) { - throw new ServiceException(FlowConstant.MESSAGE_SUSPENDED); - } - try { - TaskEntity newTask = WorkflowUtils.createNewTask(task); - taskService.addComment(newTask.getId(), task.getProcessInstanceId(), TaskStatusEnum.PENDING.getStatus(), "【" + LoginHelper.getLoginUser().getNickname() + "】委派给【" + delegateBo.getNickName() + "】"); - //委托任务 - taskService.delegateTask(delegateBo.getTaskId(), delegateBo.getUserId()); - //办理生成的任务记录 - taskService.complete(newTask.getId()); - return true; - } catch (Exception e) { - log.error(e.getMessage(), e); - throw new ServiceException(e.getMessage()); - } - } - - /** - * 终止任务 - * - * @param terminationBo 参数 - */ - @Override - @Transactional(rollbackFor = Exception.class) - public boolean terminationTask(TerminationBo terminationBo) { - TaskQuery query = QueryUtils.taskQuery(); - Task task = query.taskId(terminationBo.getTaskId()).singleResult(); - - if (ObjectUtil.isEmpty(task)) { - throw new ServiceException(FlowConstant.MESSAGE_CURRENT_TASK_IS_NULL); - } - if (task.isSuspended()) { - throw new ServiceException(FlowConstant.MESSAGE_SUSPENDED); - } - HistoricProcessInstance historicProcessInstance = QueryUtils.hisInstanceQuery().processInstanceId(task.getProcessInstanceId()).singleResult(); - BusinessStatusEnum.checkInvalidStatus(historicProcessInstance.getBusinessStatus()); - try { - if (StringUtils.isBlank(terminationBo.getComment())) { - terminationBo.setComment(LoginHelper.getLoginUser().getNickname() + "终止了申请"); - } else { - terminationBo.setComment(LoginHelper.getLoginUser().getNickname() + "终止了申请:" + terminationBo.getComment()); - } - taskService.addComment(task.getId(), task.getProcessInstanceId(), TaskStatusEnum.TERMINATION.getStatus(), terminationBo.getComment()); - List list = QueryUtils.taskQuery(task.getProcessInstanceId()).list(); - if (CollUtil.isNotEmpty(list)) { - List subTasks = StreamUtils.filter(list, e -> StringUtils.isNotBlank(e.getParentTaskId())); - if (CollUtil.isNotEmpty(subTasks)) { - subTasks.forEach(e -> taskService.deleteTask(e.getId())); - } - runtimeService.updateBusinessStatus(task.getProcessInstanceId(), BusinessStatusEnum.TERMINATION.getStatus()); - runtimeService.deleteProcessInstance(task.getProcessInstanceId(), StrUtil.EMPTY); - } - //流程终止监听 - flowProcessEventHandler.processHandler(historicProcessInstance.getProcessDefinitionKey(), - historicProcessInstance.getBusinessKey(), BusinessStatusEnum.TERMINATION.getStatus(), false); - return true; - } catch (Exception e) { - throw new ServiceException(e.getMessage()); - } - } - - /** - * 转办任务 - * - * @param transmitBo 参数 - */ - @Override - public boolean transferTask(TransmitBo transmitBo) { - Task task = WorkflowUtils.getTaskByCurrentUser(transmitBo.getTaskId()); - if (ObjectUtil.isEmpty(task)) { - throw new ServiceException(FlowConstant.MESSAGE_CURRENT_TASK_IS_NULL); - } - if (task.isSuspended()) { - throw new ServiceException(FlowConstant.MESSAGE_SUSPENDED); - } - try { - TaskEntity newTask = WorkflowUtils.createNewTask(task); - taskService.addComment(newTask.getId(), task.getProcessInstanceId(), TaskStatusEnum.TRANSFER.getStatus(), StringUtils.isNotBlank(transmitBo.getComment()) ? transmitBo.getComment() : LoginHelper.getUsername() + "转办了任务"); - taskService.complete(newTask.getId()); - taskService.setAssignee(task.getId(), transmitBo.getUserId()); - return true; - } catch (Exception e) { - log.error(e.getMessage(), e); - throw new ServiceException(e.getMessage()); - } - } - - /** - * 会签任务加签 - * - * @param addMultiBo 参数 - */ - @Override - public boolean addMultiInstanceExecution(AddMultiBo addMultiBo) { - TaskQuery taskQuery = QueryUtils.taskQuery(); - taskQuery.taskId(addMultiBo.getTaskId()); - if (!LoginHelper.isSuperAdmin() && !LoginHelper.isTenantAdmin()) { - taskQuery.taskCandidateOrAssigned(String.valueOf(LoginHelper.getUserId())); - } - Task task = taskQuery.singleResult(); - if (ObjectUtil.isEmpty(task)) { - throw new ServiceException(FlowConstant.MESSAGE_CURRENT_TASK_IS_NULL); - } - if (task.isSuspended()) { - throw new ServiceException(FlowConstant.MESSAGE_SUSPENDED); - } - String taskDefinitionKey = task.getTaskDefinitionKey(); - String processInstanceId = task.getProcessInstanceId(); - String processDefinitionId = task.getProcessDefinitionId(); - - try { - MultiInstanceVo multiInstanceVo = WorkflowUtils.isMultiInstance(processDefinitionId, taskDefinitionKey); - if (multiInstanceVo == null) { - throw new ServiceException("当前环节不是会签节点"); - } - if (multiInstanceVo.getType() instanceof ParallelMultiInstanceBehavior) { - for (Long assignee : addMultiBo.getAssignees()) { - runtimeService.addMultiInstanceExecution(taskDefinitionKey, processInstanceId, Collections.singletonMap(multiInstanceVo.getAssignee(), assignee)); - } - } else if (multiInstanceVo.getType() instanceof SequentialMultiInstanceBehavior) { - AddSequenceMultiInstanceCmd addSequenceMultiInstanceCmd = new AddSequenceMultiInstanceCmd(task.getExecutionId(), multiInstanceVo.getAssigneeList(), addMultiBo.getAssignees()); - managementService.executeCommand(addSequenceMultiInstanceCmd); - } - List assigneeNames = addMultiBo.getAssigneeNames(); - String username = LoginHelper.getUsername(); - TaskEntity newTask = WorkflowUtils.createNewTask(task); - taskService.addComment(newTask.getId(), processInstanceId, TaskStatusEnum.SIGN.getStatus(), username + "加签【" + String.join(StringUtils.SEPARATOR, assigneeNames) + "】"); - taskService.complete(newTask.getId()); - return true; - } catch (Exception e) { - log.error(e.getMessage(), e); - throw new ServiceException(e.getMessage()); - } - } - - /** - * 会签任务减签 - * - * @param deleteMultiBo 参数 - */ - @Override - public boolean deleteMultiInstanceExecution(DeleteMultiBo deleteMultiBo) { - TaskQuery taskQuery = QueryUtils.taskQuery(); - taskQuery.taskId(deleteMultiBo.getTaskId()); - if (!LoginHelper.isSuperAdmin() && !LoginHelper.isTenantAdmin()) { - taskQuery.taskCandidateOrAssigned(String.valueOf(LoginHelper.getUserId())); - } - Task task = taskQuery.singleResult(); - if (ObjectUtil.isEmpty(task)) { - throw new ServiceException(FlowConstant.MESSAGE_CURRENT_TASK_IS_NULL); - } - if (task.isSuspended()) { - throw new ServiceException(FlowConstant.MESSAGE_SUSPENDED); - } - String taskDefinitionKey = task.getTaskDefinitionKey(); - String processInstanceId = task.getProcessInstanceId(); - String processDefinitionId = task.getProcessDefinitionId(); - try { - MultiInstanceVo multiInstanceVo = WorkflowUtils.isMultiInstance(processDefinitionId, taskDefinitionKey); - if (multiInstanceVo == null) { - throw new ServiceException("当前环节不是会签节点"); - } - if (multiInstanceVo.getType() instanceof ParallelMultiInstanceBehavior) { - for (String executionId : deleteMultiBo.getExecutionIds()) { - runtimeService.deleteMultiInstanceExecution(executionId, false); - } - for (String taskId : deleteMultiBo.getTaskIds()) { - historyService.deleteHistoricTaskInstance(taskId); - } - } else if (multiInstanceVo.getType() instanceof SequentialMultiInstanceBehavior) { - DeleteSequenceMultiInstanceCmd deleteSequenceMultiInstanceCmd = new DeleteSequenceMultiInstanceCmd(task.getAssignee(), task.getExecutionId(), multiInstanceVo.getAssigneeList(), deleteMultiBo.getAssigneeIds()); - managementService.executeCommand(deleteSequenceMultiInstanceCmd); - } - List assigneeNames = deleteMultiBo.getAssigneeNames(); - String username = LoginHelper.getUsername(); - TaskEntity newTask = WorkflowUtils.createNewTask(task); - taskService.addComment(newTask.getId(), processInstanceId, TaskStatusEnum.SIGN_OFF.getStatus(), username + "减签【" + String.join(StringUtils.SEPARATOR, assigneeNames) + "】"); - taskService.complete(newTask.getId()); - return true; - } catch (Exception e) { - log.error(e.getMessage(), e); - throw new ServiceException(e.getMessage()); - } - } - - /** - * 驳回审批 - * - * @param backProcessBo 参数 - */ - @Override - @Transactional(rollbackFor = Exception.class) - public String backProcess(BackProcessBo backProcessBo) { - String userId = String.valueOf(LoginHelper.getUserId()); - Task task = WorkflowUtils.getTaskByCurrentUser(backProcessBo.getTaskId()); - - if (ObjectUtil.isEmpty(task)) { - throw new ServiceException(FlowConstant.MESSAGE_CURRENT_TASK_IS_NULL); - } - if (task.isSuspended()) { - throw new ServiceException(FlowConstant.MESSAGE_SUSPENDED); - } - try { - String processInstanceId = task.getProcessInstanceId(); - ProcessInstance processInstance = QueryUtils.instanceQuery(task.getProcessInstanceId()).singleResult(); - //获取并行网关执行后保留的执行实例数据 - ExecutionChildByExecutionIdCmd childByExecutionIdCmd = new ExecutionChildByExecutionIdCmd(task.getExecutionId()); - List executionEntities = managementService.executeCommand(childByExecutionIdCmd); - //校验单据 - BusinessStatusEnum.checkBackStatus(processInstance.getBusinessStatus()); - //判断是否有多个任务 - List taskList = QueryUtils.taskQuery(processInstanceId).list(); - String backTaskDefinitionKey = backProcessBo.getTargetActivityId(); - taskService.addComment(task.getId(), processInstanceId, TaskStatusEnum.BACK.getStatus(), StringUtils.isNotBlank(backProcessBo.getMessage()) ? backProcessBo.getMessage() : "退回"); - if (taskList.size() > 1) { - //当前多个任务驳回到单个节点 - runtimeService.createChangeActivityStateBuilder().processInstanceId(processInstanceId).moveActivityIdsToSingleActivityId(taskList.stream().map(Task::getTaskDefinitionKey).distinct().collect(Collectors.toList()), backTaskDefinitionKey).changeState(); - ActHiTaskinst actHiTaskinst = new ActHiTaskinst(); - actHiTaskinst.setAssignee(userId); - actHiTaskinst.setId(task.getId()); - actHiTaskinstMapper.updateById(actHiTaskinst); - } else { - //当前单个节点驳回单个节点 - runtimeService.createChangeActivityStateBuilder().processInstanceId(processInstanceId).moveActivityIdTo(task.getTaskDefinitionKey(), backTaskDefinitionKey).changeState(); - } - //删除并行环节未办理记录 - MultiInstanceVo multiInstance = WorkflowUtils.isMultiInstance(task.getProcessDefinitionId(), task.getTaskDefinitionKey()); - if (multiInstance == null && taskList.size() > 1) { - List tasks = StreamUtils.filter(taskList, e -> !e.getTaskDefinitionKey().equals(task.getTaskDefinitionKey())); - if (CollUtil.isNotEmpty(tasks)) { - actHiTaskinstMapper.deleteByIds(StreamUtils.toList(tasks, Task::getId)); - } - } - - - List instanceList = QueryUtils.hisTaskInstanceQuery(processInstanceId).finished().orderByHistoricTaskInstanceEndTime().desc().list(); - List list = QueryUtils.taskQuery(processInstanceId).list(); - for (Task t : list) { - instanceList.stream().filter(e -> e.getTaskDefinitionKey().equals(t.getTaskDefinitionKey())).findFirst().ifPresent(e -> { - taskService.setAssignee(t.getId(), e.getAssignee()); - }); - } - //发送消息 - String message = "您的【" + processInstance.getName() + "】单据已经被驳回,请您注意查收。"; - sendMessage(list, processInstance.getName(), backProcessBo.getMessageType(), message); - //删除流程实例垃圾数据 - for (ExecutionEntity executionEntity : executionEntities) { - DeleteExecutionCmd deleteExecutionCmd = new DeleteExecutionCmd(executionEntity.getId()); - managementService.executeCommand(deleteExecutionCmd); - } - - WfTaskBackNode wfTaskBackNode = wfTaskBackNodeService.getListByInstanceIdAndNodeId(task.getProcessInstanceId(), backProcessBo.getTargetActivityId()); - if (ObjectUtil.isNotNull(wfTaskBackNode) && wfTaskBackNode.getOrderNo() == 0) { - runtimeService.updateBusinessStatus(processInstanceId, BusinessStatusEnum.BACK.getStatus()); - flowProcessEventHandler.processHandler(processInstance.getProcessDefinitionKey(), - processInstance.getBusinessKey(), BusinessStatusEnum.BACK.getStatus(), false); - } - //删除驳回后的流程节点 - wfTaskBackNodeService.deleteBackTaskNode(processInstanceId, backProcessBo.getTargetActivityId()); - } catch (Exception e) { - log.error(e.getMessage(), e); - throw new ServiceException(e.getMessage()); - } - return task.getProcessInstanceId(); - } - - /** - * 修改任务办理人 - * - * @param taskIds 任务id - * @param userId 办理人id - */ - @Override - @Transactional(rollbackFor = Exception.class) - public boolean updateAssignee(String[] taskIds, String userId) { - try { - List list = QueryUtils.taskQuery().taskIds(Arrays.asList(taskIds)).list(); - for (Task task : list) { - taskService.setAssignee(task.getId(), userId); - } - } catch (Exception e) { - log.error("修改失败:" + e.getMessage(), e); - throw new ServiceException("修改失败:" + e.getMessage()); - } - return true; - } - - /** - * 查询流程变量 - * - * @param taskId 任务id - */ - @Override - public List getInstanceVariable(String taskId) { - List variableVoList = new ArrayList<>(); - Map variableInstances = taskService.getVariableInstances(taskId); - if (CollUtil.isNotEmpty(variableInstances)) { - for (Map.Entry entry : variableInstances.entrySet()) { - VariableVo variableVo = new VariableVo(); - variableVo.setKey(entry.getKey()); - variableVo.setValue(entry.getValue().getValue().toString()); - variableVoList.add(variableVo); - } - } - return variableVoList; - } - - /** - * 查询工作流任务用户选择加签人员 - * - * @param taskId 任务id - * @return - */ - @Override - @SuppressWarnings("unchecked") - public String getTaskUserIdsByAddMultiInstance(String taskId) { - Task task = QueryUtils.taskQuery().taskId(taskId).singleResult(); - if (task == null) { - throw new ServiceException("任务不存在"); - } - MultiInstanceVo multiInstance = WorkflowUtils.isMultiInstance(task.getProcessDefinitionId(), task.getTaskDefinitionKey()); - if (multiInstance == null) { - return ""; - } - List userIds; - if (multiInstance.getType() instanceof SequentialMultiInstanceBehavior) { - userIds = (List) runtimeService.getVariable(task.getExecutionId(), multiInstance.getAssigneeList()); - } else { - List list = QueryUtils.taskQuery(task.getProcessInstanceId()).list(); - userIds = StreamUtils.toList(list, e -> Long.valueOf(e.getAssignee())); - } - return StringUtils.join(userIds, StringUtils.SEPARATOR); - } - - /** - * 查询工作流选择减签人员 - * - * @param taskId 任务id 任务id - */ - @Override - @SuppressWarnings("unchecked") - public List getListByDeleteMultiInstance(String taskId) { - Task task = QueryUtils.taskQuery().taskId(taskId).singleResult(); - List taskList = QueryUtils.taskQuery(task.getProcessInstanceId()).list(); - MultiInstanceVo multiInstance = WorkflowUtils.isMultiInstance(task.getProcessDefinitionId(), task.getTaskDefinitionKey()); - List taskListVo = new ArrayList<>(); - if (multiInstance == null) { - return List.of(); - } - List assigneeList = new ArrayList<>(); - if (multiInstance.getType() instanceof SequentialMultiInstanceBehavior) { - List variable = (List) runtimeService.getVariable(task.getExecutionId(), multiInstance.getAssigneeList()); - for (Object o : variable) { - assigneeList.add(Long.valueOf(o.toString())); - } - } - - if (multiInstance.getType() instanceof SequentialMultiInstanceBehavior) { - List userIds = StreamUtils.filter(assigneeList, e -> !String.valueOf(e).equals(task.getAssignee())); - List userList = userService.selectListByIds(userIds); - for (Long userId : userIds) { - TaskVo taskVo = new TaskVo(); - taskVo.setId("串行会签"); - taskVo.setExecutionId("串行会签"); - taskVo.setProcessInstanceId(task.getProcessInstanceId()); - taskVo.setName(task.getName()); - taskVo.setAssignee(userId); - if (CollUtil.isNotEmpty(userList)) { - userList.stream().filter(u -> u.getUserId().toString().equals(userId.toString())).findFirst().ifPresent(u -> taskVo.setAssigneeName(u.getNickName())); - } - taskListVo.add(taskVo); - } - return taskListVo; - } else if (multiInstance.getType() instanceof ParallelMultiInstanceBehavior) { - List tasks = StreamUtils.filter(taskList, e -> StringUtils.isBlank(e.getParentTaskId()) && !e.getExecutionId().equals(task.getExecutionId()) && e.getTaskDefinitionKey().equals(task.getTaskDefinitionKey())); - if (CollUtil.isNotEmpty(tasks)) { - List userIds = StreamUtils.toList(tasks, e -> Long.valueOf(e.getAssignee())); - List userList = userService.selectListByIds(userIds); - for (Task t : tasks) { - TaskVo taskVo = new TaskVo(); - taskVo.setId(t.getId()); - taskVo.setExecutionId(t.getExecutionId()); - taskVo.setProcessInstanceId(t.getProcessInstanceId()); - taskVo.setName(t.getName()); - taskVo.setAssignee(Long.valueOf(t.getAssignee())); - if (CollUtil.isNotEmpty(userList)) { - userList.stream().filter(u -> u.getUserId().toString().equals(t.getAssignee())).findFirst().ifPresent(e -> taskVo.setAssigneeName(e.getNickName())); - } - taskListVo.add(taskVo); - } - return taskListVo; - } - } - return List.of(); - } -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/TestLeaveServiceImpl.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/TestLeaveServiceImpl.java deleted file mode 100644 index f81c85f..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/TestLeaveServiceImpl.java +++ /dev/null @@ -1,157 +0,0 @@ -package org.dromara.workflow.service.impl; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.dromara.common.core.domain.event.ProcessEvent; -import org.dromara.common.core.domain.event.ProcessTaskEvent; -import org.dromara.common.core.enums.BusinessStatusEnum; -import org.dromara.common.core.service.WorkflowService; -import org.dromara.common.core.utils.MapstructUtils; -import org.dromara.common.core.utils.StreamUtils; -import org.dromara.common.core.utils.StringUtils; -import org.dromara.common.mybatis.core.domain.BaseEntity; -import org.dromara.common.mybatis.core.page.PageQuery; -import org.dromara.common.mybatis.core.page.TableDataInfo; -import org.dromara.workflow.domain.TestLeave; -import org.dromara.workflow.domain.bo.TestLeaveBo; -import org.dromara.workflow.domain.vo.TestLeaveVo; -import org.dromara.workflow.mapper.TestLeaveMapper; -import org.dromara.workflow.service.ITestLeaveService; -import org.springframework.context.event.EventListener; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.Collection; -import java.util.List; - -/** - * 请假Service业务层处理 - * - * @author may - * @date 2023-07-21 - */ -@RequiredArgsConstructor -@Service -@Slf4j -public class TestLeaveServiceImpl implements ITestLeaveService { - - private final TestLeaveMapper baseMapper; - private final WorkflowService workflowService; - - /** - * 查询请假 - */ - @Override - public TestLeaveVo queryById(Long id) { - return baseMapper.selectVoById(id); - } - - /** - * 查询请假列表 - */ - @Override - public TableDataInfo queryPageList(TestLeaveBo bo, PageQuery pageQuery) { - LambdaQueryWrapper lqw = buildQueryWrapper(bo); - Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); - return TableDataInfo.build(result); - } - - /** - * 查询请假列表 - */ - @Override - public List queryList(TestLeaveBo bo) { - LambdaQueryWrapper lqw = buildQueryWrapper(bo); - return baseMapper.selectVoList(lqw); - } - - private LambdaQueryWrapper buildQueryWrapper(TestLeaveBo bo) { - LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); - lqw.eq(StringUtils.isNotBlank(bo.getLeaveType()), TestLeave::getLeaveType, bo.getLeaveType()); - lqw.ge(bo.getStartLeaveDays() != null, TestLeave::getLeaveDays, bo.getStartLeaveDays()); - lqw.le(bo.getEndLeaveDays() != null, TestLeave::getLeaveDays, bo.getEndLeaveDays()); - lqw.orderByDesc(BaseEntity::getCreateTime); - return lqw; - } - - /** - * 新增请假 - */ - @Override - public TestLeaveVo insertByBo(TestLeaveBo bo) { - TestLeave add = MapstructUtils.convert(bo, TestLeave.class); - if (StringUtils.isBlank(add.getStatus())) { - add.setStatus(BusinessStatusEnum.DRAFT.getStatus()); - } - boolean flag = baseMapper.insert(add) > 0; - if (flag) { - bo.setId(add.getId()); - } - return MapstructUtils.convert(add, TestLeaveVo.class); - } - - /** - * 修改请假 - */ - @Override - public TestLeaveVo updateByBo(TestLeaveBo bo) { - TestLeave update = MapstructUtils.convert(bo, TestLeave.class); - baseMapper.updateById(update); - return MapstructUtils.convert(update, TestLeaveVo.class); - } - - /** - * 批量删除请假 - */ - @Override - @Transactional(rollbackFor = Exception.class) - public Boolean deleteWithValidByIds(Collection ids) { - List idList = StreamUtils.toList(ids, String::valueOf); - workflowService.deleteRunAndHisInstance(idList); - return baseMapper.deleteByIds(ids) > 0; - } - - /** - * 总体流程监听(例如: 提交 退回 撤销 终止 作废等) - * 正常使用只需#processEvent.key=='leave1' - * 示例为了方便则使用startsWith匹配了全部示例key - * - * @param processEvent 参数 - */ - @EventListener(condition = "#processEvent.key.startsWith('leave')") - public void processHandler(ProcessEvent processEvent) { - log.info("当前任务执行了{}", processEvent.toString()); - TestLeave testLeave = baseMapper.selectById(Long.valueOf(processEvent.getBusinessKey())); - testLeave.setStatus(processEvent.getStatus()); - if (processEvent.isSubmit()) { - testLeave.setStatus(BusinessStatusEnum.WAITING.getStatus()); - } - baseMapper.updateById(testLeave); - } - - /** - * 执行办理任务监听 - * 示例:也可通过 @EventListener(condition = "#processTaskEvent.key=='leave1'")进行判断 - * 在方法中判断流程节点key - * if ("xxx".equals(processTaskEvent.getTaskDefinitionKey())) { - * //执行业务逻辑 - * } - * - * @param processTaskEvent 参数 - */ - @EventListener(condition = "#processTaskEvent.key.startsWith('leave')") - public void processTaskHandler(ProcessTaskEvent processTaskEvent) { - // 所有demo案例的申请人节点id - String[] ids = {"Activity_14633hx", "Activity_19b1i4j", "Activity_0uscrk3", - "Activity_0uscrk3", "Activity_0x6b71j", "Activity_0zy3g6j", "Activity_06a55t0"}; - if (StringUtils.equalsAny(processTaskEvent.getTaskDefinitionKey(), ids)) { - log.info("当前任务执行了{}", processTaskEvent.toString()); - TestLeave testLeave = baseMapper.selectById(Long.valueOf(processTaskEvent.getBusinessKey())); - testLeave.setStatus(BusinessStatusEnum.WAITING.getStatus()); - baseMapper.updateById(testLeave); - } - } -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/WfCategoryServiceImpl.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/WfCategoryServiceImpl.java deleted file mode 100644 index e562823..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/WfCategoryServiceImpl.java +++ /dev/null @@ -1,130 +0,0 @@ -package org.dromara.workflow.service.impl; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import lombok.RequiredArgsConstructor; -import org.dromara.common.core.utils.MapstructUtils; -import org.dromara.common.core.utils.StringUtils; -import org.dromara.workflow.domain.WfCategory; -import org.dromara.workflow.domain.bo.WfCategoryBo; -import org.dromara.workflow.domain.vo.WfCategoryVo; -import org.dromara.workflow.mapper.WfCategoryMapper; -import org.dromara.workflow.service.IWfCategoryService; -import org.dromara.workflow.utils.QueryUtils; -import org.flowable.engine.RepositoryService; -import org.flowable.engine.repository.Deployment; -import org.flowable.engine.repository.Model; -import org.flowable.engine.repository.ProcessDefinition; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.Collection; -import java.util.List; - -/** - * 流程分类Service业务层处理 - * - * @author may - * @date 2023-06-28 - */ -@RequiredArgsConstructor -@Service -public class WfCategoryServiceImpl implements IWfCategoryService { - - private final WfCategoryMapper baseMapper; - @Autowired(required = false) - private RepositoryService repositoryService; - - /** - * 查询流程分类 - */ - @Override - public WfCategoryVo queryById(Long id) { - return baseMapper.selectVoById(id); - } - - - /** - * 查询流程分类列表 - */ - @Override - public List queryList(WfCategoryBo bo) { - LambdaQueryWrapper lqw = buildQueryWrapper(bo); - return baseMapper.selectVoList(lqw); - } - - private LambdaQueryWrapper buildQueryWrapper(WfCategoryBo bo) { - LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); - lqw.like(StringUtils.isNotBlank(bo.getCategoryName()), WfCategory::getCategoryName, bo.getCategoryName()); - lqw.eq(StringUtils.isNotBlank(bo.getCategoryCode()), WfCategory::getCategoryCode, bo.getCategoryCode()); - return lqw; - } - - /** - * 新增流程分类 - */ - @Override - public Boolean insertByBo(WfCategoryBo bo) { - WfCategory add = MapstructUtils.convert(bo, WfCategory.class); - validEntityBeforeSave(add); - boolean flag = baseMapper.insert(add) > 0; - if (flag) { - bo.setId(add.getId()); - } - return flag; - } - - /** - * 修改流程分类 - */ - @Override - @Transactional(rollbackFor = Exception.class) - public Boolean updateByBo(WfCategoryBo bo) { - WfCategory update = MapstructUtils.convert(bo, WfCategory.class); - validEntityBeforeSave(update); - WfCategoryVo wfCategoryVo = baseMapper.selectVoById(bo.getId()); - List processDefinitionList = QueryUtils.definitionQuery().processDefinitionCategory(wfCategoryVo.getCategoryCode()).list(); - for (ProcessDefinition processDefinition : processDefinitionList) { - repositoryService.setProcessDefinitionCategory(processDefinition.getId(), bo.getCategoryCode()); - } - List deploymentList = QueryUtils.deploymentQuery().deploymentCategory(wfCategoryVo.getCategoryCode()).list(); - for (Deployment deployment : deploymentList) { - repositoryService.setDeploymentCategory(deployment.getId(), bo.getCategoryCode()); - } - List modelList = QueryUtils.modelQuery().modelCategory(wfCategoryVo.getCategoryCode()).list(); - for (Model model : modelList) { - model.setCategory(bo.getCategoryCode()); - repositoryService.saveModel(model); - } - return baseMapper.updateById(update) > 0; - } - - /** - * 保存前的数据校验 - */ - private void validEntityBeforeSave(WfCategory entity) { - //TODO 做一些数据校验,如唯一约束 - } - - /** - * 批量删除流程分类 - */ - @Override - public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { - if (isValid) { - //TODO 做一些业务上的校验,判断是否需要校验 - } - return baseMapper.deleteByIds(ids) > 0; - } - - /** - * 按照类别编码查询 - * - * @param categoryCode 分类比吗 - */ - @Override - public WfCategory queryByCategoryCode(String categoryCode) { - return baseMapper.selectOne(new LambdaQueryWrapper().eq(WfCategory::getCategoryCode, categoryCode)); - } -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/WfDefinitionConfigServiceImpl.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/WfDefinitionConfigServiceImpl.java deleted file mode 100644 index b2ffb9e..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/WfDefinitionConfigServiceImpl.java +++ /dev/null @@ -1,117 +0,0 @@ -package org.dromara.workflow.service.impl; - -import cn.hutool.core.collection.CollUtil; -import org.dromara.common.core.utils.MapstructUtils; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import lombok.RequiredArgsConstructor; -import org.dromara.workflow.domain.WfDefinitionConfig; -import org.dromara.workflow.domain.bo.WfDefinitionConfigBo; -import org.dromara.workflow.domain.vo.WfDefinitionConfigVo; -import org.dromara.workflow.service.IWfDefinitionConfigService; -import org.springframework.stereotype.Service; -import org.dromara.workflow.mapper.WfDefinitionConfigMapper; -import org.springframework.transaction.annotation.Transactional; - -import java.util.List; -import java.util.Collection; - -/** - * 流程定义配置Service业务层处理 - * - * @author may - * @date 2024-03-18 - */ -@RequiredArgsConstructor -@Service -public class WfDefinitionConfigServiceImpl implements IWfDefinitionConfigService { - - private final WfDefinitionConfigMapper baseMapper; - - /** - * 查询流程定义配置 - */ - @Override - public WfDefinitionConfigVo getByDefId(String definitionId) { - return baseMapper.selectVoOne(new LambdaQueryWrapper().eq(WfDefinitionConfig::getDefinitionId, definitionId)); - } - - /** - * 查询流程定义配置 - * - * @param tableName 表名 - * @return 结果 - */ - @Override - public WfDefinitionConfigVo getByTableNameLastVersion(String tableName) { - List wfDefinitionConfigVos = baseMapper.selectVoList( - new LambdaQueryWrapper().eq(WfDefinitionConfig::getTableName, tableName).orderByDesc(WfDefinitionConfig::getVersion)); - if (CollUtil.isNotEmpty(wfDefinitionConfigVos)) { - return wfDefinitionConfigVos.get(0); - } - return null; - } - - /** - * 查询流程定义配置 - * - * @param definitionId 流程定义id - * @param tableName 表名 - * @return 结果 - */ - @Override - public WfDefinitionConfigVo getByDefIdAndTableName(String definitionId, String tableName) { - return baseMapper.selectVoOne(new LambdaQueryWrapper() - .eq(WfDefinitionConfig::getDefinitionId, definitionId) - .eq(WfDefinitionConfig::getTableName, tableName)); - } - - /** - * 查询流程定义配置排除当前查询的流程定义 - * - * @param tableName 表名 - * @param definitionId 流程定义id - */ - @Override - public List getByTableNameNotDefId(String tableName, String definitionId) { - return baseMapper.selectVoList(new LambdaQueryWrapper() - .eq(WfDefinitionConfig::getTableName, tableName) - .ne(WfDefinitionConfig::getDefinitionId, definitionId)); - } - - /** - * 查询流程定义配置列表 - */ - @Override - public List queryList(List definitionIds) { - return baseMapper.selectVoList(new LambdaQueryWrapper().in(WfDefinitionConfig::getDefinitionId, definitionIds)); - } - - /** - * 新增流程定义配置 - */ - @Override - @Transactional(rollbackFor = Exception.class) - public Boolean saveOrUpdate(WfDefinitionConfigBo bo) { - WfDefinitionConfig add = MapstructUtils.convert(bo, WfDefinitionConfig.class); - baseMapper.delete(new LambdaQueryWrapper().eq(WfDefinitionConfig::getTableName, bo.getTableName())); - add.setTableName(add.getTableName().toLowerCase()); - boolean flag = baseMapper.insertOrUpdate(add); - if (flag) { - bo.setId(add.getId()); - } - return flag; - } - - /** - * 批量删除流程定义配置 - */ - @Override - public Boolean deleteByIds(Collection ids) { - return baseMapper.deleteByIds(ids) > 0; - } - - @Override - public Boolean deleteByDefIds(Collection ids) { - return baseMapper.delete(new LambdaQueryWrapper().in(WfDefinitionConfig::getDefinitionId, ids)) > 0; - } -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/WfFormManageServiceImpl.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/WfFormManageServiceImpl.java deleted file mode 100644 index 55e4911..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/WfFormManageServiceImpl.java +++ /dev/null @@ -1,111 +0,0 @@ -package org.dromara.workflow.service.impl; - -import org.dromara.common.core.utils.MapstructUtils; -import org.dromara.common.core.utils.StringUtils; -import org.dromara.common.mybatis.core.page.TableDataInfo; -import org.dromara.common.mybatis.core.page.PageQuery; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import lombok.RequiredArgsConstructor; -import org.dromara.workflow.common.enums.FormTypeEnum; -import org.springframework.stereotype.Service; -import org.dromara.workflow.domain.bo.WfFormManageBo; -import org.dromara.workflow.domain.vo.WfFormManageVo; -import org.dromara.workflow.domain.WfFormManage; -import org.dromara.workflow.mapper.WfFormManageMapper; -import org.dromara.workflow.service.IWfFormManageService; - -import java.util.List; -import java.util.Collection; - -/** - * 表单管理Service业务层处理 - * - * @author may - * @date 2024-03-29 - */ -@RequiredArgsConstructor -@Service -public class WfFormManageServiceImpl implements IWfFormManageService { - - private final WfFormManageMapper baseMapper; - - /** - * 查询表单管理 - */ - @Override - public WfFormManageVo queryById(Long id) { - return baseMapper.selectVoById(id); - } - - @Override - public List queryByIds(List ids) { - return baseMapper.selectVoByIds(ids); - } - - /** - * 查询表单管理列表 - */ - @Override - public TableDataInfo queryPageList(WfFormManageBo bo, PageQuery pageQuery) { - LambdaQueryWrapper lqw = buildQueryWrapper(bo); - Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); - return TableDataInfo.build(result); - } - - @Override - public List selectList() { - List wfFormManageVos = baseMapper.selectVoList(new LambdaQueryWrapper().orderByDesc(WfFormManage::getUpdateTime)); - for (WfFormManageVo wfFormManageVo : wfFormManageVos) { - wfFormManageVo.setFormTypeName(FormTypeEnum.findByType(wfFormManageVo.getFormType())); - } - return wfFormManageVos; - } - - /** - * 查询表单管理列表 - */ - @Override - public List queryList(WfFormManageBo bo) { - LambdaQueryWrapper lqw = buildQueryWrapper(bo); - return baseMapper.selectVoList(lqw); - } - - private LambdaQueryWrapper buildQueryWrapper(WfFormManageBo bo) { - LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); - lqw.like(StringUtils.isNotBlank(bo.getFormName()), WfFormManage::getFormName, bo.getFormName()); - lqw.eq(StringUtils.isNotBlank(bo.getFormType()), WfFormManage::getFormType, bo.getFormType()); - return lqw; - } - - /** - * 新增表单管理 - */ - @Override - public Boolean insertByBo(WfFormManageBo bo) { - WfFormManage add = MapstructUtils.convert(bo, WfFormManage.class); - boolean flag = baseMapper.insert(add) > 0; - if (flag) { - bo.setId(add.getId()); - } - return flag; - } - - /** - * 修改表单管理 - */ - @Override - public Boolean updateByBo(WfFormManageBo bo) { - WfFormManage update = MapstructUtils.convert(bo, WfFormManage.class); - return baseMapper.updateById(update) > 0; - } - - /** - * 批量删除表单管理 - */ - @Override - public Boolean deleteByIds(Collection ids) { - return baseMapper.deleteByIds(ids) > 0; - } -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/WfNodeConfigServiceImpl.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/WfNodeConfigServiceImpl.java deleted file mode 100644 index 2f71482..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/WfNodeConfigServiceImpl.java +++ /dev/null @@ -1,75 +0,0 @@ -package org.dromara.workflow.service.impl; - -import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.util.ObjectUtil; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import lombok.RequiredArgsConstructor; -import org.dromara.common.core.utils.StreamUtils; -import org.dromara.workflow.domain.vo.WfFormManageVo; -import org.dromara.workflow.service.IWfFormManageService; -import org.springframework.stereotype.Service; -import org.dromara.workflow.domain.vo.WfNodeConfigVo; -import org.dromara.workflow.domain.WfNodeConfig; -import org.dromara.workflow.mapper.WfNodeConfigMapper; -import org.dromara.workflow.service.IWfNodeConfigService; - -import java.util.Collection; -import java.util.List; - -/** - * 节点配置Service业务层处理 - * - * @author may - * @date 2024-03-30 - */ -@RequiredArgsConstructor -@Service -public class WfNodeConfigServiceImpl implements IWfNodeConfigService { - - private final WfNodeConfigMapper baseMapper; - private final IWfFormManageService wfFormManageService; - - /** - * 查询节点配置 - */ - @Override - public WfNodeConfigVo queryById(Long id) { - return baseMapper.selectVoById(id); - } - - /** - * 保存节点配置 - */ - @Override - public Boolean saveOrUpdate(List list) { - return baseMapper.insertOrUpdateBatch(list); - } - - /** - * 批量删除节点配置 - */ - @Override - public Boolean deleteByIds(Collection ids) { - return baseMapper.deleteByIds(ids) > 0; - } - - - - @Override - public Boolean deleteByDefIds(Collection ids) { - return baseMapper.delete(new LambdaQueryWrapper().in(WfNodeConfig::getDefinitionId, ids)) > 0; - } - - @Override - public List selectByDefIds(Collection ids) { - List wfNodeConfigVos = baseMapper.selectVoList(new LambdaQueryWrapper().in(WfNodeConfig::getDefinitionId, ids)); - if (CollUtil.isNotEmpty(wfNodeConfigVos)) { - List formIds = StreamUtils.toList(wfNodeConfigVos, WfNodeConfigVo::getFormId); - List wfFormManageVos = wfFormManageService.queryByIds(formIds); - for (WfNodeConfigVo wfNodeConfigVo : wfNodeConfigVos) { - wfFormManageVos.stream().filter(e -> ObjectUtil.equals(e.getId(), wfNodeConfigVo.getFormId())).findFirst().ifPresent(wfNodeConfigVo::setWfFormManageVo); - } - } - return wfNodeConfigVos; - } -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/WfTaskBackNodeServiceImpl.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/WfTaskBackNodeServiceImpl.java deleted file mode 100644 index 6c255d3..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/WfTaskBackNodeServiceImpl.java +++ /dev/null @@ -1,144 +0,0 @@ -package org.dromara.workflow.service.impl; - -import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.util.ObjectUtil; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.dromara.common.core.exception.ServiceException; -import org.dromara.common.core.utils.StreamUtils; -import org.dromara.common.core.utils.StringUtils; -import org.dromara.common.satoken.utils.LoginHelper; -import org.dromara.workflow.domain.WfTaskBackNode; -import org.dromara.workflow.domain.vo.MultiInstanceVo; -import org.dromara.workflow.mapper.WfTaskBackNodeMapper; -import org.dromara.workflow.service.IWfTaskBackNodeService; -import org.dromara.workflow.utils.WorkflowUtils; -import org.flowable.task.api.Task; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.ArrayList; -import java.util.List; - -import static org.dromara.workflow.common.constant.FlowConstant.MULTI_INSTANCE; -import static org.dromara.workflow.common.constant.FlowConstant.USER_TASK; - - -/** - * 节点驳回记录Service业务层处理 - * - * @author may - * @date 2024-03-13 - */ -@Slf4j -@RequiredArgsConstructor -@Service -public class WfTaskBackNodeServiceImpl implements IWfTaskBackNodeService { - - private final WfTaskBackNodeMapper wfTaskBackNodeMapper; - - @Override - @Transactional(rollbackFor = Exception.class) - public void recordExecuteNode(Task task) { - List list = getListByInstanceId(task.getProcessInstanceId()); - WfTaskBackNode wfTaskBackNode = new WfTaskBackNode(); - wfTaskBackNode.setNodeId(task.getTaskDefinitionKey()); - wfTaskBackNode.setNodeName(task.getName()); - wfTaskBackNode.setInstanceId(task.getProcessInstanceId()); - wfTaskBackNode.setAssignee(String.valueOf(LoginHelper.getUserId())); - MultiInstanceVo multiInstance = WorkflowUtils.isMultiInstance(task.getProcessDefinitionId(), task.getTaskDefinitionKey()); - if (ObjectUtil.isNotEmpty(multiInstance)) { - wfTaskBackNode.setTaskType(MULTI_INSTANCE); - } else { - wfTaskBackNode.setTaskType(USER_TASK); - } - if (CollUtil.isEmpty(list)) { - wfTaskBackNode.setOrderNo(0); - wfTaskBackNodeMapper.insert(wfTaskBackNode); - } else { - WfTaskBackNode taskNode = StreamUtils.findFirst(list, e -> e.getNodeId().equals(wfTaskBackNode.getNodeId()) && e.getOrderNo() == 0); - if (ObjectUtil.isEmpty(taskNode)) { - wfTaskBackNode.setOrderNo(list.get(0).getOrderNo() + 1); - WfTaskBackNode node = getListByInstanceIdAndNodeId(wfTaskBackNode.getInstanceId(), wfTaskBackNode.getNodeId()); - if (ObjectUtil.isNotEmpty(node)) { - node.setAssignee(node.getAssignee() + StringUtils.SEPARATOR + LoginHelper.getUserId()); - wfTaskBackNodeMapper.updateById(node); - } else { - wfTaskBackNodeMapper.insert(wfTaskBackNode); - } - } - } - } - - @Override - public List getListByInstanceId(String processInstanceId) { - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(WfTaskBackNode::getInstanceId, processInstanceId); - wrapper.orderByDesc(WfTaskBackNode::getOrderNo); - return wfTaskBackNodeMapper.selectList(wrapper); - } - - @Override - public WfTaskBackNode getListByInstanceIdAndNodeId(String processInstanceId, String nodeId) { - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(WfTaskBackNode::getInstanceId, processInstanceId); - queryWrapper.eq(WfTaskBackNode::getNodeId, nodeId); - return wfTaskBackNodeMapper.selectOne(queryWrapper); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public boolean deleteBackTaskNode(String processInstanceId, String targetActivityId) { - try { - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(WfTaskBackNode::getInstanceId, processInstanceId); - queryWrapper.eq(WfTaskBackNode::getNodeId, targetActivityId); - WfTaskBackNode actTaskNode = wfTaskBackNodeMapper.selectOne(queryWrapper); - if (ObjectUtil.isNotNull(actTaskNode)) { - Integer orderNo = actTaskNode.getOrderNo(); - List taskNodeList = getListByInstanceId(processInstanceId); - List ids = new ArrayList<>(); - if (CollUtil.isNotEmpty(taskNodeList)) { - for (WfTaskBackNode taskNode : taskNodeList) { - if (taskNode.getOrderNo() >= orderNo) { - ids.add(taskNode.getId()); - } - } - } - if (CollUtil.isNotEmpty(ids)) { - wfTaskBackNodeMapper.deleteByIds(ids); - } - } - return true; - } catch (Exception e) { - log.error(e.getMessage(), e); - throw new ServiceException("删除失败"); - } - } - - @Override - @Transactional(rollbackFor = Exception.class) - public boolean deleteByInstanceId(String processInstanceId) { - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(WfTaskBackNode::getInstanceId, processInstanceId); - List list = wfTaskBackNodeMapper.selectList(wrapper); - int delete = wfTaskBackNodeMapper.delete(wrapper); - if (list.size() != delete) { - throw new ServiceException("删除失败"); - } - return true; - } - - @Override - public boolean deleteByInstanceIds(List processInstanceIds) { - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.in(WfTaskBackNode::getInstanceId, processInstanceIds); - List list = wfTaskBackNodeMapper.selectList(wrapper); - int delete = wfTaskBackNodeMapper.delete(wrapper); - if (list.size() != delete) { - throw new ServiceException("删除失败"); - } - return true; - } -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/WorkflowServiceImpl.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/WorkflowServiceImpl.java deleted file mode 100644 index b036584..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/WorkflowServiceImpl.java +++ /dev/null @@ -1,121 +0,0 @@ -package org.dromara.workflow.service.impl; - -import cn.hutool.core.util.StrUtil; -import lombok.RequiredArgsConstructor; -import org.dromara.common.core.service.WorkflowService; -import org.dromara.workflow.domain.ActHiProcinst; -import org.dromara.workflow.service.IActHiProcinstService; -import org.dromara.workflow.service.IActProcessInstanceService; -import org.dromara.workflow.utils.WorkflowUtils; -import org.flowable.engine.TaskService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.util.List; -import java.util.Map; - -/** - * 通用 工作流服务实现 - * - * @author may - */ -@RequiredArgsConstructor -@Service -public class WorkflowServiceImpl implements WorkflowService { - - @Autowired(required = false) - private TaskService taskService; - private final IActProcessInstanceService actProcessInstanceService; - private final IActHiProcinstService actHiProcinstService; - /** - * 运行中的实例 删除程实例,删除历史记录,删除业务与流程关联信息 - * - * @param businessKeys 业务id - * @return 结果 - */ - @Override - public boolean deleteRunAndHisInstance(List businessKeys) { - return actProcessInstanceService.deleteRunAndHisInstance(businessKeys); - } - - /** - * 获取当前流程状态 - * - * @param taskId 任务id - */ - @Override - public String getBusinessStatusByTaskId(String taskId) { - return WorkflowUtils.getBusinessStatusByTaskId(taskId); - } - - /** - * 获取当前流程状态 - * - * @param businessKey 业务id - */ - @Override - public String getBusinessStatus(String businessKey) { - return WorkflowUtils.getBusinessStatus(businessKey); - } - - /** - * 设置流程变量(全局变量) - * - * @param taskId 任务id - * @param variableName 变量名称 - * @param value 变量值 - */ - @Override - public void setVariable(String taskId, String variableName, Object value) { - taskService.setVariable(taskId, variableName, value); - } - - /** - * 设置流程变量(全局变量) - * - * @param taskId 任务id - * @param variables 流程变量 - */ - @Override - public void setVariables(String taskId, Map variables) { - taskService.setVariables(taskId, variables); - } - - /** - * 设置流程变量(本地变量,非全局变量) - * - * @param taskId 任务id - * @param variableName 变量名称 - * @param value 变量值 - */ - @Override - public void setVariableLocal(String taskId, String variableName, Object value) { - taskService.setVariableLocal(taskId, variableName, value); - } - - /** - * 设置流程变量(本地变量,非全局变量) - * - * @param taskId 任务id - * @param variables 流程变量 - */ - @Override - public void setVariablesLocal(String taskId, Map variables) { - taskService.setVariablesLocal(taskId, variables); - } - - /** - * 按照业务id查询流程实例id - * - * @param businessKey 业务id - * @return 结果 - */ - @Override - public String getInstanceIdByBusinessKey(String businessKey) { - ActHiProcinst actHiProcinst = actHiProcinstService.selectByBusinessKey(businessKey); - if (actHiProcinst == null) { - return StrUtil.EMPTY; - } - return actHiProcinst.getId(); - } -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/utils/ModelUtils.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/utils/ModelUtils.java deleted file mode 100644 index 7c5377e..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/utils/ModelUtils.java +++ /dev/null @@ -1,289 +0,0 @@ -package org.dromara.workflow.utils; - -import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.collection.CollectionUtil; -import cn.hutool.core.io.IoUtil; -import cn.hutool.core.util.ObjectUtil; -import cn.hutool.core.util.StrUtil; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.ObjectMapper; -import lombok.AccessLevel; -import lombok.NoArgsConstructor; -import org.dromara.common.core.utils.SpringUtils; -import org.dromara.common.core.utils.StreamUtils; -import org.dromara.common.core.utils.StringUtils; -import org.dromara.common.json.utils.JsonUtils; -import org.dromara.workflow.domain.vo.MultiInstanceVo; -import org.flowable.bpmn.converter.BpmnXMLConverter; -import org.flowable.bpmn.model.*; -import org.flowable.bpmn.model.Process; -import org.flowable.editor.language.json.converter.BpmnJsonConverter; -import org.flowable.engine.ProcessEngine; - -import javax.xml.stream.XMLInputFactory; -import javax.xml.stream.XMLStreamException; -import javax.xml.stream.XMLStreamReader; -import java.io.ByteArrayInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.rmi.ServerException; -import java.util.*; -import java.util.stream.Collectors; - -/** - * 模型工具 - * - * @author may - */ -@NoArgsConstructor(access = AccessLevel.PRIVATE) -public class ModelUtils { - - private static final ProcessEngine PROCESS_ENGINE = SpringUtils.getBean(ProcessEngine.class); - - public static BpmnModel xmlToBpmnModel(String xml) throws IOException { - if (xml == null) { - throw new ServerException("xml不能为空"); - } - try { - InputStream inputStream = new ByteArrayInputStream(StrUtil.utf8Bytes(xml)); - XMLInputFactory factory = XMLInputFactory.newInstance(); - XMLStreamReader reader = factory.createXMLStreamReader(inputStream); - return new BpmnXMLConverter().convertToBpmnModel(reader); - } catch (XMLStreamException e) { - throw new ServerException(e.getMessage()); - } - } - - /** - * bpmnModel转为xml - * - * @param jsonBytes json - */ - public static byte[] bpmnJsonToXmlBytes(byte[] jsonBytes) throws IOException { - if (jsonBytes == null) { - return new byte[0]; - } - // 1. json字节码转成 BpmnModel 对象 - ObjectMapper objectMapper = JsonUtils.getObjectMapper(); - JsonNode jsonNode = objectMapper.readTree(jsonBytes); - BpmnModel bpmnModel = new BpmnJsonConverter().convertToBpmnModel(jsonNode); - - if (bpmnModel.getProcesses().isEmpty()) { - return new byte[0]; - } - // 2.将bpmnModel转为xml - return new BpmnXMLConverter().convertToXML(bpmnModel); - } - - /** - * xml转为bpmnModel - * - * @param xmlBytes xml - */ - public static BpmnModel xmlToBpmnModel(byte[] xmlBytes) throws XMLStreamException { - ByteArrayInputStream byteArrayInputStream = IoUtil.toStream(xmlBytes); - XMLInputFactory xif = XMLInputFactory.newInstance(); - XMLStreamReader xtr = xif.createXMLStreamReader(byteArrayInputStream); - return new BpmnXMLConverter().convertToBpmnModel(xtr); - } - - /** - * 校验模型 - * - * @param bpmnModel bpmn模型 - */ - public static void checkBpmnModel(BpmnModel bpmnModel) throws ServerException { - Collection flowElements = bpmnModel.getMainProcess().getFlowElements(); - - checkBpmnNode(flowElements, false); - - List subProcessList = flowElements.stream().filter(SubProcess.class::isInstance).map(SubProcess.class::cast).collect(Collectors.toList()); - if (!CollUtil.isEmpty(subProcessList)) { - for (SubProcess subProcess : subProcessList) { - Collection subProcessFlowElements = subProcess.getFlowElements(); - checkBpmnNode(subProcessFlowElements, true); - } - } - List multiInstanceVoList = new ArrayList<>(); - for (FlowElement flowElement : flowElements) { - if (flowElement instanceof UserTask && ObjectUtil.isNotEmpty(((UserTask) flowElement).getLoopCharacteristics()) && StringUtils.isNotBlank(((UserTask) flowElement).getLoopCharacteristics().getInputDataItem())) { - MultiInstanceVo multiInstanceVo = new MultiInstanceVo(); - multiInstanceVo.setAssigneeList(((UserTask) flowElement).getLoopCharacteristics().getInputDataItem()); - multiInstanceVoList.add(multiInstanceVo); - } - } - - if (CollectionUtil.isNotEmpty(multiInstanceVoList) && multiInstanceVoList.size() > 1) { - Map> assigneeListGroup = StreamUtils.groupByKey(multiInstanceVoList, MultiInstanceVo::getAssigneeList); - for (Map.Entry> entry : assigneeListGroup.entrySet()) { - List value = entry.getValue(); - if (CollectionUtil.isNotEmpty(value) && value.size() > 1) { - String key = entry.getKey(); - throw new ServerException("会签人员集合【" + key + "】重复,请重新设置集合KEY"); - } - } - } - } - - /** - * 校验bpmn节点是否合法 - * - * @param flowElements 节点集合 - * @param subtask 是否子流程 - */ - private static void checkBpmnNode(Collection flowElements, boolean subtask) throws ServerException { - - if (CollUtil.isEmpty(flowElements)) { - throw new ServerException(subtask ? "子流程必须存在节点" : "必须存在节点!"); - } - - List startEventList = flowElements.stream().filter(StartEvent.class::isInstance).map(StartEvent.class::cast).collect(Collectors.toList()); - if (CollUtil.isEmpty(startEventList)) { - throw new ServerException(subtask ? "子流程必须存在开始节点" : "必须存在开始节点!"); - } - - if (startEventList.size() > 1) { - throw new ServerException(subtask ? "子流程只能存在一个开始节点" : "只能存在一个开始节点!"); - } - - StartEvent startEvent = startEventList.get(0); - List outgoingFlows = startEvent.getOutgoingFlows(); - if (CollUtil.isEmpty(outgoingFlows)) { - throw new ServerException(subtask ? "子流程流程节点为空,请至少设计一条主线流程!" : "流程节点为空,请至少设计一条主线流程!"); - } - - FlowElement targetFlowElement = outgoingFlows.get(0).getTargetFlowElement(); - if (!(targetFlowElement instanceof UserTask) && !subtask) { - throw new ServerException("开始节点后第一个节点必须是用户任务!"); - } - //开始节点后第一个节点申请人节点 - if ((targetFlowElement instanceof UserTask) && !subtask) { - UserTask userTask = (UserTask) targetFlowElement; - if (StringUtils.isBlank(userTask.getFormKey())) { - throw new ServerException("申请人节点必须选择表单!"); - } - } - List endEventList = flowElements.stream().filter(EndEvent.class::isInstance).map(EndEvent.class::cast).collect(Collectors.toList()); - if (CollUtil.isEmpty(endEventList)) { - throw new ServerException(subtask ? "子流程必须存在结束节点!" : "必须存在结束节点!"); - } - } - - /** - * 获取流程全部用户节点 - * - * @param processDefinitionId 流程定义id - */ - public static List getUserTaskFlowElements(String processDefinitionId) { - BpmnModel bpmnModel = PROCESS_ENGINE.getRepositoryService().getBpmnModel(processDefinitionId); - List list = new ArrayList<>(); - List processes = bpmnModel.getProcesses(); - Collection flowElements = processes.get(0).getFlowElements(); - buildUserTaskFlowElements(flowElements, list); - return list; - } - - /** - * 递归获取所有节点 - * - * @param flowElements 节点信息 - * @param list 集合 - */ - private static void buildUserTaskFlowElements(Collection flowElements, List list) { - for (FlowElement flowElement : flowElements) { - if (flowElement instanceof SubProcess) { - Collection subFlowElements = ((SubProcess) flowElement).getFlowElements(); - buildUserTaskFlowElements(subFlowElements, list); - } else if (flowElement instanceof UserTask) { - list.add((UserTask) flowElement); - } - } - } - - /** - * 获取流程全部节点 - * - * @param processDefinitionId 流程定义id - */ - public static List getFlowElements(String processDefinitionId) { - BpmnModel bpmnModel = PROCESS_ENGINE.getRepositoryService().getBpmnModel(processDefinitionId); - List list = new ArrayList<>(); - List processes = bpmnModel.getProcesses(); - Collection flowElements = processes.get(0).getFlowElements(); - buildFlowElements(flowElements, list); - return list; - } - - /** - * 递归获取所有节点 - * - * @param flowElements 节点信息 - * @param list 集合 - */ - private static void buildFlowElements(Collection flowElements, List list) { - for (FlowElement flowElement : flowElements) { - list.add(flowElement); - if (flowElement instanceof SubProcess) { - Collection subFlowElements = ((SubProcess) flowElement).getFlowElements(); - buildFlowElements(subFlowElements, list); - } - } - } - - /** - * 获取全部扩展信息 - * - * @param processDefinitionId 流程定义id - */ - public static Map> getExtensionElements(String processDefinitionId) { - Map> map = new HashMap<>(); - List flowElements = getFlowElements(processDefinitionId); - for (FlowElement flowElement : flowElements) { - if (flowElement instanceof UserTask && CollUtil.isNotEmpty(flowElement.getExtensionElements())) { - map.putAll(flowElement.getExtensionElements()); - } - } - return map; - } - - /** - * 获取某个节点的扩展信息 - * - * @param processDefinitionId 流程定义id - * @param flowElementId 节点id - */ - public static Map> getExtensionElement(String processDefinitionId, String flowElementId) { - BpmnModel bpmnModel = PROCESS_ENGINE.getRepositoryService().getBpmnModel(processDefinitionId); - Process process = bpmnModel.getMainProcess(); - FlowElement flowElement = process.getFlowElement(flowElementId); - return flowElement.getExtensionElements(); - } - - /** - * 判断当前节点是否为用户任务 - * - * @param processDefinitionId 流程定义id - * @param taskDefinitionKey 流程定义id - */ - public static boolean isUserTask(String processDefinitionId, String taskDefinitionKey) { - BpmnModel bpmnModel = PROCESS_ENGINE.getRepositoryService().getBpmnModel(processDefinitionId); - FlowNode flowNode = (FlowNode) bpmnModel.getFlowElement(taskDefinitionKey); - return flowNode instanceof UserTask; - } - - /** - * 获取申请人节点 - * - * @param processDefinitionId 流程定义id - * @return 结果 - */ - public static UserTask getApplyUserTask(String processDefinitionId) { - BpmnModel bpmnModel = PROCESS_ENGINE.getRepositoryService().getBpmnModel(processDefinitionId); - Collection flowElements = bpmnModel.getMainProcess().getFlowElements(); - List startEventList = flowElements.stream().filter(StartEvent.class::isInstance).map(StartEvent.class::cast).collect(Collectors.toList()); - StartEvent startEvent = startEventList.get(0); - List outgoingFlows = startEvent.getOutgoingFlows(); - FlowElement targetFlowElement = outgoingFlows.get(0).getTargetFlowElement(); - return (UserTask) targetFlowElement; - } -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/utils/QueryUtils.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/utils/QueryUtils.java deleted file mode 100644 index df928dc..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/utils/QueryUtils.java +++ /dev/null @@ -1,169 +0,0 @@ -package org.dromara.workflow.utils; - -import cn.hutool.core.bean.BeanUtil; -import lombok.AccessLevel; -import lombok.NoArgsConstructor; -import org.dromara.common.core.utils.SpringUtils; -import org.dromara.common.tenant.helper.TenantHelper; -import org.dromara.workflow.domain.vo.TaskVo; -import org.flowable.engine.ProcessEngine; -import org.flowable.engine.history.HistoricActivityInstanceQuery; -import org.flowable.engine.history.HistoricProcessInstanceQuery; -import org.flowable.engine.repository.DeploymentQuery; -import org.flowable.engine.repository.ModelQuery; -import org.flowable.engine.repository.ProcessDefinitionQuery; -import org.flowable.engine.runtime.ProcessInstance; -import org.flowable.engine.runtime.ProcessInstanceQuery; -import org.flowable.task.api.Task; -import org.flowable.task.api.TaskQuery; -import org.flowable.task.api.history.HistoricTaskInstanceQuery; - -import java.util.Collection; -import java.util.List; -import java.util.Set; - -/** - * 查询工具 - * - * @author Lion Li - */ -@NoArgsConstructor(access = AccessLevel.PRIVATE) -public class QueryUtils { - - private static final ProcessEngine PROCESS_ENGINE = SpringUtils.getBean(ProcessEngine.class); - - public static ModelQuery modelQuery() { - ModelQuery query = PROCESS_ENGINE.getRepositoryService().createModelQuery(); - if (TenantHelper.isEnable()) { - query.modelTenantId(TenantHelper.getTenantId()); - } - return query; - } - - public static ProcessDefinitionQuery definitionQuery() { - ProcessDefinitionQuery query = PROCESS_ENGINE.getRepositoryService().createProcessDefinitionQuery(); - if (TenantHelper.isEnable()) { - query.processDefinitionTenantId(TenantHelper.getTenantId()); - } - return query; - } - - public static DeploymentQuery deploymentQuery() { - DeploymentQuery query = PROCESS_ENGINE.getRepositoryService().createDeploymentQuery(); - if (TenantHelper.isEnable()) { - query.deploymentTenantId(TenantHelper.getTenantId()); - } - return query; - } - - public static DeploymentQuery deploymentQuery(String deploymentId) { - return deploymentQuery().deploymentId(deploymentId); - } - - public static DeploymentQuery deploymentQuery(List deploymentIds) { - return deploymentQuery().deploymentIds(deploymentIds); - } - - public static HistoricTaskInstanceQuery hisTaskInstanceQuery() { - HistoricTaskInstanceQuery query = PROCESS_ENGINE.getHistoryService().createHistoricTaskInstanceQuery(); - if (TenantHelper.isEnable()) { - query.taskTenantId(TenantHelper.getTenantId()); - } - return query; - } - - public static HistoricTaskInstanceQuery hisTaskInstanceQuery(String processInstanceId) { - return hisTaskInstanceQuery().processInstanceId(processInstanceId); - } - - public static HistoricTaskInstanceQuery hisTaskBusinessKeyQuery(String businessKey) { - return hisTaskInstanceQuery().processInstanceBusinessKey(businessKey); - } - - public static ProcessInstanceQuery instanceQuery() { - ProcessInstanceQuery query = PROCESS_ENGINE.getRuntimeService().createProcessInstanceQuery(); - if (TenantHelper.isEnable()) { - query.processInstanceTenantId(TenantHelper.getTenantId()); - } - return query; - } - - public static ProcessInstanceQuery instanceQuery(String processInstanceId) { - return instanceQuery().processInstanceId(processInstanceId); - } - - public static ProcessInstanceQuery businessKeyQuery(String businessKey) { - return instanceQuery().processInstanceBusinessKey(businessKey); - } - - public static ProcessInstanceQuery instanceQuery(Set processInstanceIds) { - return instanceQuery().processInstanceIds(processInstanceIds); - } - - public static HistoricProcessInstanceQuery hisInstanceQuery() { - HistoricProcessInstanceQuery query = PROCESS_ENGINE.getHistoryService().createHistoricProcessInstanceQuery(); - if (TenantHelper.isEnable()) { - query.processInstanceTenantId(TenantHelper.getTenantId()); - } - return query; - } - - public static HistoricProcessInstanceQuery hisInstanceQuery(String processInstanceId) { - return hisInstanceQuery().processInstanceId(processInstanceId); - } - - public static HistoricProcessInstanceQuery hisBusinessKeyQuery(String businessKey) { - return hisInstanceQuery().processInstanceBusinessKey(businessKey); - } - - public static HistoricProcessInstanceQuery hisInstanceQuery(Set processInstanceIds) { - return hisInstanceQuery().processInstanceIds(processInstanceIds); - } - - public static HistoricActivityInstanceQuery hisActivityInstanceQuery() { - HistoricActivityInstanceQuery query = PROCESS_ENGINE.getHistoryService().createHistoricActivityInstanceQuery(); - if (TenantHelper.isEnable()) { - query.activityTenantId(TenantHelper.getTenantId()); - } - return query; - } - - public static HistoricActivityInstanceQuery hisActivityInstanceQuery(String processInstanceId) { - return hisActivityInstanceQuery().processInstanceId(processInstanceId); - } - - public static TaskQuery taskQuery() { - TaskQuery query = PROCESS_ENGINE.getTaskService().createTaskQuery(); - if (TenantHelper.isEnable()) { - query.taskTenantId(TenantHelper.getTenantId()); - } - return query; - } - - public static TaskQuery taskQuery(String processInstanceId) { - return taskQuery().processInstanceId(processInstanceId); - } - - public static TaskQuery taskQuery(Collection processInstanceIds) { - return taskQuery().processInstanceIdIn(processInstanceIds); - } - - /** - * 按照任务id查询当前任务 - * - * @param taskId 任务id - */ - public static TaskVo getTask(String taskId) { - Task task = PROCESS_ENGINE.getTaskService().createTaskQuery().taskId(taskId).singleResult(); - if (task == null) { - return null; - } - ProcessInstance processInstance = QueryUtils.instanceQuery(task.getProcessInstanceId()).singleResult(); - TaskVo taskVo = BeanUtil.toBean(task, TaskVo.class); - taskVo.setBusinessKey(processInstance.getBusinessKey()); - taskVo.setMultiInstance(WorkflowUtils.isMultiInstance(task.getProcessDefinitionId(), task.getTaskDefinitionKey()) != null); - String businessStatus = WorkflowUtils.getBusinessStatus(taskVo.getBusinessKey()); - taskVo.setBusinessStatus(businessStatus); - return taskVo; - } -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/utils/WorkflowUtils.java b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/utils/WorkflowUtils.java deleted file mode 100644 index d7c4472..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/utils/WorkflowUtils.java +++ /dev/null @@ -1,295 +0,0 @@ -package org.dromara.workflow.utils; - -import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.util.ObjectUtil; -import cn.hutool.core.util.StrUtil; -import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; -import lombok.AccessLevel; -import lombok.NoArgsConstructor; -import org.dromara.common.core.domain.dto.RoleDTO; -import org.dromara.common.core.domain.dto.UserDTO; -import org.dromara.common.core.service.UserService; -import org.dromara.common.core.utils.SpringUtils; -import org.dromara.common.core.utils.StreamUtils; -import org.dromara.common.core.utils.StringUtils; -import org.dromara.common.mail.utils.MailUtils; -import org.dromara.common.satoken.utils.LoginHelper; -import org.dromara.common.tenant.helper.TenantHelper; -import org.dromara.common.websocket.dto.WebSocketMessageDto; -import org.dromara.common.websocket.utils.WebSocketUtils; -import org.dromara.workflow.common.constant.FlowConstant; -import org.dromara.workflow.common.enums.MessageTypeEnum; -import org.dromara.workflow.common.enums.TaskStatusEnum; -import org.dromara.workflow.domain.ActHiTaskinst; -import org.dromara.workflow.domain.vo.MultiInstanceVo; -import org.dromara.workflow.domain.vo.ParticipantVo; -import org.dromara.workflow.flowable.cmd.UpdateHiTaskInstCmd; -import org.dromara.workflow.mapper.ActHiTaskinstMapper; -import org.flowable.bpmn.model.BpmnModel; -import org.flowable.bpmn.model.FlowNode; -import org.flowable.common.engine.api.delegate.Expression; -import org.flowable.engine.ProcessEngine; -import org.flowable.engine.history.HistoricProcessInstance; -import org.flowable.engine.impl.bpmn.behavior.ParallelMultiInstanceBehavior; -import org.flowable.engine.impl.bpmn.behavior.SequentialMultiInstanceBehavior; -import org.flowable.identitylink.api.history.HistoricIdentityLink; -import org.flowable.task.api.Task; -import org.flowable.task.api.TaskQuery; -import org.flowable.task.api.history.HistoricTaskInstance; -import org.flowable.task.service.impl.persistence.entity.TaskEntity; - -import java.util.*; - -/** - * 工作流工具 - * - * @author may - */ -@NoArgsConstructor(access = AccessLevel.PRIVATE) -public class WorkflowUtils { - - private static final ProcessEngine PROCESS_ENGINE = SpringUtils.getBean(ProcessEngine.class); - private static final ActHiTaskinstMapper ACT_HI_TASKINST_MAPPER = SpringUtils.getBean(ActHiTaskinstMapper.class); - - /** - * 创建一个新任务 - * - * @param currentTask 参数 - */ - public static TaskEntity createNewTask(Task currentTask) { - TaskEntity task = null; - if (ObjectUtil.isNotEmpty(currentTask)) { - task = (TaskEntity) PROCESS_ENGINE.getTaskService().newTask(); - task.setCategory(currentTask.getCategory()); - task.setDescription(currentTask.getDescription()); - task.setAssignee(currentTask.getAssignee()); - task.setName(currentTask.getName()); - task.setProcessDefinitionId(currentTask.getProcessDefinitionId()); - task.setProcessInstanceId(currentTask.getProcessInstanceId()); - task.setTaskDefinitionKey(currentTask.getTaskDefinitionKey()); - task.setPriority(currentTask.getPriority()); - task.setCreateTime(new Date()); - task.setTenantId(TenantHelper.getTenantId()); - PROCESS_ENGINE.getTaskService().saveTask(task); - } - if (ObjectUtil.isNotNull(task)) { - UpdateHiTaskInstCmd updateHiTaskInstCmd = new UpdateHiTaskInstCmd(Collections.singletonList(task.getId()), task.getProcessDefinitionId(), task.getProcessInstanceId()); - PROCESS_ENGINE.getManagementService().executeCommand(updateHiTaskInstCmd); - } - return task; - } - - /** - * 抄送任务 - * - * @param parentTaskList 父级任务 - * @param userIds 人员id - */ - public static void createCopyTask(List parentTaskList, List userIds) { - List list = new ArrayList<>(); - String tenantId = TenantHelper.getTenantId(); - for (Task parentTask : parentTaskList) { - for (Long userId : userIds) { - TaskEntity newTask = (TaskEntity) PROCESS_ENGINE.getTaskService().newTask(); - newTask.setParentTaskId(parentTask.getId()); - newTask.setAssignee(userId.toString()); - newTask.setName("【抄送】-" + parentTask.getName()); - newTask.setProcessDefinitionId(parentTask.getProcessDefinitionId()); - newTask.setProcessInstanceId(parentTask.getProcessInstanceId()); - newTask.setTaskDefinitionKey(parentTask.getTaskDefinitionKey()); - newTask.setTenantId(tenantId); - list.add(newTask); - } - } - PROCESS_ENGINE.getTaskService().bulkSaveTasks(list); - if (CollUtil.isNotEmpty(list) && CollUtil.isNotEmpty(parentTaskList)) { - String processInstanceId = parentTaskList.get(0).getProcessInstanceId(); - String processDefinitionId = parentTaskList.get(0).getProcessDefinitionId(); - List taskIds = StreamUtils.toList(list, Task::getId); - ActHiTaskinst actHiTaskinst = new ActHiTaskinst(); - actHiTaskinst.setProcDefId(processDefinitionId); - actHiTaskinst.setProcInstId(processInstanceId); - actHiTaskinst.setScopeType(TaskStatusEnum.COPY.getStatus()); - actHiTaskinst.setTenantId(tenantId); - LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); - updateWrapper.in(ActHiTaskinst::getId, taskIds); - ACT_HI_TASKINST_MAPPER.update(actHiTaskinst, updateWrapper); - for (Task task : list) { - PROCESS_ENGINE.getTaskService().addComment(task.getId(), task.getProcessInstanceId(), TaskStatusEnum.COPY.getStatus(), StrUtil.EMPTY); - } - } - } - - /** - * 获取当前任务参与者 - * - * @param taskId 任务id - */ - public static ParticipantVo getCurrentTaskParticipant(String taskId, UserService userService) { - ParticipantVo participantVo = new ParticipantVo(); - List linksForTask = PROCESS_ENGINE.getHistoryService().getHistoricIdentityLinksForTask(taskId); - Task task = QueryUtils.taskQuery().taskId(taskId).singleResult(); - if (task != null && CollUtil.isNotEmpty(linksForTask)) { - List groupList = StreamUtils.filter(linksForTask, e -> StringUtils.isNotBlank(e.getGroupId())); - if (CollUtil.isNotEmpty(groupList)) { - List groupIds = StreamUtils.toList(groupList, e -> Long.valueOf(e.getGroupId())); - List userIds = userService.selectUserIdsByRoleIds(groupIds); - if (CollUtil.isNotEmpty(userIds)) { - participantVo.setGroupIds(groupIds); - List userList = userService.selectListByIds(userIds); - if (CollUtil.isNotEmpty(userList)) { - List userIdList = StreamUtils.toList(userList, UserDTO::getUserId); - List nickNames = StreamUtils.toList(userList, UserDTO::getNickName); - participantVo.setCandidate(userIdList); - participantVo.setCandidateName(nickNames); - participantVo.setClaim(!StringUtils.isBlank(task.getAssignee())); - } - } - } else { - List candidateList = StreamUtils.filter(linksForTask, e -> FlowConstant.CANDIDATE.equals(e.getType())); - List userIdList = new ArrayList<>(); - for (HistoricIdentityLink historicIdentityLink : linksForTask) { - try { - userIdList.add(Long.valueOf(historicIdentityLink.getUserId())); - } catch (NumberFormatException ignored) { - - } - } - List userList = userService.selectListByIds(userIdList); - if (CollUtil.isNotEmpty(userList)) { - List userIds = StreamUtils.toList(userList, UserDTO::getUserId); - List nickNames = StreamUtils.toList(userList, UserDTO::getNickName); - participantVo.setCandidate(userIds); - participantVo.setCandidateName(nickNames); - // 判断当前任务是否具有多个办理人 - if (CollUtil.isNotEmpty(candidateList) && candidateList.size() > 1) { - // 如果 assignee 存在,则设置当前任务已经被认领 - participantVo.setClaim(StringUtils.isNotBlank(task.getAssignee())); - } - } - } - } - return participantVo; - } - - /** - * 判断当前节点是否为会签节点 - * - * @param processDefinitionId 流程定义id - * @param taskDefinitionKey 流程定义id - */ - public static MultiInstanceVo isMultiInstance(String processDefinitionId, String taskDefinitionKey) { - BpmnModel bpmnModel = PROCESS_ENGINE.getRepositoryService().getBpmnModel(processDefinitionId); - FlowNode flowNode = (FlowNode) bpmnModel.getFlowElement(taskDefinitionKey); - MultiInstanceVo multiInstanceVo = new MultiInstanceVo(); - //判断是否为并行会签节点 - if (flowNode.getBehavior() instanceof ParallelMultiInstanceBehavior behavior && behavior.getCollectionExpression() != null) { - Expression collectionExpression = behavior.getCollectionExpression(); - String assigneeList = collectionExpression.getExpressionText(); - String assignee = behavior.getCollectionElementVariable(); - multiInstanceVo.setType(behavior); - multiInstanceVo.setAssignee(assignee); - multiInstanceVo.setAssigneeList(assigneeList); - return multiInstanceVo; - //判断是否为串行会签节点 - } else if (flowNode.getBehavior() instanceof SequentialMultiInstanceBehavior behavior && behavior.getCollectionExpression() != null) { - Expression collectionExpression = behavior.getCollectionExpression(); - String assigneeList = collectionExpression.getExpressionText(); - String assignee = behavior.getCollectionElementVariable(); - multiInstanceVo.setType(behavior); - multiInstanceVo.setAssignee(assignee); - multiInstanceVo.setAssigneeList(assigneeList); - return multiInstanceVo; - } - return null; - } - - /** - * 获取当前流程状态 - * - * @param taskId 任务id - */ - public static String getBusinessStatusByTaskId(String taskId) { - HistoricTaskInstance historicTaskInstance = QueryUtils.hisTaskInstanceQuery().taskId(taskId).singleResult(); - HistoricProcessInstance historicProcessInstance = QueryUtils.hisInstanceQuery(historicTaskInstance.getProcessInstanceId()).singleResult(); - return historicProcessInstance.getBusinessStatus(); - } - - /** - * 获取当前流程状态 - * - * @param businessKey 业务id - */ - public static String getBusinessStatus(String businessKey) { - HistoricProcessInstance historicProcessInstance = QueryUtils.hisBusinessKeyQuery(businessKey).singleResult(); - return historicProcessInstance.getBusinessStatus(); - } - - /** - * 发送消息 - * - * @param list 任务 - * @param name 流程名称 - * @param messageType 消息类型 - * @param message 消息内容,为空则发送默认配置的消息内容 - */ - public static void sendMessage(List list, String name, List messageType, String message, UserService userService) { - Set userIds = new HashSet<>(); - if (StringUtils.isBlank(message)) { - message = "有新的【" + name + "】单据已经提交至您的待办,请您及时处理。"; - } - for (Task t : list) { - ParticipantVo taskParticipant = WorkflowUtils.getCurrentTaskParticipant(t.getId(), userService); - if (CollUtil.isNotEmpty(taskParticipant.getGroupIds())) { - List userIdList = userService.selectUserIdsByRoleIds(taskParticipant.getGroupIds()); - if (CollUtil.isNotEmpty(userIdList)) { - userIds.addAll(userIdList); - } - } - List candidate = taskParticipant.getCandidate(); - if (CollUtil.isNotEmpty(candidate)) { - userIds.addAll(candidate); - } - } - if (CollUtil.isNotEmpty(userIds)) { - List userList = userService.selectListByIds(new ArrayList<>(userIds)); - for (String code : messageType) { - MessageTypeEnum messageTypeEnum = MessageTypeEnum.getByCode(code); - if (ObjectUtil.isNotEmpty(messageTypeEnum)) { - switch (messageTypeEnum) { - case SYSTEM_MESSAGE: - WebSocketMessageDto dto = new WebSocketMessageDto(); - dto.setSessionKeys(new ArrayList<>(userIds)); - dto.setMessage(message); - WebSocketUtils.publishMessage(dto); - break; - case EMAIL_MESSAGE: - MailUtils.sendText(StreamUtils.join(userList, UserDTO::getEmail), "单据审批提醒", message); - break; - case SMS_MESSAGE: - //todo 短信发送 - break; - } - } - } - } - } - - /** - * 根据任务id查询 当前用户的任务,检查 当前人员 是否是该 taskId 的办理人 - * - * @param taskId 任务id - * @return 结果 - */ - public static Task getTaskByCurrentUser(String taskId) { - TaskQuery taskQuery = QueryUtils.taskQuery(); - taskQuery.taskId(taskId).taskCandidateOrAssigned(String.valueOf(LoginHelper.getUserId())); - - List roles = LoginHelper.getLoginUser().getRoles(); - if (CollUtil.isNotEmpty(roles)) { - List groupIds = StreamUtils.toList(roles, e -> String.valueOf(e.getRoleId())); - taskQuery.taskCandidateGroupIn(groupIds); - } - return taskQuery.singleResult(); - } -} diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/resources/mapper/package-info.md b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/resources/mapper/package-info.md deleted file mode 100644 index c938b1e..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/resources/mapper/package-info.md +++ /dev/null @@ -1,3 +0,0 @@ -java包使用 `.` 分割 resource 目录使用 `/` 分割 -
-此文件目的 防止文件夹粘连找不到 `xml` 文件 \ No newline at end of file diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/resources/mapper/workflow/ActHiProcinstMapper.xml b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/resources/mapper/workflow/ActHiProcinstMapper.xml deleted file mode 100644 index dd05785..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/resources/mapper/workflow/ActHiProcinstMapper.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/resources/mapper/workflow/ActHiTaskinstMapper.xml b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/resources/mapper/workflow/ActHiTaskinstMapper.xml deleted file mode 100644 index 7e73b60..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/resources/mapper/workflow/ActHiTaskinstMapper.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/resources/mapper/workflow/ActTaskMapper.xml b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/resources/mapper/workflow/ActTaskMapper.xml deleted file mode 100644 index 3641900..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/resources/mapper/workflow/ActTaskMapper.xml +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/resources/mapper/workflow/TestLeaveMapper.xml b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/resources/mapper/workflow/TestLeaveMapper.xml deleted file mode 100644 index d52f6b0..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/resources/mapper/workflow/TestLeaveMapper.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/resources/mapper/workflow/WfCategoryMapper.xml b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/resources/mapper/workflow/WfCategoryMapper.xml deleted file mode 100644 index 4375cb2..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/resources/mapper/workflow/WfCategoryMapper.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/resources/mapper/workflow/WfDefinitionConfigMapper.xml b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/resources/mapper/workflow/WfDefinitionConfigMapper.xml deleted file mode 100644 index 8d579f7..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/resources/mapper/workflow/WfDefinitionConfigMapper.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/resources/mapper/workflow/WfFormManageMapper.xml b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/resources/mapper/workflow/WfFormManageMapper.xml deleted file mode 100644 index 59221f8..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/resources/mapper/workflow/WfFormManageMapper.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/resources/mapper/workflow/WfNodeConfigMapper.xml b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/resources/mapper/workflow/WfNodeConfigMapper.xml deleted file mode 100644 index b65194f..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/resources/mapper/workflow/WfNodeConfigMapper.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/resources/mapper/workflow/WfTaskBackNodeMapper.xml b/im-admin/ruoyi-modules/ruoyi-workflow/src/main/resources/mapper/workflow/WfTaskBackNodeMapper.xml deleted file mode 100644 index 4a9179b..0000000 --- a/im-admin/ruoyi-modules/ruoyi-workflow/src/main/resources/mapper/workflow/WfTaskBackNodeMapper.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/im-admin/script/bin/ry.bat b/im-admin/script/bin/ry.bat deleted file mode 100644 index ea98cbe..0000000 --- a/im-admin/script/bin/ry.bat +++ /dev/null @@ -1,68 +0,0 @@ -rem 使用者应根据自身平台编码自行转换 防止乱码 例如 win使用gbk编码 -@echo off - -rem jar平级目录 -set AppName=ruoyi-admin.jar - -rem JVM参数 -set JVM_OPTS="-Dname=%AppName% -Duser.timezone=Asia/Shanghai -Xms512m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError -XX:+UseZGC" - - -ECHO. - ECHO. [1] 启动%AppName% - ECHO. [2] 关闭%AppName% - ECHO. [3] 重启%AppName% - ECHO. [4] 启动状态 %AppName% - ECHO. [5] 退 出 -ECHO. - -ECHO.请输入选择项目的序号: -set /p ID= - IF "%id%"=="1" GOTO start - IF "%id%"=="2" GOTO stop - IF "%id%"=="3" GOTO restart - IF "%id%"=="4" GOTO status - IF "%id%"=="5" EXIT -PAUSE -:start - for /f "usebackq tokens=1-2" %%a in (`jps -l ^| findstr %AppName%`) do ( - set pid=%%a - set image_name=%%b - ) - if defined pid ( - echo %%is running - PAUSE - ) - -start javaw %JVM_OPTS% -jar %AppName% - -echo starting…… -echo Start %AppName% success... -goto:eof - -rem 函数stop通过jps命令查找pid并结束进程 -:stop - for /f "usebackq tokens=1-2" %%a in (`jps -l ^| findstr %AppName%`) do ( - set pid=%%a - set image_name=%%b - ) - if not defined pid (echo process %AppName% does not exists) else ( - echo prepare to kill %image_name% - echo start kill %pid% ... - rem 根据进程ID,kill进程 - taskkill /f /pid %pid% - ) -goto:eof -:restart - call :stop - call :start -goto:eof -:status - for /f "usebackq tokens=1-2" %%a in (`jps -l ^| findstr %AppName%`) do ( - set pid=%%a - set image_name=%%b - ) - if not defined pid (echo process %AppName% is dead ) else ( - echo %image_name% is running - ) -goto:eof diff --git a/im-admin/script/bin/ry.sh b/im-admin/script/bin/ry.sh deleted file mode 100644 index a6f5d9c..0000000 --- a/im-admin/script/bin/ry.sh +++ /dev/null @@ -1,86 +0,0 @@ -#!/bin/sh -# ./ry.sh start 启动 stop 停止 restart 重启 status 状态 -AppName=ruoyi-admin.jar - -# JVM参数 -JVM_OPTS="-Dname=$AppName -Duser.timezone=Asia/Shanghai -Xms512m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError -XX:+UseZGC" -APP_HOME=`pwd` -LOG_PATH=$APP_HOME/logs/$AppName.log - -if [ "$1" = "" ]; -then - echo -e "\033[0;31m 未输入操作名 \033[0m \033[0;34m {start|stop|restart|status} \033[0m" - exit 1 -fi - -if [ "$AppName" = "" ]; -then - echo -e "\033[0;31m 未输入应用名 \033[0m" - exit 1 -fi - -function start() -{ - PID=`ps -ef |grep java|grep $AppName|grep -v grep|awk '{print $2}'` - - if [ x"$PID" != x"" ]; then - echo "$AppName is running..." - else - nohup java $JVM_OPTS -jar $AppName > /dev/null 2>&1 & - echo "Start $AppName success..." - fi -} - -function stop() -{ - echo "Stop $AppName" - - PID="" - query(){ - PID=`ps -ef |grep java|grep $AppName|grep -v grep|awk '{print $2}'` - } - - query - if [ x"$PID" != x"" ]; then - kill -TERM $PID - echo "$AppName (pid:$PID) exiting..." - while [ x"$PID" != x"" ] - do - sleep 1 - query - done - echo "$AppName exited." - else - echo "$AppName already stopped." - fi -} - -function restart() -{ - stop - sleep 2 - start -} - -function status() -{ - PID=`ps -ef |grep java|grep $AppName|grep -v grep|wc -l` - if [ $PID != 0 ];then - echo "$AppName is running..." - else - echo "$AppName is not running..." - fi -} - -case $1 in - start) - start;; - stop) - stop;; - restart) - restart;; - status) - status;; - *) - -esac diff --git a/im-admin/script/bpmn/模型.zip b/im-admin/script/bpmn/模型.zip deleted file mode 100644 index 6f30952..0000000 Binary files a/im-admin/script/bpmn/模型.zip and /dev/null differ diff --git a/im-admin/script/docker/database.yml b/im-admin/script/docker/database.yml deleted file mode 100644 index 0368fd2..0000000 --- a/im-admin/script/docker/database.yml +++ /dev/null @@ -1,61 +0,0 @@ -version: '3' - -services: - # 此镜像仅用于测试 正式环境需自行安装数据库 - # SID: XE user: system password: oracle - oracle: - image: tekintian/oracle12c:latest - container_name: oracle - environment: - # 时区上海 - TZ: Asia/Shanghai - DBCA_TOTAL_MEMORY: 16192 - ports: - - "18080:8080" - - "1521:1521" - volumes: - # 数据挂载 - - "/docker/oracle/data:/u01/app/oracle" - network_mode: "host" - - # 此镜像仅用于测试 正式环境需自行安装数据库 - sqlserver: - image: mcr.microsoft.com/mssql/server:2017-latest - container_name: sqlserver - environment: - # 时区上海 - TZ: Asia/Shanghai - ACCEPT_EULA: "Y" - SA_PASSWORD: "Ruoyi@123" - ports: - - "1433:1433" - volumes: - # 数据挂载 - - "/docker/sqlserver/data:/var/opt/mssql" - network_mode: "host" - - postgres: - image: postgres:14.2 - container_name: postgres - environment: - POSTGRES_USER: root - POSTGRES_PASSWORD: root - POSTGRES_DB: postgres - ports: - - "5432:5432" - volumes: - - /docker/postgres/data:/var/lib/postgresql/data - network_mode: "host" - - postgres13: - image: postgres:13.6 - container_name: postgres13 - environment: - POSTGRES_USER: root - POSTGRES_PASSWORD: root - POSTGRES_DB: postgres - ports: - - "5433:5432" - volumes: - - /docker/postgres13/data:/var/lib/postgresql/data - network_mode: "host" diff --git a/im-admin/script/docker/docker-compose.yml b/im-admin/script/docker/docker-compose.yml deleted file mode 100644 index 0839e74..0000000 --- a/im-admin/script/docker/docker-compose.yml +++ /dev/null @@ -1,156 +0,0 @@ -version: '3' - -services: - mysql: - image: mysql:8.0.33 - container_name: mysql - environment: - # 时区上海 - TZ: Asia/Shanghai - # root 密码 - MYSQL_ROOT_PASSWORD: root - # 初始化数据库(后续的初始化sql会在这个库执行) - MYSQL_DATABASE: ry-vue - ports: - - "3306:3306" - volumes: - # 数据挂载 - - /docker/mysql/data/:/var/lib/mysql/ - # 配置挂载 - - /docker/mysql/conf/:/etc/mysql/conf.d/ - command: - # 将mysql8.0默认密码策略 修改为 原先 策略 (mysql8.0对其默认策略做了更改 会导致密码无法匹配) - --default-authentication-plugin=mysql_native_password - --character-set-server=utf8mb4 - --collation-server=utf8mb4_general_ci - --explicit_defaults_for_timestamp=true - --lower_case_table_names=1 - privileged: true - network_mode: "host" - - nginx-web: - image: nginx:1.23.4 - container_name: nginx-web - environment: - # 时区上海 - TZ: Asia/Shanghai - ports: - - "80:80" - - "443:443" - volumes: - # 证书映射 - - /docker/nginx/cert:/etc/nginx/cert - # 配置文件映射 - - /docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf - # 页面目录 - - /docker/nginx/html:/usr/share/nginx/html - # 日志目录 - - /docker/nginx/log:/var/log/nginx - privileged: true - network_mode: "host" - - redis: - image: redis:6.2.12 - container_name: redis - ports: - - "6379:6379" - environment: - # 时区上海 - TZ: Asia/Shanghai - volumes: - # 配置文件 - - /docker/redis/conf:/redis/config:rw - # 数据文件 - - /docker/redis/data/:/redis/data/:rw - command: "redis-server /redis/config/redis.conf" - privileged: true - network_mode: "host" - - minio: - image: minio/minio:RELEASE.2023-04-13T03-08-07Z - container_name: minio - ports: - # api 端口 - - "9000:9000" - # 控制台端口 - - "9001:9001" - environment: - # 时区上海 - TZ: Asia/Shanghai - # 管理后台用户名 - MINIO_ROOT_USER: ruoyi - # 管理后台密码,最小8个字符 - MINIO_ROOT_PASSWORD: ruoyi123 - # https需要指定域名 - #MINIO_SERVER_URL: "https://xxx.com:9000" - #MINIO_BROWSER_REDIRECT_URL: "https://xxx.com:9001" - # 开启压缩 on 开启 off 关闭 - MINIO_COMPRESS: "off" - # 扩展名 .pdf,.doc 为空 所有类型均压缩 - MINIO_COMPRESS_EXTENSIONS: "" - # mime 类型 application/pdf 为空 所有类型均压缩 - MINIO_COMPRESS_MIME_TYPES: "" - volumes: - # 映射当前目录下的data目录至容器内/data目录 - - /docker/minio/data:/data - # 映射配置目录 - - /docker/minio/config:/root/.minio/ - command: server --address ':9000' --console-address ':9001' /data # 指定容器中的目录 /data - privileged: true - network_mode: "host" - - ruoyi-server1: - image: ruoyi/ruoyi-server:5.2.3 - container_name: ruoyi-server1 - environment: - # 时区上海 - TZ: Asia/Shanghai - SERVER_PORT: 8080 - volumes: - # 配置文件 - - /docker/server1/logs/:/ruoyi/server/logs/ - # skywalking 探针 -# - /docker/skywalking/agent/:/ruoyi/skywalking/agent - privileged: true - network_mode: "host" - - ruoyi-server2: - image: ruoyi/ruoyi-server:5.2.3 - container_name: ruoyi-server2 - environment: - # 时区上海 - TZ: Asia/Shanghai - SERVER_PORT: 8081 - volumes: - # 配置文件 - - /docker/server2/logs/:/ruoyi/server/logs/ - # skywalking 探针 -# - /docker/skywalking/agent/:/ruoyi/skywalking/agent - privileged: true - network_mode: "host" - - ruoyi-monitor-admin: - image: ruoyi/ruoyi-monitor-admin:5.2.3 - container_name: ruoyi-monitor-admin - environment: - # 时区上海 - TZ: Asia/Shanghai - volumes: - # 配置文件 - - /docker/monitor/logs/:/ruoyi/monitor/logs - privileged: true - network_mode: "host" - - ruoyi-snailjob-server: - image: ruoyi/ruoyi-snailjob-server:5.2.3 - container_name: ruoyi-snailjob-server - environment: - # 时区上海 - TZ: Asia/Shanghai - ports: - - "8800:8800" - - "17888:17888" - volumes: - - /docker/snailjob/logs/:/ruoyi/snailjob/logs - privileged: true - network_mode: "host" diff --git a/im-admin/script/docker/nginx/conf/nginx.conf b/im-admin/script/docker/nginx/conf/nginx.conf deleted file mode 100644 index 3c79d97..0000000 --- a/im-admin/script/docker/nginx/conf/nginx.conf +++ /dev/null @@ -1,115 +0,0 @@ -worker_processes 1; - -error_log /var/log/nginx/error.log warn; -pid /var/run/nginx.pid; - -events { - worker_connections 1024; -} - -http { - include mime.types; - default_type application/octet-stream; - sendfile on; - keepalive_timeout 65; - # 限制body大小 - client_max_body_size 100m; - - log_format main '$remote_addr - $remote_user [$time_local] "$request" ' - '$status $body_bytes_sent "$http_referer" ' - '"$http_user_agent" "$http_x_forwarded_for"'; - - access_log /var/log/nginx/access.log main; - - upstream server { - ip_hash; - server 127.0.0.1:8080; - server 127.0.0.1:8081; - } - - upstream monitor-admin { - server 127.0.0.1:9090; - } - - upstream snailjob-server { - server 127.0.0.1:8800; - } - - server { - listen 80; - server_name localhost; - - # https配置参考 start - #listen 443 ssl; - - # 证书直接存放 /docker/nginx/cert/ 目录下即可 更改证书名称即可 无需更改证书路径 - #ssl on; - #ssl_certificate /etc/nginx/cert/xxx.local.crt; # /etc/nginx/cert/ 为docker映射路径 不允许更改 - #ssl_certificate_key /etc/nginx/cert/xxx.local.key; # /etc/nginx/cert/ 为docker映射路径 不允许更改 - #ssl_session_timeout 5m; - #ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; - #ssl_protocols TLSv1 TLSv1.1 TLSv1.2; - #ssl_prefer_server_ciphers on; - # https配置参考 end - - # 演示环境配置 拦截除 GET POST 之外的所有请求 - # if ($request_method !~* GET|POST) { - # rewrite ^/(.*)$ /403; - # } - - # location = /403 { - # default_type application/json; - # return 200 '{"msg":"演示模式,不允许操作","code":500}'; - # } - - # 限制外网访问内网 actuator 相关路径 - location ~ ^(/[^/]*)?/actuator.*(/.*)?$ { - return 403; - } - - location / { - root /usr/share/nginx/html; # docker映射路径 不允许更改 - try_files $uri $uri/ /index.html; - index index.html index.htm; - } - - location /prod-api/ { - proxy_set_header Host $http_host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header REMOTE-HOST $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_read_timeout 86400s; - # sse 与 websocket参数 - proxy_http_version 1.1; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection "upgrade"; - proxy_buffering off; - proxy_cache off; - proxy_pass http://server/; - } - - # https 会拦截内链所有的 http 请求 造成功能无法使用 - # 解决方案1 将 admin 服务 也配置成 https - # 解决方案2 将菜单配置为外链访问 走独立页面 http 访问 - location /admin/ { - proxy_set_header Host $http_host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header REMOTE-HOST $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_pass http://monitor-admin/admin/; - } - - location /snail-job/ { - proxy_set_header Host $http_host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header REMOTE-HOST $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_pass http://snailjob-server/snail-job/; - } - - error_page 500 502 503 504 /50x.html; - location = /50x.html { - root html; - } - } -} diff --git a/im-admin/script/docker/redis/conf/redis.conf b/im-admin/script/docker/redis/conf/redis.conf deleted file mode 100644 index 72255c6..0000000 --- a/im-admin/script/docker/redis/conf/redis.conf +++ /dev/null @@ -1,28 +0,0 @@ -# redis 密码 -requirepass ruoyi123 - -# key 监听器配置 -# notify-keyspace-events Ex - -# 配置持久化文件存储路径 -dir /redis/data -# 配置rdb -# 15分钟内有至少1个key被更改则进行快照 -save 900 1 -# 5分钟内有至少10个key被更改则进行快照 -save 300 10 -# 1分钟内有至少10000个key被更改则进行快照 -save 60 10000 -# 开启压缩 -rdbcompression yes -# rdb文件名 用默认的即可 -dbfilename dump.rdb - -# 开启aof -appendonly yes -# 文件名 -appendfilename "appendonly.aof" -# 持久化策略,no:不同步,everysec:每秒一次,always:总是同步,速度比较慢 -# appendfsync always -appendfsync everysec -# appendfsync no diff --git a/im-admin/script/docker/redis/data/README.md b/im-admin/script/docker/redis/data/README.md deleted file mode 100644 index fbc5474..0000000 --- a/im-admin/script/docker/redis/data/README.md +++ /dev/null @@ -1 +0,0 @@ -数据目录 请执行 `chmod 777 /docker/redis/data` 赋予读写权限 否则将无法写入数据 \ No newline at end of file diff --git a/im-admin/script/sql/oracle/oracle_ry_job.sql b/im-admin/script/sql/oracle/oracle_ry_job.sql deleted file mode 100644 index da65dbb..0000000 --- a/im-admin/script/sql/oracle/oracle_ry_job.sql +++ /dev/null @@ -1,906 +0,0 @@ -/* - SnailJob Database Transfer Tool - Source Server Type : MySQL - Target Server Type : Oracle - Date: 2024-07-06 12:49:36 -*/ - - --- sj_namespace -CREATE TABLE sj_namespace -( - id number GENERATED ALWAYS AS IDENTITY, - name varchar2(64) NULL, - unique_id varchar2(64) NULL, - description varchar2(256) DEFAULT '' NULL, - deleted smallint DEFAULT 0 NOT NULL, - create_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL, - update_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL -); - -ALTER TABLE sj_namespace - ADD CONSTRAINT pk_sj_namespace PRIMARY KEY (id); - -CREATE INDEX idx_sj_namespace_01 ON sj_namespace (name); - -COMMENT ON COLUMN sj_namespace.id IS '主键'; -COMMENT ON COLUMN sj_namespace.name IS '名称'; -COMMENT ON COLUMN sj_namespace.unique_id IS '唯一id'; -COMMENT ON COLUMN sj_namespace.description IS '描述'; -COMMENT ON COLUMN sj_namespace.deleted IS '逻辑删除 1、删除'; -COMMENT ON COLUMN sj_namespace.create_dt IS '创建时间'; -COMMENT ON COLUMN sj_namespace.update_dt IS '修改时间'; -COMMENT ON TABLE sj_namespace IS '命名空间'; - -INSERT INTO sj_namespace(name, unique_id, description, deleted, create_dt, update_dt) VALUES ('Development', 'dev', '', 0, sysdate, sysdate); -INSERT INTO sj_namespace(name, unique_id, description, deleted, create_dt, update_dt) VALUES ('Production', 'prod', '', 0, sysdate, sysdate); - --- sj_group_config -CREATE TABLE sj_group_config -( - id number GENERATED ALWAYS AS IDENTITY, - namespace_id varchar2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' NULL, - group_name varchar2(64) DEFAULT '' NULL, - description varchar2(256) DEFAULT '' NULL, - token varchar2(64) DEFAULT 'SJ_cKqBTPzCsWA3VyuCfFoccmuIEGXjr5KT' NULL, - group_status smallint DEFAULT 0 NOT NULL, - version number NOT NULL, - group_partition number NOT NULL, - id_generator_mode smallint DEFAULT 1 NOT NULL, - init_scene smallint DEFAULT 0 NOT NULL, - bucket_index number DEFAULT 0 NOT NULL, - create_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL, - update_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL -); - -ALTER TABLE sj_group_config - ADD CONSTRAINT pk_sj_group_config PRIMARY KEY (id); - -CREATE UNIQUE INDEX uk_sj_group_config_01 ON sj_group_config (namespace_id, group_name); - -COMMENT ON COLUMN sj_group_config.id IS '主键'; -COMMENT ON COLUMN sj_group_config.namespace_id IS '命名空间id'; -COMMENT ON COLUMN sj_group_config.group_name IS '组名称'; -COMMENT ON COLUMN sj_group_config.description IS '组描述'; -COMMENT ON COLUMN sj_group_config.token IS 'token'; -COMMENT ON COLUMN sj_group_config.group_status IS '组状态 0、未启用 1、启用'; -COMMENT ON COLUMN sj_group_config.version IS '版本号'; -COMMENT ON COLUMN sj_group_config.group_partition IS '分区'; -COMMENT ON COLUMN sj_group_config.id_generator_mode IS '唯一id生成模式 默认号段模式'; -COMMENT ON COLUMN sj_group_config.init_scene IS '是否初始化场景 0:否 1:是'; -COMMENT ON COLUMN sj_group_config.bucket_index IS 'bucket'; -COMMENT ON COLUMN sj_group_config.create_dt IS '创建时间'; -COMMENT ON COLUMN sj_group_config.update_dt IS '修改时间'; -COMMENT ON TABLE sj_group_config IS '组配置'; - -INSERT INTO sj_group_config (namespace_id, group_name, description, token, group_status, version, group_partition, id_generator_mode, init_scene, bucket_index, create_dt, update_dt) VALUES ('dev', 'ruoyi_group', '', 'SJ_cKqBTPzCsWA3VyuCfFoccmuIEGXjr5KT', 1, 1, 0, 1, 1, 4, sysdate, sysdate); -INSERT INTO sj_group_config (namespace_id, group_name, description, token, group_status, version, group_partition, id_generator_mode, init_scene, bucket_index, create_dt, update_dt) VALUES ('prod', 'ruoyi_group', '', 'SJ_cKqBTPzCsWA3VyuCfFoccmuIEGXjr5KT', 1, 1, 0, 1, 1, 4, sysdate, sysdate); - --- sj_notify_config -CREATE TABLE sj_notify_config -( - id number GENERATED ALWAYS AS IDENTITY, - namespace_id varchar2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' NULL, - group_name varchar2(64) NULL, - business_id varchar2(64) NULL, - system_task_type smallint DEFAULT 3 NOT NULL, - notify_status smallint DEFAULT 0 NOT NULL, - recipient_ids varchar2(128) NULL, - notify_threshold number DEFAULT 0 NOT NULL, - notify_scene smallint DEFAULT 0 NOT NULL, - rate_limiter_status smallint DEFAULT 0 NOT NULL, - rate_limiter_threshold number DEFAULT 0 NOT NULL, - description varchar2(256) DEFAULT '' NULL, - create_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL, - update_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL -); - -ALTER TABLE sj_notify_config - ADD CONSTRAINT pk_sj_notify_config PRIMARY KEY (id); - -CREATE INDEX idx_sj_notify_config_01 ON sj_notify_config (namespace_id, group_name, business_id); - -COMMENT ON COLUMN sj_notify_config.id IS '主键'; -COMMENT ON COLUMN sj_notify_config.namespace_id IS '命名空间id'; -COMMENT ON COLUMN sj_notify_config.group_name IS '组名称'; -COMMENT ON COLUMN sj_notify_config.business_id IS '业务id ( job_id或workflow_id或scene_name ) '; -COMMENT ON COLUMN sj_notify_config.system_task_type IS '任务类型 1. 重试任务 2. 重试回调 3、JOB任务 4、WORKFLOW任务'; -COMMENT ON COLUMN sj_notify_config.notify_status IS '通知状态 0、未启用 1、启用'; -COMMENT ON COLUMN sj_notify_config.recipient_ids IS '接收人id列表'; -COMMENT ON COLUMN sj_notify_config.notify_threshold IS '通知阈值'; -COMMENT ON COLUMN sj_notify_config.notify_scene IS '通知场景'; -COMMENT ON COLUMN sj_notify_config.rate_limiter_status IS '限流状态 0、未启用 1、启用'; -COMMENT ON COLUMN sj_notify_config.rate_limiter_threshold IS '每秒限流阈值'; -COMMENT ON COLUMN sj_notify_config.description IS '描述'; -COMMENT ON COLUMN sj_notify_config.create_dt IS '创建时间'; -COMMENT ON COLUMN sj_notify_config.update_dt IS '修改时间'; -COMMENT ON TABLE sj_notify_config IS '通知配置'; - --- sj_notify_recipient -CREATE TABLE sj_notify_recipient -( - id number GENERATED ALWAYS AS IDENTITY, - namespace_id varchar2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' NULL, - recipient_name varchar2(64) NULL, - notify_type smallint DEFAULT 0 NOT NULL, - notify_attribute varchar2(512) NULL, - description varchar2(256) DEFAULT '' NULL, - create_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL, - update_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL -); - -ALTER TABLE sj_notify_recipient - ADD CONSTRAINT pk_sj_notify_recipient PRIMARY KEY (id); - -CREATE INDEX idx_sj_notify_recipient_01 ON sj_notify_recipient (namespace_id); - -COMMENT ON COLUMN sj_notify_recipient.id IS '主键'; -COMMENT ON COLUMN sj_notify_recipient.namespace_id IS '命名空间id'; -COMMENT ON COLUMN sj_notify_recipient.recipient_name IS '接收人名称'; -COMMENT ON COLUMN sj_notify_recipient.notify_type IS '通知类型 1、钉钉 2、邮件 3、企业微信 4 飞书 5 webhook'; -COMMENT ON COLUMN sj_notify_recipient.notify_attribute IS '配置属性'; -COMMENT ON COLUMN sj_notify_recipient.description IS '描述'; -COMMENT ON COLUMN sj_notify_recipient.create_dt IS '创建时间'; -COMMENT ON COLUMN sj_notify_recipient.update_dt IS '修改时间'; -COMMENT ON TABLE sj_notify_recipient IS '告警通知接收人'; - --- sj_retry_dead_letter_0 -CREATE TABLE sj_retry_dead_letter_0 -( - id number GENERATED ALWAYS AS IDENTITY, - namespace_id varchar2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' NULL, - unique_id varchar2(64) NULL, - group_name varchar2(64) NULL, - scene_name varchar2(64) NULL, - idempotent_id varchar2(64) NULL, - biz_no varchar2(64) DEFAULT '' NULL, - executor_name varchar2(512) DEFAULT '' NULL, - args_str clob NULL, - ext_attrs clob NULL, - task_type smallint DEFAULT 1 NOT NULL, - create_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL -); - -ALTER TABLE sj_retry_dead_letter_0 - ADD CONSTRAINT pk_sj_retry_dead_letter_0 PRIMARY KEY (id); - -CREATE UNIQUE INDEX uk_sj_retry_dead_letter_0_01 ON sj_retry_dead_letter_0 (namespace_id, group_name, unique_id); - -CREATE INDEX idx_sj_retry_dead_letter_0_01 ON sj_retry_dead_letter_0 (namespace_id, group_name, scene_name); -CREATE INDEX idx_sj_retry_dead_letter_0_02 ON sj_retry_dead_letter_0 (idempotent_id); -CREATE INDEX idx_sj_retry_dead_letter_0_03 ON sj_retry_dead_letter_0 (biz_no); -CREATE INDEX idx_sj_retry_dead_letter_0_04 ON sj_retry_dead_letter_0 (create_dt); - -COMMENT ON COLUMN sj_retry_dead_letter_0.id IS '主键'; -COMMENT ON COLUMN sj_retry_dead_letter_0.namespace_id IS '命名空间id'; -COMMENT ON COLUMN sj_retry_dead_letter_0.unique_id IS '同组下id唯一'; -COMMENT ON COLUMN sj_retry_dead_letter_0.group_name IS '组名称'; -COMMENT ON COLUMN sj_retry_dead_letter_0.scene_name IS '场景名称'; -COMMENT ON COLUMN sj_retry_dead_letter_0.idempotent_id IS '幂等id'; -COMMENT ON COLUMN sj_retry_dead_letter_0.biz_no IS '业务编号'; -COMMENT ON COLUMN sj_retry_dead_letter_0.executor_name IS '执行器名称'; -COMMENT ON COLUMN sj_retry_dead_letter_0.args_str IS '执行方法参数'; -COMMENT ON COLUMN sj_retry_dead_letter_0.ext_attrs IS '扩展字段'; -COMMENT ON COLUMN sj_retry_dead_letter_0.task_type IS '任务类型 1、重试数据 2、回调数据'; -COMMENT ON COLUMN sj_retry_dead_letter_0.create_dt IS '创建时间'; -COMMENT ON TABLE sj_retry_dead_letter_0 IS '死信队列表'; - --- sj_retry_task_0 -CREATE TABLE sj_retry_task_0 -( - id number GENERATED ALWAYS AS IDENTITY, - namespace_id varchar2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' NULL, - unique_id varchar2(64) NULL, - group_name varchar2(64) NULL, - scene_name varchar2(64) NULL, - idempotent_id varchar2(64) NULL, - biz_no varchar2(64) DEFAULT '' NULL, - executor_name varchar2(512) DEFAULT '' NULL, - args_str clob NULL, - ext_attrs clob NULL, - next_trigger_at date NOT NULL, - retry_count number DEFAULT 0 NOT NULL, - retry_status smallint DEFAULT 0 NOT NULL, - task_type smallint DEFAULT 1 NOT NULL, - create_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL, - update_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL -); - -ALTER TABLE sj_retry_task_0 - ADD CONSTRAINT pk_sj_retry_task_0 PRIMARY KEY (id); - -CREATE UNIQUE INDEX uk_sj_retry_task_0_01 ON sj_retry_task_0 (namespace_id, group_name, unique_id); - -CREATE INDEX idx_sj_retry_task_0_01 ON sj_retry_task_0 (namespace_id, group_name, scene_name); -CREATE INDEX idx_sj_retry_task_0_02 ON sj_retry_task_0 (namespace_id, group_name, task_type); -CREATE INDEX idx_sj_retry_task_0_03 ON sj_retry_task_0 (namespace_id, group_name, retry_status); -CREATE INDEX idx_sj_retry_task_0_04 ON sj_retry_task_0 (idempotent_id); -CREATE INDEX idx_sj_retry_task_0_05 ON sj_retry_task_0 (biz_no); -CREATE INDEX idx_sj_retry_task_0_06 ON sj_retry_task_0 (create_dt); - -COMMENT ON COLUMN sj_retry_task_0.id IS '主键'; -COMMENT ON COLUMN sj_retry_task_0.namespace_id IS '命名空间id'; -COMMENT ON COLUMN sj_retry_task_0.unique_id IS '同组下id唯一'; -COMMENT ON COLUMN sj_retry_task_0.group_name IS '组名称'; -COMMENT ON COLUMN sj_retry_task_0.scene_name IS '场景名称'; -COMMENT ON COLUMN sj_retry_task_0.idempotent_id IS '幂等id'; -COMMENT ON COLUMN sj_retry_task_0.biz_no IS '业务编号'; -COMMENT ON COLUMN sj_retry_task_0.executor_name IS '执行器名称'; -COMMENT ON COLUMN sj_retry_task_0.args_str IS '执行方法参数'; -COMMENT ON COLUMN sj_retry_task_0.ext_attrs IS '扩展字段'; -COMMENT ON COLUMN sj_retry_task_0.next_trigger_at IS '下次触发时间'; -COMMENT ON COLUMN sj_retry_task_0.retry_count IS '重试次数'; -COMMENT ON COLUMN sj_retry_task_0.retry_status IS '重试状态 0、重试中 1、成功 2、最大重试次数'; -COMMENT ON COLUMN sj_retry_task_0.task_type IS '任务类型 1、重试数据 2、回调数据'; -COMMENT ON COLUMN sj_retry_task_0.create_dt IS '创建时间'; -COMMENT ON COLUMN sj_retry_task_0.update_dt IS '修改时间'; -COMMENT ON TABLE sj_retry_task_0 IS '任务表'; - --- sj_retry_task_log -CREATE TABLE sj_retry_task_log -( - id number GENERATED ALWAYS AS IDENTITY, - namespace_id varchar2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' NULL, - unique_id varchar2(64) NULL, - group_name varchar2(64) NULL, - scene_name varchar2(64) NULL, - idempotent_id varchar2(64) NULL, - biz_no varchar2(64) DEFAULT '' NULL, - executor_name varchar2(512) DEFAULT '' NULL, - args_str clob NULL, - ext_attrs clob NULL, - retry_status smallint DEFAULT 0 NOT NULL, - task_type smallint DEFAULT 1 NOT NULL, - create_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL, - update_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL -); - -ALTER TABLE sj_retry_task_log - ADD CONSTRAINT pk_sj_retry_task_log PRIMARY KEY (id); - -CREATE INDEX idx_sj_retry_task_log_01 ON sj_retry_task_log (namespace_id, group_name, scene_name); -CREATE INDEX idx_sj_retry_task_log_02 ON sj_retry_task_log (retry_status); -CREATE INDEX idx_sj_retry_task_log_03 ON sj_retry_task_log (idempotent_id); -CREATE INDEX idx_sj_retry_task_log_04 ON sj_retry_task_log (unique_id); -CREATE INDEX idx_sj_retry_task_log_05 ON sj_retry_task_log (biz_no); -CREATE INDEX idx_sj_retry_task_log_06 ON sj_retry_task_log (create_dt); - -COMMENT ON COLUMN sj_retry_task_log.id IS '主键'; -COMMENT ON COLUMN sj_retry_task_log.namespace_id IS '命名空间id'; -COMMENT ON COLUMN sj_retry_task_log.unique_id IS '同组下id唯一'; -COMMENT ON COLUMN sj_retry_task_log.group_name IS '组名称'; -COMMENT ON COLUMN sj_retry_task_log.scene_name IS '场景名称'; -COMMENT ON COLUMN sj_retry_task_log.idempotent_id IS '幂等id'; -COMMENT ON COLUMN sj_retry_task_log.biz_no IS '业务编号'; -COMMENT ON COLUMN sj_retry_task_log.executor_name IS '执行器名称'; -COMMENT ON COLUMN sj_retry_task_log.args_str IS '执行方法参数'; -COMMENT ON COLUMN sj_retry_task_log.ext_attrs IS '扩展字段'; -COMMENT ON COLUMN sj_retry_task_log.retry_status IS '重试状态 0、重试中 1、成功 2、最大次数'; -COMMENT ON COLUMN sj_retry_task_log.task_type IS '任务类型 1、重试数据 2、回调数据'; -COMMENT ON COLUMN sj_retry_task_log.create_dt IS '创建时间'; -COMMENT ON COLUMN sj_retry_task_log.update_dt IS '修改时间'; -COMMENT ON TABLE sj_retry_task_log IS '任务日志基础信息表'; - --- sj_retry_task_log_message -CREATE TABLE sj_retry_task_log_message -( - id number GENERATED ALWAYS AS IDENTITY, - namespace_id varchar2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' NULL, - group_name varchar2(64) NULL, - unique_id varchar2(64) NULL, - message clob NULL, - log_num number DEFAULT 1 NOT NULL, - real_time number DEFAULT 0 NOT NULL, - create_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL -); - -ALTER TABLE sj_retry_task_log_message - ADD CONSTRAINT pk_sj_retry_task_log_message PRIMARY KEY (id); - -CREATE INDEX idx_sj_rt_log_message_01 ON sj_retry_task_log_message (namespace_id, group_name, unique_id); -CREATE INDEX idx_sj_rt_log_message_02 ON sj_retry_task_log_message (create_dt); - -COMMENT ON COLUMN sj_retry_task_log_message.id IS '主键'; -COMMENT ON COLUMN sj_retry_task_log_message.namespace_id IS '命名空间id'; -COMMENT ON COLUMN sj_retry_task_log_message.group_name IS '组名称'; -COMMENT ON COLUMN sj_retry_task_log_message.unique_id IS '同组下id唯一'; -COMMENT ON COLUMN sj_retry_task_log_message.message IS '异常信息'; -COMMENT ON COLUMN sj_retry_task_log_message.log_num IS '日志数量'; -COMMENT ON COLUMN sj_retry_task_log_message.real_time IS '上报时间'; -COMMENT ON COLUMN sj_retry_task_log_message.create_dt IS '创建时间'; -COMMENT ON TABLE sj_retry_task_log_message IS '任务调度日志信息记录表'; - --- sj_retry_scene_config -CREATE TABLE sj_retry_scene_config -( - id number GENERATED ALWAYS AS IDENTITY, - namespace_id varchar2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' NULL, - scene_name varchar2(64) NULL, - group_name varchar2(64) NULL, - scene_status smallint DEFAULT 0 NOT NULL, - max_retry_count number DEFAULT 5 NOT NULL, - back_off smallint DEFAULT 1 NOT NULL, - trigger_interval varchar2(16) DEFAULT '' NULL, - deadline_request number DEFAULT 60000 NOT NULL, - executor_timeout number DEFAULT 5 NOT NULL, - route_key smallint DEFAULT 4 NOT NULL, - description varchar2(256) DEFAULT '' NULL, - create_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL, - update_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL -); - -ALTER TABLE sj_retry_scene_config - ADD CONSTRAINT pk_sj_retry_scene_config PRIMARY KEY (id); - -CREATE UNIQUE INDEX uk_sj_retry_scene_config_01 ON sj_retry_scene_config (namespace_id, group_name, scene_name); - -COMMENT ON COLUMN sj_retry_scene_config.id IS '主键'; -COMMENT ON COLUMN sj_retry_scene_config.namespace_id IS '命名空间id'; -COMMENT ON COLUMN sj_retry_scene_config.scene_name IS '场景名称'; -COMMENT ON COLUMN sj_retry_scene_config.group_name IS '组名称'; -COMMENT ON COLUMN sj_retry_scene_config.scene_status IS '组状态 0、未启用 1、启用'; -COMMENT ON COLUMN sj_retry_scene_config.max_retry_count IS '最大重试次数'; -COMMENT ON COLUMN sj_retry_scene_config.back_off IS '1、默认等级 2、固定间隔时间 3、CRON 表达式'; -COMMENT ON COLUMN sj_retry_scene_config.trigger_interval IS '间隔时长'; -COMMENT ON COLUMN sj_retry_scene_config.deadline_request IS 'Deadline Request 调用链超时 单位毫秒'; -COMMENT ON COLUMN sj_retry_scene_config.executor_timeout IS '任务执行超时时间,单位秒'; -COMMENT ON COLUMN sj_retry_scene_config.route_key IS '路由策略'; -COMMENT ON COLUMN sj_retry_scene_config.description IS '描述'; -COMMENT ON COLUMN sj_retry_scene_config.create_dt IS '创建时间'; -COMMENT ON COLUMN sj_retry_scene_config.update_dt IS '修改时间'; -COMMENT ON TABLE sj_retry_scene_config IS '场景配置'; - --- sj_server_node -CREATE TABLE sj_server_node -( - id number GENERATED ALWAYS AS IDENTITY, - namespace_id varchar2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' NULL, - group_name varchar2(64) NULL, - host_id varchar2(64) NULL, - host_ip varchar2(64) NULL, - host_port number NOT NULL, - expire_at date NOT NULL, - node_type smallint NOT NULL, - ext_attrs varchar2(256) DEFAULT '' NULL, - create_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL, - update_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL -); - -ALTER TABLE sj_server_node - ADD CONSTRAINT pk_sj_server_node PRIMARY KEY (id); - -CREATE UNIQUE INDEX uk_sj_server_node_01 ON sj_server_node (host_id, host_ip); - -CREATE INDEX idx_sj_server_node_01 ON sj_server_node (namespace_id, group_name); -CREATE INDEX idx_sj_server_node_02 ON sj_server_node (expire_at, node_type); - -COMMENT ON COLUMN sj_server_node.id IS '主键'; -COMMENT ON COLUMN sj_server_node.namespace_id IS '命名空间id'; -COMMENT ON COLUMN sj_server_node.group_name IS '组名称'; -COMMENT ON COLUMN sj_server_node.host_id IS '主机id'; -COMMENT ON COLUMN sj_server_node.host_ip IS '机器ip'; -COMMENT ON COLUMN sj_server_node.host_port IS '机器端口'; -COMMENT ON COLUMN sj_server_node.expire_at IS '过期时间'; -COMMENT ON COLUMN sj_server_node.node_type IS '节点类型 1、客户端 2、是服务端'; -COMMENT ON COLUMN sj_server_node.ext_attrs IS '扩展字段'; -COMMENT ON COLUMN sj_server_node.create_dt IS '创建时间'; -COMMENT ON COLUMN sj_server_node.update_dt IS '修改时间'; -COMMENT ON TABLE sj_server_node IS '服务器节点'; - --- sj_distributed_lock -CREATE TABLE sj_distributed_lock -( - name varchar2(64) NOT NULL, - lock_until timestamp(3) DEFAULT CURRENT_TIMESTAMP(3) NOT NULL, - locked_at timestamp(3) DEFAULT CURRENT_TIMESTAMP(3) NOT NULL, - locked_by varchar2(255) NULL, - create_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL, - update_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL -); - -ALTER TABLE sj_distributed_lock - ADD CONSTRAINT pk_sj_distributed_lock PRIMARY KEY (name); - -COMMENT ON COLUMN sj_distributed_lock.name IS '锁名称'; -COMMENT ON COLUMN sj_distributed_lock.lock_until IS '锁定时长'; -COMMENT ON COLUMN sj_distributed_lock.locked_at IS '锁定时间'; -COMMENT ON COLUMN sj_distributed_lock.locked_by IS '锁定者'; -COMMENT ON COLUMN sj_distributed_lock.create_dt IS '创建时间'; -COMMENT ON COLUMN sj_distributed_lock.update_dt IS '修改时间'; -COMMENT ON TABLE sj_distributed_lock IS '锁定表'; - --- sj_system_user -CREATE TABLE sj_system_user -( - id number GENERATED ALWAYS AS IDENTITY, - username varchar2(64) NULL, - password varchar2(128) NULL, - role smallint DEFAULT 0 NOT NULL, - create_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL, - update_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL -); - -ALTER TABLE sj_system_user - ADD CONSTRAINT pk_sj_system_user PRIMARY KEY (id); - -COMMENT ON COLUMN sj_system_user.id IS '主键'; -COMMENT ON COLUMN sj_system_user.username IS '账号'; -COMMENT ON COLUMN sj_system_user.password IS '密码'; -COMMENT ON COLUMN sj_system_user.role IS '角色:1-普通用户、2-管理员'; -COMMENT ON COLUMN sj_system_user.create_dt IS '创建时间'; -COMMENT ON COLUMN sj_system_user.update_dt IS '修改时间'; -COMMENT ON TABLE sj_system_user IS '系统用户表'; - --- pwd: admin -INSERT INTO sj_system_user(username, password, role, create_dt, update_dt) VALUES ('admin', '465c194afb65670f38322df087f0a9bb225cc257e43eb4ac5a0c98ef5b3173ac', 2, sysdate, sysdate); - --- sj_system_user_permission -CREATE TABLE sj_system_user_permission -( - id number GENERATED ALWAYS AS IDENTITY, - group_name varchar2(64) NULL, - namespace_id varchar2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' NULL, - system_user_id number NOT NULL, - create_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL, - update_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL -); - -ALTER TABLE sj_system_user_permission - ADD CONSTRAINT pk_sj_system_user_permission PRIMARY KEY (id); - -CREATE UNIQUE INDEX uk_sj_su_permission_01 ON sj_system_user_permission (namespace_id, group_name, system_user_id); - -COMMENT ON COLUMN sj_system_user_permission.id IS '主键'; -COMMENT ON COLUMN sj_system_user_permission.group_name IS '组名称'; -COMMENT ON COLUMN sj_system_user_permission.namespace_id IS '命名空间id'; -COMMENT ON COLUMN sj_system_user_permission.system_user_id IS '系统用户id'; -COMMENT ON COLUMN sj_system_user_permission.create_dt IS '创建时间'; -COMMENT ON COLUMN sj_system_user_permission.update_dt IS '修改时间'; -COMMENT ON TABLE sj_system_user_permission IS '系统用户权限表'; - --- sj_sequence_alloc -CREATE TABLE sj_sequence_alloc -( - id number GENERATED ALWAYS AS IDENTITY, - namespace_id varchar2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' NULL, - group_name varchar2(64) DEFAULT '' NULL, - max_id number DEFAULT 1 NOT NULL, - step number DEFAULT 100 NOT NULL, - update_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL -); - -ALTER TABLE sj_sequence_alloc - ADD CONSTRAINT pk_sj_sequence_alloc PRIMARY KEY (id); - -CREATE UNIQUE INDEX uk_sj_sequence_alloc_01 ON sj_sequence_alloc (namespace_id, group_name); - -COMMENT ON COLUMN sj_sequence_alloc.id IS '主键'; -COMMENT ON COLUMN sj_sequence_alloc.namespace_id IS '命名空间id'; -COMMENT ON COLUMN sj_sequence_alloc.group_name IS '组名称'; -COMMENT ON COLUMN sj_sequence_alloc.max_id IS '最大id'; -COMMENT ON COLUMN sj_sequence_alloc.step IS '步长'; -COMMENT ON COLUMN sj_sequence_alloc.update_dt IS '更新时间'; -COMMENT ON TABLE sj_sequence_alloc IS '号段模式序号ID分配表'; - --- sj_job -CREATE TABLE sj_job -( - id number GENERATED ALWAYS AS IDENTITY, - namespace_id varchar2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' NULL, - group_name varchar2(64) NULL, - job_name varchar2(64) NULL, - args_str clob DEFAULT NULL NULL, - args_type smallint DEFAULT 1 NOT NULL, - next_trigger_at number NOT NULL, - job_status smallint DEFAULT 1 NOT NULL, - task_type smallint DEFAULT 1 NOT NULL, - route_key smallint DEFAULT 4 NOT NULL, - executor_type smallint DEFAULT 1 NOT NULL, - executor_info varchar2(255) DEFAULT NULL NULL, - trigger_type smallint NOT NULL, - trigger_interval varchar2(255) NULL, - block_strategy smallint DEFAULT 1 NOT NULL, - executor_timeout number DEFAULT 0 NOT NULL, - max_retry_times number DEFAULT 0 NOT NULL, - parallel_num number DEFAULT 1 NOT NULL, - retry_interval number DEFAULT 0 NOT NULL, - bucket_index number DEFAULT 0 NOT NULL, - resident smallint DEFAULT 0 NOT NULL, - description varchar2(256) DEFAULT '' NULL, - ext_attrs varchar2(256) DEFAULT '' NULL, - deleted smallint DEFAULT 0 NOT NULL, - create_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL, - update_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL -); - -ALTER TABLE sj_job - ADD CONSTRAINT pk_sj_job PRIMARY KEY (id); - -CREATE INDEX idx_sj_job_01 ON sj_job (namespace_id, group_name); -CREATE INDEX idx_sj_job_02 ON sj_job (job_status, bucket_index); -CREATE INDEX idx_sj_job_03 ON sj_job (create_dt); - -COMMENT ON COLUMN sj_job.id IS '主键'; -COMMENT ON COLUMN sj_job.namespace_id IS '命名空间id'; -COMMENT ON COLUMN sj_job.group_name IS '组名称'; -COMMENT ON COLUMN sj_job.job_name IS '名称'; -COMMENT ON COLUMN sj_job.args_str IS '执行方法参数'; -COMMENT ON COLUMN sj_job.args_type IS '参数类型 '; -COMMENT ON COLUMN sj_job.next_trigger_at IS '下次触发时间'; -COMMENT ON COLUMN sj_job.job_status IS '任务状态 0、关闭、1、开启'; -COMMENT ON COLUMN sj_job.task_type IS '任务类型 1、集群 2、广播 3、切片'; -COMMENT ON COLUMN sj_job.route_key IS '路由策略'; -COMMENT ON COLUMN sj_job.executor_type IS '执行器类型'; -COMMENT ON COLUMN sj_job.executor_info IS '执行器名称'; -COMMENT ON COLUMN sj_job.trigger_type IS '触发类型 1.CRON 表达式 2. 固定时间'; -COMMENT ON COLUMN sj_job.trigger_interval IS '间隔时长'; -COMMENT ON COLUMN sj_job.block_strategy IS '阻塞策略 1、丢弃 2、覆盖 3、并行'; -COMMENT ON COLUMN sj_job.executor_timeout IS '任务执行超时时间,单位秒'; -COMMENT ON COLUMN sj_job.max_retry_times IS '最大重试次数'; -COMMENT ON COLUMN sj_job.parallel_num IS '并行数'; -COMMENT ON COLUMN sj_job.retry_interval IS '重试间隔 ( s ) '; -COMMENT ON COLUMN sj_job.bucket_index IS 'bucket'; -COMMENT ON COLUMN sj_job.resident IS '是否是常驻任务'; -COMMENT ON COLUMN sj_job.description IS '描述'; -COMMENT ON COLUMN sj_job.ext_attrs IS '扩展字段'; -COMMENT ON COLUMN sj_job.deleted IS '逻辑删除 1、删除'; -COMMENT ON COLUMN sj_job.create_dt IS '创建时间'; -COMMENT ON COLUMN sj_job.update_dt IS '修改时间'; -COMMENT ON TABLE sj_job IS '任务信息'; - -INSERT INTO sj_job(namespace_id, group_name, job_name, args_str, args_type, next_trigger_at, job_status, task_type, route_key, executor_type, executor_info, trigger_type, trigger_interval, block_strategy,executor_timeout, max_retry_times, parallel_num, retry_interval, bucket_index, resident, description, ext_attrs, deleted, create_dt, update_dt) VALUES ('dev', 'ruoyi_group', 'demo-job', NULL, 1, 1710344035622, 1, 1, 4, 1, 'testJobExecutor', 2, '60', 1, 60, 3, 1, 1, 116, 0, '', '', 0, sysdate, sysdate); - --- sj_job_log_message -CREATE TABLE sj_job_log_message -( - id number GENERATED ALWAYS AS IDENTITY, - namespace_id varchar2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' NULL, - group_name varchar2(64) NULL, - job_id number NOT NULL, - task_batch_id number NOT NULL, - task_id number NOT NULL, - message clob NULL, - log_num number DEFAULT 1 NOT NULL, - real_time number DEFAULT 0 NOT NULL, - ext_attrs varchar2(256) DEFAULT '' NULL, - create_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL -); - -ALTER TABLE sj_job_log_message - ADD CONSTRAINT pk_sj_job_log_message PRIMARY KEY (id); - -CREATE INDEX idx_sj_job_log_message_01 ON sj_job_log_message (task_batch_id, task_id); -CREATE INDEX idx_sj_job_log_message_02 ON sj_job_log_message (create_dt); -CREATE INDEX idx_sj_job_log_message_03 ON sj_job_log_message (namespace_id, group_name); - -COMMENT ON COLUMN sj_job_log_message.id IS '主键'; -COMMENT ON COLUMN sj_job_log_message.namespace_id IS '命名空间id'; -COMMENT ON COLUMN sj_job_log_message.group_name IS '组名称'; -COMMENT ON COLUMN sj_job_log_message.job_id IS '任务信息id'; -COMMENT ON COLUMN sj_job_log_message.task_batch_id IS '任务批次id'; -COMMENT ON COLUMN sj_job_log_message.task_id IS '调度任务id'; -COMMENT ON COLUMN sj_job_log_message.message IS '调度信息'; -COMMENT ON COLUMN sj_job_log_message.log_num IS '日志数量'; -COMMENT ON COLUMN sj_job_log_message.real_time IS '上报时间'; -COMMENT ON COLUMN sj_job_log_message.ext_attrs IS '扩展字段'; -COMMENT ON COLUMN sj_job_log_message.create_dt IS '创建时间'; -COMMENT ON TABLE sj_job_log_message IS '调度日志'; - --- sj_job_task -CREATE TABLE sj_job_task -( - id number GENERATED ALWAYS AS IDENTITY, - namespace_id varchar2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' NULL, - group_name varchar2(64) NULL, - job_id number NOT NULL, - task_batch_id number NOT NULL, - parent_id number DEFAULT 0 NOT NULL, - task_status smallint DEFAULT 0 NOT NULL, - retry_count number DEFAULT 0 NOT NULL, - mr_stage smallint DEFAULT NULL NULL, - leaf smallint DEFAULT '1' NOT NULL, - task_name varchar2(255) DEFAULT '' NULL, - client_info varchar2(128) DEFAULT NULL NULL, - wf_context clob DEFAULT NULL NULL, - result_message clob NULL, - args_str clob DEFAULT NULL NULL, - args_type smallint DEFAULT 1 NOT NULL, - ext_attrs varchar2(256) DEFAULT '' NULL, - create_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL, - update_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL -); - -ALTER TABLE sj_job_task - ADD CONSTRAINT pk_sj_job_task PRIMARY KEY (id); - -CREATE INDEX idx_sj_job_task_01 ON sj_job_task (task_batch_id, task_status); -CREATE INDEX idx_sj_job_task_02 ON sj_job_task (create_dt); -CREATE INDEX idx_sj_job_task_03 ON sj_job_task (namespace_id, group_name); - -COMMENT ON COLUMN sj_job_task.id IS '主键'; -COMMENT ON COLUMN sj_job_task.namespace_id IS '命名空间id'; -COMMENT ON COLUMN sj_job_task.group_name IS '组名称'; -COMMENT ON COLUMN sj_job_task.job_id IS '任务信息id'; -COMMENT ON COLUMN sj_job_task.task_batch_id IS '调度任务id'; -COMMENT ON COLUMN sj_job_task.parent_id IS '父执行器id'; -COMMENT ON COLUMN sj_job_task.task_status IS '执行的状态 0、失败 1、成功'; -COMMENT ON COLUMN sj_job_task.retry_count IS '重试次数'; -COMMENT ON COLUMN sj_job_task.mr_stage IS '动态分片所处阶段 1:map 2:reduce 3:mergeReduce'; -COMMENT ON COLUMN sj_job_task.leaf IS '叶子节点'; -COMMENT ON COLUMN sj_job_task.task_name IS '任务名称'; -COMMENT ON COLUMN sj_job_task.client_info IS '客户端地址 clientId#ip:port'; -COMMENT ON COLUMN sj_job_task.wf_context IS '工作流全局上下文'; -COMMENT ON COLUMN sj_job_task.result_message IS '执行结果'; -COMMENT ON COLUMN sj_job_task.args_str IS '执行方法参数'; -COMMENT ON COLUMN sj_job_task.args_type IS '参数类型 '; -COMMENT ON COLUMN sj_job_task.ext_attrs IS '扩展字段'; -COMMENT ON COLUMN sj_job_task.create_dt IS '创建时间'; -COMMENT ON COLUMN sj_job_task.update_dt IS '修改时间'; -COMMENT ON TABLE sj_job_task IS '任务实例'; - --- sj_job_task_batch -CREATE TABLE sj_job_task_batch -( - id number GENERATED ALWAYS AS IDENTITY, - namespace_id varchar2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' NULL, - group_name varchar2(64) NULL, - job_id number NOT NULL, - workflow_node_id number DEFAULT 0 NOT NULL, - parent_workflow_node_id number DEFAULT 0 NOT NULL, - workflow_task_batch_id number DEFAULT 0 NOT NULL, - task_batch_status smallint DEFAULT 0 NOT NULL, - operation_reason smallint DEFAULT 0 NOT NULL, - execution_at number DEFAULT 0 NOT NULL, - system_task_type smallint DEFAULT 3 NOT NULL, - parent_id varchar2(64) DEFAULT '' NULL, - ext_attrs varchar2(256) DEFAULT '' NULL, - deleted smallint DEFAULT 0 NOT NULL, - create_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL, - update_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL -); - -ALTER TABLE sj_job_task_batch - ADD CONSTRAINT pk_sj_job_task_batch PRIMARY KEY (id); - -CREATE INDEX idx_sj_job_task_batch_01 ON sj_job_task_batch (job_id, task_batch_status); -CREATE INDEX idx_sj_job_task_batch_02 ON sj_job_task_batch (create_dt); -CREATE INDEX idx_sj_job_task_batch_03 ON sj_job_task_batch (namespace_id, group_name); -CREATE INDEX idx_sj_job_task_batch_04 ON sj_job_task_batch (workflow_task_batch_id, workflow_node_id); - -COMMENT ON COLUMN sj_job_task_batch.id IS '主键'; -COMMENT ON COLUMN sj_job_task_batch.namespace_id IS '命名空间id'; -COMMENT ON COLUMN sj_job_task_batch.group_name IS '组名称'; -COMMENT ON COLUMN sj_job_task_batch.job_id IS '任务id'; -COMMENT ON COLUMN sj_job_task_batch.workflow_node_id IS '工作流节点id'; -COMMENT ON COLUMN sj_job_task_batch.parent_workflow_node_id IS '工作流任务父批次id'; -COMMENT ON COLUMN sj_job_task_batch.workflow_task_batch_id IS '工作流任务批次id'; -COMMENT ON COLUMN sj_job_task_batch.task_batch_status IS '任务批次状态 0、失败 1、成功'; -COMMENT ON COLUMN sj_job_task_batch.operation_reason IS '操作原因'; -COMMENT ON COLUMN sj_job_task_batch.execution_at IS '任务执行时间'; -COMMENT ON COLUMN sj_job_task_batch.system_task_type IS '任务类型 3、JOB任务 4、WORKFLOW任务'; -COMMENT ON COLUMN sj_job_task_batch.parent_id IS '父节点'; -COMMENT ON COLUMN sj_job_task_batch.ext_attrs IS '扩展字段'; -COMMENT ON COLUMN sj_job_task_batch.deleted IS '逻辑删除 1、删除'; -COMMENT ON COLUMN sj_job_task_batch.create_dt IS '创建时间'; -COMMENT ON COLUMN sj_job_task_batch.update_dt IS '修改时间'; -COMMENT ON TABLE sj_job_task_batch IS '任务批次'; - --- sj_job_summary -CREATE TABLE sj_job_summary -( - id number GENERATED ALWAYS AS IDENTITY, - namespace_id varchar2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' NULL, - group_name varchar2(64) DEFAULT '' NULL, - business_id number NOT NULL, - system_task_type smallint DEFAULT 3 NOT NULL, - trigger_at date DEFAULT CURRENT_TIMESTAMP NOT NULL, - success_num number DEFAULT 0 NOT NULL, - fail_num number DEFAULT 0 NOT NULL, - fail_reason varchar2(512) DEFAULT '' NULL, - stop_num number DEFAULT 0 NOT NULL, - stop_reason varchar2(512) DEFAULT '' NULL, - cancel_num number DEFAULT 0 NOT NULL, - cancel_reason varchar2(512) DEFAULT '' NULL, - create_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL, - update_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL -); - -ALTER TABLE sj_job_summary - ADD CONSTRAINT pk_sj_job_summary PRIMARY KEY (id); - -CREATE UNIQUE INDEX uk_sj_job_summary_01 ON sj_job_summary (trigger_at, system_task_type, business_id); - -CREATE INDEX idx_sj_job_summary_01 ON sj_job_summary (namespace_id, group_name, business_id); - -COMMENT ON COLUMN sj_job_summary.id IS '主键'; -COMMENT ON COLUMN sj_job_summary.namespace_id IS '命名空间id'; -COMMENT ON COLUMN sj_job_summary.group_name IS '组名称'; -COMMENT ON COLUMN sj_job_summary.business_id IS '业务id ( job_id或workflow_id ) '; -COMMENT ON COLUMN sj_job_summary.system_task_type IS '任务类型 3、JOB任务 4、WORKFLOW任务'; -COMMENT ON COLUMN sj_job_summary.trigger_at IS '统计时间'; -COMMENT ON COLUMN sj_job_summary.success_num IS '执行成功-日志数量'; -COMMENT ON COLUMN sj_job_summary.fail_num IS '执行失败-日志数量'; -COMMENT ON COLUMN sj_job_summary.fail_reason IS '失败原因'; -COMMENT ON COLUMN sj_job_summary.stop_num IS '执行失败-日志数量'; -COMMENT ON COLUMN sj_job_summary.stop_reason IS '失败原因'; -COMMENT ON COLUMN sj_job_summary.cancel_num IS '执行失败-日志数量'; -COMMENT ON COLUMN sj_job_summary.cancel_reason IS '失败原因'; -COMMENT ON COLUMN sj_job_summary.create_dt IS '创建时间'; -COMMENT ON COLUMN sj_job_summary.update_dt IS '修改时间'; -COMMENT ON TABLE sj_job_summary IS 'DashBoard_Job'; - --- sj_retry_summary -CREATE TABLE sj_retry_summary -( - id number GENERATED ALWAYS AS IDENTITY, - namespace_id varchar2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' NULL, - group_name varchar2(64) DEFAULT '' NULL, - scene_name varchar2(50) DEFAULT '' NULL, - trigger_at date DEFAULT CURRENT_TIMESTAMP NOT NULL, - running_num number DEFAULT 0 NOT NULL, - finish_num number DEFAULT 0 NOT NULL, - max_count_num number DEFAULT 0 NOT NULL, - suspend_num number DEFAULT 0 NOT NULL, - create_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL, - update_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL -); - -ALTER TABLE sj_retry_summary - ADD CONSTRAINT pk_sj_retry_summary PRIMARY KEY (id); - -CREATE UNIQUE INDEX uk_sj_retry_summary_01 ON sj_retry_summary (namespace_id, group_name, scene_name, trigger_at); - -CREATE INDEX idx_sj_retry_summary_01 ON sj_retry_summary (trigger_at); - -COMMENT ON COLUMN sj_retry_summary.id IS '主键'; -COMMENT ON COLUMN sj_retry_summary.namespace_id IS '命名空间id'; -COMMENT ON COLUMN sj_retry_summary.group_name IS '组名称'; -COMMENT ON COLUMN sj_retry_summary.scene_name IS '场景名称'; -COMMENT ON COLUMN sj_retry_summary.trigger_at IS '统计时间'; -COMMENT ON COLUMN sj_retry_summary.running_num IS '重试中-日志数量'; -COMMENT ON COLUMN sj_retry_summary.finish_num IS '重试完成-日志数量'; -COMMENT ON COLUMN sj_retry_summary.max_count_num IS '重试到达最大次数-日志数量'; -COMMENT ON COLUMN sj_retry_summary.suspend_num IS '暂停重试-日志数量'; -COMMENT ON COLUMN sj_retry_summary.create_dt IS '创建时间'; -COMMENT ON COLUMN sj_retry_summary.update_dt IS '修改时间'; -COMMENT ON TABLE sj_retry_summary IS 'DashBoard_Retry'; - --- sj_workflow -CREATE TABLE sj_workflow -( - id number GENERATED ALWAYS AS IDENTITY, - workflow_name varchar2(64) NULL, - namespace_id varchar2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' NULL, - group_name varchar2(64) NULL, - workflow_status smallint DEFAULT 1 NOT NULL, - trigger_type smallint NOT NULL, - trigger_interval varchar2(255) NULL, - next_trigger_at number NOT NULL, - block_strategy smallint DEFAULT 1 NOT NULL, - executor_timeout number DEFAULT 0 NOT NULL, - description varchar2(256) DEFAULT '' NULL, - flow_info clob DEFAULT NULL NULL, - wf_context clob DEFAULT NULL NULL, - bucket_index number DEFAULT 0 NOT NULL, - version number NOT NULL, - ext_attrs varchar2(256) DEFAULT '' NULL, - deleted smallint DEFAULT 0 NOT NULL, - create_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL, - update_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL -); - -ALTER TABLE sj_workflow - ADD CONSTRAINT pk_sj_workflow PRIMARY KEY (id); - -CREATE INDEX idx_sj_workflow_01 ON sj_workflow (create_dt); -CREATE INDEX idx_sj_workflow_02 ON sj_workflow (namespace_id, group_name); - -COMMENT ON COLUMN sj_workflow.id IS '主键'; -COMMENT ON COLUMN sj_workflow.workflow_name IS '工作流名称'; -COMMENT ON COLUMN sj_workflow.namespace_id IS '命名空间id'; -COMMENT ON COLUMN sj_workflow.group_name IS '组名称'; -COMMENT ON COLUMN sj_workflow.workflow_status IS '工作流状态 0、关闭、1、开启'; -COMMENT ON COLUMN sj_workflow.trigger_type IS '触发类型 1.CRON 表达式 2. 固定时间'; -COMMENT ON COLUMN sj_workflow.trigger_interval IS '间隔时长'; -COMMENT ON COLUMN sj_workflow.next_trigger_at IS '下次触发时间'; -COMMENT ON COLUMN sj_workflow.block_strategy IS '阻塞策略 1、丢弃 2、覆盖 3、并行'; -COMMENT ON COLUMN sj_workflow.executor_timeout IS '任务执行超时时间,单位秒'; -COMMENT ON COLUMN sj_workflow.description IS '描述'; -COMMENT ON COLUMN sj_workflow.flow_info IS '流程信息'; -COMMENT ON COLUMN sj_workflow.wf_context IS '上下文'; -COMMENT ON COLUMN sj_workflow.bucket_index IS 'bucket'; -COMMENT ON COLUMN sj_workflow.version IS '版本号'; -COMMENT ON COLUMN sj_workflow.ext_attrs IS '扩展字段'; -COMMENT ON COLUMN sj_workflow.deleted IS '逻辑删除 1、删除'; -COMMENT ON COLUMN sj_workflow.create_dt IS '创建时间'; -COMMENT ON COLUMN sj_workflow.update_dt IS '修改时间'; -COMMENT ON TABLE sj_workflow IS '工作流'; - --- sj_workflow_node -CREATE TABLE sj_workflow_node -( - id number GENERATED ALWAYS AS IDENTITY, - namespace_id varchar2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' NULL, - node_name varchar2(64) NULL, - group_name varchar2(64) NULL, - job_id number NOT NULL, - workflow_id number NOT NULL, - node_type smallint DEFAULT 1 NOT NULL, - expression_type smallint DEFAULT 0 NOT NULL, - fail_strategy smallint DEFAULT 1 NOT NULL, - workflow_node_status smallint DEFAULT 1 NOT NULL, - priority_level number DEFAULT 1 NOT NULL, - node_info clob DEFAULT NULL NULL, - version number NOT NULL, - ext_attrs varchar2(256) DEFAULT '' NULL, - deleted smallint DEFAULT 0 NOT NULL, - create_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL, - update_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL -); - -ALTER TABLE sj_workflow_node - ADD CONSTRAINT pk_sj_workflow_node PRIMARY KEY (id); - -CREATE INDEX idx_sj_workflow_node_01 ON sj_workflow_node (create_dt); -CREATE INDEX idx_sj_workflow_node_02 ON sj_workflow_node (namespace_id, group_name); - -COMMENT ON COLUMN sj_workflow_node.id IS '主键'; -COMMENT ON COLUMN sj_workflow_node.namespace_id IS '命名空间id'; -COMMENT ON COLUMN sj_workflow_node.node_name IS '节点名称'; -COMMENT ON COLUMN sj_workflow_node.group_name IS '组名称'; -COMMENT ON COLUMN sj_workflow_node.job_id IS '任务信息id'; -COMMENT ON COLUMN sj_workflow_node.workflow_id IS '工作流ID'; -COMMENT ON COLUMN sj_workflow_node.node_type IS '1、任务节点 2、条件节点'; -COMMENT ON COLUMN sj_workflow_node.expression_type IS '1、SpEl、2、Aviator 3、QL'; -COMMENT ON COLUMN sj_workflow_node.fail_strategy IS '失败策略 1、跳过 2、阻塞'; -COMMENT ON COLUMN sj_workflow_node.workflow_node_status IS '工作流节点状态 0、关闭、1、开启'; -COMMENT ON COLUMN sj_workflow_node.priority_level IS '优先级'; -COMMENT ON COLUMN sj_workflow_node.node_info IS '节点信息 '; -COMMENT ON COLUMN sj_workflow_node.version IS '版本号'; -COMMENT ON COLUMN sj_workflow_node.ext_attrs IS '扩展字段'; -COMMENT ON COLUMN sj_workflow_node.deleted IS '逻辑删除 1、删除'; -COMMENT ON COLUMN sj_workflow_node.create_dt IS '创建时间'; -COMMENT ON COLUMN sj_workflow_node.update_dt IS '修改时间'; -COMMENT ON TABLE sj_workflow_node IS '工作流节点'; - --- sj_workflow_task_batch -CREATE TABLE sj_workflow_task_batch -( - id number GENERATED ALWAYS AS IDENTITY, - namespace_id varchar2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' NULL, - group_name varchar2(64) NULL, - workflow_id number NOT NULL, - task_batch_status smallint DEFAULT 0 NOT NULL, - operation_reason smallint DEFAULT 0 NOT NULL, - flow_info clob DEFAULT NULL NULL, - wf_context clob DEFAULT NULL NULL, - execution_at number DEFAULT 0 NOT NULL, - ext_attrs varchar2(256) DEFAULT '' NULL, - version number DEFAULT 1 NOT NULL, - deleted smallint DEFAULT 0 NOT NULL, - create_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL, - update_dt date DEFAULT CURRENT_TIMESTAMP NOT NULL -); - -ALTER TABLE sj_workflow_task_batch - ADD CONSTRAINT pk_sj_workflow_task_batch PRIMARY KEY (id); - -CREATE INDEX idx_sj_workflow_task_batch_01 ON sj_workflow_task_batch (workflow_id, task_batch_status); -CREATE INDEX idx_sj_workflow_task_batch_02 ON sj_workflow_task_batch (create_dt); -CREATE INDEX idx_sj_workflow_task_batch_03 ON sj_workflow_task_batch (namespace_id, group_name); - -COMMENT ON COLUMN sj_workflow_task_batch.id IS '主键'; -COMMENT ON COLUMN sj_workflow_task_batch.namespace_id IS '命名空间id'; -COMMENT ON COLUMN sj_workflow_task_batch.group_name IS '组名称'; -COMMENT ON COLUMN sj_workflow_task_batch.workflow_id IS '工作流任务id'; -COMMENT ON COLUMN sj_workflow_task_batch.task_batch_status IS '任务批次状态 0、失败 1、成功'; -COMMENT ON COLUMN sj_workflow_task_batch.operation_reason IS '操作原因'; -COMMENT ON COLUMN sj_workflow_task_batch.flow_info IS '流程信息'; -COMMENT ON COLUMN sj_workflow_task_batch.wf_context IS '全局上下文'; -COMMENT ON COLUMN sj_workflow_task_batch.execution_at IS '任务执行时间'; -COMMENT ON COLUMN sj_workflow_task_batch.ext_attrs IS '扩展字段'; -COMMENT ON COLUMN sj_workflow_task_batch.version IS '版本号'; -COMMENT ON COLUMN sj_workflow_task_batch.deleted IS '逻辑删除 1、删除'; -COMMENT ON COLUMN sj_workflow_task_batch.create_dt IS '创建时间'; -COMMENT ON COLUMN sj_workflow_task_batch.update_dt IS '修改时间'; -COMMENT ON TABLE sj_workflow_task_batch IS '工作流批次'; diff --git a/im-admin/script/sql/oracle/oracle_ry_vue_5.X.sql b/im-admin/script/sql/oracle/oracle_ry_vue_5.X.sql deleted file mode 100644 index 0aed89d..0000000 --- a/im-admin/script/sql/oracle/oracle_ry_vue_5.X.sql +++ /dev/null @@ -1,1364 +0,0 @@ --- ---------------------------- --- 第三方平台授权表 --- ---------------------------- -create table sys_social -( - id number(20) not null, - user_id number(20) not null, - tenant_id varchar2(20) default null, - auth_id varchar2(255) not null, - source varchar2(255) not null, - open_id varchar2(255) default null, - user_name varchar2(30) not null, - nick_name varchar2(30) default '', - email varchar2(255) default '', - avatar varchar2(500) default '', - access_token varchar2(255) not null, - expire_in number(20) default null, - refresh_token varchar2(255) default null, - access_code varchar2(255) default null, - union_id varchar2(255) default null, - scope varchar2(255) default null, - token_type varchar2(255) default null, - id_token varchar2(2000) default null, - mac_algorithm varchar2(255) default null, - mac_key varchar2(255) default null, - code varchar2(255) default null, - oauth_token varchar2(255) default null, - oauth_token_secret varchar2(255) default null, - create_dept number(20), - create_by number(20), - create_time date, - update_by number(20), - update_time date, - del_flag char(1) default '0' -); - -alter table sys_social add constraint pk_sys_social primary key (id); - -comment on table sys_social is '社会化关系表'; -comment on column sys_social.id is '主键'; -comment on column sys_social.user_id is '用户ID'; -comment on column sys_social.tenant_id is '租户id'; -comment on column sys_social.auth_id is '平台+平台唯一id'; -comment on column sys_social.source is '用户来源'; -comment on column sys_social.open_id is '平台编号唯一id'; -comment on column sys_social.user_name is '登录账号'; -comment on column sys_social.nick_name is '用户昵称'; -comment on column sys_social.email is '用户邮箱'; -comment on column sys_social.avatar is '头像地址'; -comment on column sys_social.access_token is '用户的授权令牌'; -comment on column sys_social.expire_in is '用户的授权令牌的有效期,部分平台可能没有'; -comment on column sys_social.refresh_token is '刷新令牌,部分平台可能没有'; -comment on column sys_social.access_code is '平台的授权信息,部分平台可能没有'; -comment on column sys_social.union_id is '用户的 unionid'; -comment on column sys_social.scope is '授予的权限,部分平台可能没有'; -comment on column sys_social.token_type is '个别平台的授权信息,部分平台可能没有'; -comment on column sys_social.id_token is 'id token,部分平台可能没有'; -comment on column sys_social.mac_algorithm is '小米平台用户的附带属性,部分平台可能没有'; -comment on column sys_social.mac_key is '小米平台用户的附带属性,部分平台可能没有'; -comment on column sys_social.code is '用户的授权code,部分平台可能没有'; -comment on column sys_social.oauth_token is 'Twitter平台用户的附带属性,部分平台可能没有'; -comment on column sys_social.oauth_token_secret is 'Twitter平台用户的附带属性,部分平台可能没有'; -comment on column sys_social.create_dept is '创建部门'; -comment on column sys_social.create_by is '创建者'; -comment on column sys_social.create_time is '创建时间'; -comment on column sys_social.update_by is '更新者'; -comment on column sys_social.update_time is '更新时间'; -comment on column sys_social.del_flag is '删除标志(0代表存在 2代表删除)'; - --- ---------------------------- --- 租户表 --- ---------------------------- -create table sys_tenant ( - id number(20) not null, - tenant_id varchar2(20) not null, - contact_user_name varchar2(20) default '', - contact_phone varchar2(20) default '', - company_name varchar2(50) default '', - license_number varchar2(30) default '', - address varchar2(200) default '', - intro varchar2(200) default '', - domain varchar2(200) default '', - remark varchar2(200) default '', - package_id number(20) default null, - expire_time date default null, - account_count number(4) default -1, - status char(1) default '0', - del_flag char(1) default '0', - create_dept number(20) default null, - create_by number(20) default null, - create_time date, - update_by number(20) default null, - update_time date -); - -alter table sys_tenant add constraint pk_sys_tenant primary key (id); - -comment on table sys_tenant is '租户表'; -comment on column sys_tenant.tenant_id is '租户编号'; -comment on column sys_tenant.contact_phone is '联系电话'; -comment on column sys_tenant.company_name is '企业名称'; -comment on column sys_tenant.company_name is '联系人'; -comment on column sys_tenant.license_number is '统一社会信用代码'; -comment on column sys_tenant.address is '地址'; -comment on column sys_tenant.intro is '企业简介'; -comment on column sys_tenant.remark is '备注'; -comment on column sys_tenant.package_id is '租户套餐编号'; -comment on column sys_tenant.expire_time is '过期时间'; -comment on column sys_tenant.account_count is '用户数量(-1不限制)'; -comment on column sys_tenant.status is '租户状态(0正常 1停用)'; -comment on column sys_tenant.del_flag is '删除标志(0代表存在 2代表删除)'; -comment on column sys_tenant.create_dept is '创建部门'; -comment on column sys_tenant.create_by is '创建者'; -comment on column sys_tenant.create_time is '创建时间'; -comment on column sys_tenant.update_by is '更新者'; -comment on column sys_tenant.update_time is '更新时间'; - --- ---------------------------- --- 初始化-租户表数据 --- ---------------------------- - -insert into sys_tenant values(1, '000000', '管理组', '15888888888', 'XXX有限公司', null, null, '多租户通用后台管理管理系统', null, null, null, null, -1, '0', '0', 103, 1, sysdate, null, null); - - --- ---------------------------- --- 租户套餐表 --- ---------------------------- -create table sys_tenant_package ( - package_id number(20) not null, - package_name varchar2(20) default '', - menu_ids varchar2(3000) default '', - remark varchar2(200) default '', - menu_check_strictly number(1) default 1, - status char(1) default '0', - del_flag char(1) default '0', - create_dept number(20) default null, - create_by number(20) default null, - create_time date, - update_by number(20) default null, - update_time date -); - -alter table sys_tenant_package add constraint pk_sys_tenant_package primary key (package_id); - -comment on table sys_tenant_package is '租户套餐表'; -comment on column sys_tenant_package.package_id is '租户套餐id'; -comment on column sys_tenant_package.package_name is '套餐名称'; -comment on column sys_tenant_package.menu_ids is '关联菜单id'; -comment on column sys_tenant_package.remark is '备注'; -comment on column sys_tenant_package.status is '状态(0正常 1停用)'; -comment on column sys_tenant_package.del_flag is '删除标志(0代表存在 2代表删除)'; -comment on column sys_tenant_package.create_dept is '创建部门'; -comment on column sys_tenant_package.create_by is '创建者'; -comment on column sys_tenant_package.create_time is '创建时间'; -comment on column sys_tenant_package.update_by is '更新者'; -comment on column sys_tenant_package.update_time is '更新时间'; - - --- ---------------------------- --- 1、部门表 --- ---------------------------- -create table sys_dept ( - dept_id number(20) not null, - tenant_id varchar2(20) default '000000', - parent_id number(20) default 0, - ancestors varchar2(500) default '', - dept_name varchar2(30) default '', - dept_category varchar2(100) default null, - order_num number(4) default 0, - leader number(20) default null, - phone varchar2(11) default null, - email varchar2(50) default null, - status char(1) default '0', - del_flag char(1) default '0', - create_dept number(20) default null, - create_by number(20) default null, - create_time date, - update_by number(20) default null, - update_time date -); - -alter table sys_dept add constraint pk_sys_dept primary key (dept_id); - -comment on table sys_dept is '部门表'; -comment on column sys_dept.dept_id is '部门id'; -comment on column sys_dept.tenant_id is '租户编号'; -comment on column sys_dept.parent_id is '父部门id'; -comment on column sys_dept.ancestors is '祖级列表'; -comment on column sys_dept.dept_name is '部门名称'; -comment on column sys_dept.dept_category is '部门类别编码'; -comment on column sys_dept.order_num is '显示顺序'; -comment on column sys_dept.leader is '负责人'; -comment on column sys_dept.phone is '联系电话'; -comment on column sys_dept.email is '邮箱'; -comment on column sys_dept.status is '部门状态(0正常 1停用)'; -comment on column sys_dept.del_flag is '删除标志(0代表存在 2代表删除)'; -comment on column sys_dept.create_dept is '创建部门'; -comment on column sys_dept.create_by is '创建者'; -comment on column sys_dept.create_time is '创建时间'; -comment on column sys_dept.update_by is '更新者'; -comment on column sys_dept.update_time is '更新时间'; - --- ---------------------------- --- 初始化-部门表数据 --- ---------------------------- - -insert into sys_dept values(100, '000000', 0, '0', 'XXX科技', null,0, null, '15888888888', 'xxx@qq.com', '0', '0', 103, 1, sysdate, null, null); -insert into sys_dept values(101, '000000', 100, '0,100', '深圳总公司', null,1, null, '15888888888', 'xxx@qq.com', '0', '0', 103, 1, sysdate, null, null); -insert into sys_dept values(102, '000000', 100, '0,100', '长沙分公司', null,2, null, '15888888888', 'xxx@qq.com', '0', '0', 103, 1, sysdate, null, null); -insert into sys_dept values(103, '000000', 101, '0,100,101', '研发部门', null,1, 1, '15888888888', 'xxx@qq.com', '0', '0', 103, 1, sysdate, null, null); -insert into sys_dept values(104, '000000', 101, '0,100,101', '市场部门', null,2, null, '15888888888', 'xxx@qq.com', '0', '0', 103, 1, sysdate, null, null); -insert into sys_dept values(105, '000000', 101, '0,100,101', '测试部门', null,3, null, '15888888888', 'xxx@qq.com', '0', '0', 103, 1, sysdate, null, null); -insert into sys_dept values(106, '000000', 101, '0,100,101', '财务部门', null,4, null, '15888888888', 'xxx@qq.com', '0', '0', 103, 1, sysdate, null, null); -insert into sys_dept values(107, '000000', 101, '0,100,101', '运维部门', null,5, null, '15888888888', 'xxx@qq.com', '0', '0', 103, 1, sysdate, null, null); -insert into sys_dept values(108, '000000', 102, '0,100,102', '市场部门', null,1, null, '15888888888', 'xxx@qq.com', '0', '0', 103, 1, sysdate, null, null); -insert into sys_dept values(109, '000000', 102, '0,100,102', '财务部门', null,2, null, '15888888888', 'xxx@qq.com', '0', '0', 103, 1, sysdate, null, null); - - --- ---------------------------- --- 2、用户信息表 --- ---------------------------- -create table sys_user ( - user_id number(20) not null, - tenant_id varchar2(20) default '000000', - dept_id number(20) default null, - user_name varchar2(40) not null, - nick_name varchar2(40) not null, - user_type varchar2(10) default 'sys_user', - email varchar2(50) default '', - phonenumber varchar2(11) default '', - sex char(1) default '0', - avatar number(20) default null, - password varchar2(100) default '', - status char(1) default '0', - del_flag char(1) default '0', - login_ip varchar2(128) default '', - login_date date, - create_dept number(20) default null, - create_by number(20) default null, - create_time date, - update_by number(20) default null, - update_time date, - remark varchar2(500) default '' -); - -alter table sys_user add constraint pk_sys_user primary key (user_id); - -comment on table sys_user is '用户信息表'; -comment on column sys_user.user_id is '用户ID'; -comment on column sys_user.tenant_id is '租户编号'; -comment on column sys_user.dept_id is '部门ID'; -comment on column sys_user.user_name is '用户账号'; -comment on column sys_user.nick_name is '用户昵称'; -comment on column sys_user.user_type is '用户类型(sys_user系统用户)'; -comment on column sys_user.email is '用户邮箱'; -comment on column sys_user.phonenumber is '手机号码'; -comment on column sys_user.sex is '用户性别(0男 1女 2未知)'; -comment on column sys_user.avatar is '头像路径'; -comment on column sys_user.password is '密码'; -comment on column sys_user.status is '帐号状态(0正常 1停用)'; -comment on column sys_user.del_flag is '删除标志(0代表存在 2代表删除)'; -comment on column sys_user.login_ip is '最后登录IP'; -comment on column sys_user.login_date is '最后登录时间'; -comment on column sys_user.create_dept is '创建部门'; -comment on column sys_user.create_by is '创建者'; -comment on column sys_user.create_time is '创建时间'; -comment on column sys_user.update_by is '更新者'; -comment on column sys_user.update_time is '更新时间'; -comment on column sys_user.remark is '备注'; - --- ---------------------------- --- 初始化-用户信息表数据 --- ---------------------------- -insert into sys_user values(1, '000000', 103, 'admin', '疯狂的狮子Li', 'sys_user', 'crazyLionLi@163.com', '15888888888', '1', null, '$2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2', '0', '0', '127.0.0.1', sysdate, 103, 1, sysdate, null, null, '管理员'); -insert into sys_user values(3, '000000', 108, 'test', '本部门及以下 密码666666', 'sys_user', '', '', '0', null, '$2a$10$b8yUzN0C71sbz.PhNOCgJe.Tu1yWC3RNrTyjSQ8p1W0.aaUXUJ.Ne', '0', '0', '127.0.0.1', sysdate, 103, 1, sysdate, null, null, ''); -insert into sys_user values(4, '000000', 102, 'test1', '仅本人 密码666666', 'sys_user', '', '', '0', null, '$2a$10$b8yUzN0C71sbz.PhNOCgJe.Tu1yWC3RNrTyjSQ8p1W0.aaUXUJ.Ne', '0', '0', '127.0.0.1', sysdate, 103, 1, sysdate, null, null, ''); - --- ---------------------------- --- 3、岗位信息表 --- ---------------------------- -create table sys_post ( - post_id number(20) not null, - tenant_id varchar2(20) default '000000', - dept_id number(20) not null, - post_code varchar2(64) not null, - post_category varchar2(64) default null, - post_name varchar2(50) not null, - post_sort number(4) not null, - status char(1) not null, - create_dept number(20) default null, - create_by number(20) default null, - create_time date, - update_by number(20) default null, - update_time date, - remark varchar2(500) -); - -alter table sys_post add constraint pk_sys_post primary key (post_id); - -comment on table sys_post is '岗位信息表'; -comment on column sys_post.post_id is '岗位ID'; -comment on column sys_post.tenant_id is '租户编号'; -comment on column sys_post.dept_id is '部门id'; -comment on column sys_post.post_code is '岗位编码'; -comment on column sys_post.post_category is '岗位类别编码'; -comment on column sys_post.post_name is '岗位名称'; -comment on column sys_post.post_sort is '显示顺序'; -comment on column sys_post.status is '状态(0正常 1停用)'; -comment on column sys_post.create_dept is '创建部门'; -comment on column sys_post.create_by is '创建者'; -comment on column sys_post.create_time is '创建时间'; -comment on column sys_post.update_by is '更新者'; -comment on column sys_post.update_time is '更新时间'; -comment on column sys_post.remark is '备注'; - --- ---------------------------- --- 初始化-岗位信息表数据 --- ---------------------------- -insert into sys_post values(1, '000000', 103, 'ceo', null, '董事长', 1, '0', 103, 1, sysdate, null, null, ''); -insert into sys_post values(2, '000000', 100, 'se', null, '项目经理', 2, '0', 103, 1, sysdate, null, null, ''); -insert into sys_post values(3, '000000', 100, 'hr', null, '人力资源', 3, '0', 103, 1, sysdate, null, null, ''); -insert into sys_post values(4, '000000', 100, 'user', null, '普通员工', 4, '0', 103, 1, sysdate, null, null, ''); - - --- ---------------------------- --- 4、角色信息表 --- ---------------------------- -create table sys_role ( - role_id number(20) not null, - tenant_id varchar2(20) default '000000', - role_name varchar2(30) not null, - role_key varchar2(100) not null, - role_sort number(4) not null, - data_scope char(1) default '1', - menu_check_strictly number(1) default 1, - dept_check_strictly number(1) default 1, - status char(1) not null, - del_flag char(1) default '0', - create_dept number(20) default null, - create_by number(20) default null, - create_time date, - update_by number(20) default null, - update_time date, - remark varchar2(500) default null -); - -alter table sys_role add constraint pk_sys_role primary key (role_id); - -comment on table sys_role is '角色信息表'; -comment on column sys_role.role_id is '角色ID'; -comment on column sys_role.tenant_id is '租户编号'; -comment on column sys_role.role_name is '角色名称'; -comment on column sys_role.role_key is '角色权限字符串'; -comment on column sys_role.role_sort is '显示顺序'; -comment on column sys_role.data_scope is '数据范围(1:全部数据权限 2:自定数据权限 3:本部门数据权限 4:本部门及以下数据权限)'; -comment on column sys_role.menu_check_strictly is '菜单树选择项是否关联显示'; -comment on column sys_role.dept_check_strictly is '部门树选择项是否关联显示'; -comment on column sys_role.status is '角色状态(0正常 1停用)'; -comment on column sys_role.del_flag is '删除标志(0代表存在 2代表删除)'; -comment on column sys_role.create_dept is '创建部门'; -comment on column sys_role.create_by is '创建者'; -comment on column sys_role.create_time is '创建时间'; -comment on column sys_role.update_by is '更新者'; -comment on column sys_role.update_time is '更新时间'; -comment on column sys_role.remark is '备注'; - --- ---------------------------- --- 初始化-角色信息表数据 --- ---------------------------- -insert into sys_role values('1', '000000', '超级管理员', 'superadmin', 1, 1, 1, 1, '0', '0', 103, 1, sysdate, null, null, '超级管理员'); -insert into sys_role values('3', '000000', '本部门及以下', 'test1', 3, 4, 1, 1, '0', '0', 103, 1, sysdate, null, null, null); -insert into sys_role values('4', '000000', '仅本人', 'test2', 4, 5, 1, 1, '0', '0', 103, 1, sysdate, null, null, null); - --- ---------------------------- --- 5、菜单权限表 --- ---------------------------- -create table sys_menu ( - menu_id number(20) not null, - menu_name varchar2(50) not null, - parent_id number(20) default 0, - order_num number(4) default 0, - path varchar2(200) default '', - component varchar2(255) default null, - query_param varchar2(255) default null, - is_frame number(1) default 1, - is_cache number(1) default 0, - menu_type char(1) default '', - visible char(1) default 0, - status char(1) default 0, - perms varchar2(100) default null, - icon varchar2(100) default '#', - create_dept number(20) default null, - create_by number(20) default null, - create_time date, - update_by number(20) default null, - update_time date , - remark varchar2(500) default '' -); - -alter table sys_menu add constraint pk_sys_menu primary key (menu_id); - -comment on table sys_menu is '菜单权限表'; -comment on column sys_menu.menu_id is '菜单ID'; -comment on column sys_menu.menu_name is '菜单名称'; -comment on column sys_menu.parent_id is '父菜单ID'; -comment on column sys_menu.order_num is '显示顺序'; -comment on column sys_menu.path is '请求地址'; -comment on column sys_menu.component is '路由地址'; -comment on column sys_menu.query_param is '路由参数'; -comment on column sys_menu.is_frame is '是否为外链(0是 1否)'; -comment on column sys_menu.is_cache is '是否缓存(0缓存 1不缓存)'; -comment on column sys_menu.menu_type is '菜单类型(M目录 C菜单 F按钮)'; -comment on column sys_menu.visible is '显示状态(0显示 1隐藏)'; -comment on column sys_menu.status is '菜单状态(0正常 1停用)'; -comment on column sys_menu.perms is '权限标识'; -comment on column sys_menu.icon is '菜单图标'; -comment on column sys_menu.create_dept is '创建部门'; -comment on column sys_menu.create_by is '创建者'; -comment on column sys_menu.create_time is '创建时间'; -comment on column sys_menu.update_by is '更新者'; -comment on column sys_menu.update_time is '更新时间'; -comment on column sys_menu.remark is '备注'; - --- ---------------------------- --- 初始化-菜单信息表数据 --- ---------------------------- --- 一级菜单 -insert into sys_menu values('1', '系统管理', '0', '1', 'system', null, '', 1, 0, 'M', '0', '0', '', 'system', 103, 1, sysdate, null, null, '系统管理目录'); -insert into sys_menu values('6', '租户管理', '0', '2', 'tenant', null, '', 1, 0, 'M', '0', '0', '', 'chart', 103, 1, sysdate, null, null, '租户管理目录'); -insert into sys_menu values('2', '系统监控', '0', '3', 'monitor', null, '', 1, 0, 'M', '0', '0', '', 'monitor', 103, 1, sysdate, null, null, '系统监控目录'); -insert into sys_menu values('3', '系统工具', '0', '4', 'tool', null, '', 1, 0, 'M', '0', '0', '', 'tool', 103, 1, sysdate, null, null, '系统工具目录'); -insert into sys_menu values('4', 'PLUS官网', '0', '5', 'https://gitee.com/dromara/RuoYi-Vue-Plus', null, '', 0, 0, 'M', '0', '0', '', 'guide', 103, 1, sysdate, null, null, 'RuoYi-Vue-Plus官网地址'); -insert into sys_menu values('5', '测试菜单', '0', '5', 'demo', null, '', 1, 0, 'M', '0', '0', null, 'star', 103, 1, sysdate, null, null, ''); --- 二级菜单 -insert into sys_menu values('100', '用户管理', '1', '1', 'user', 'system/user/index', '', 1, 0, 'C', '0', '0', 'system:user:list', 'user', 103, 1, sysdate, null, null, '用户管理菜单'); -insert into sys_menu values('101', '角色管理', '1', '2', 'role', 'system/role/index', '', 1, 0, 'C', '0', '0', 'system:role:list', 'peoples', 103, 1, sysdate, null, null, '角色管理菜单'); -insert into sys_menu values('102', '菜单管理', '1', '3', 'menu', 'system/menu/index', '', 1, 0, 'C', '0', '0', 'system:menu:list', 'tree-table', 103, 1, sysdate, null, null, '菜单管理菜单'); -insert into sys_menu values('103', '部门管理', '1', '4', 'dept', 'system/dept/index', '', 1, 0, 'C', '0', '0', 'system:dept:list', 'tree', 103, 1, sysdate, null, null, '部门管理菜单'); -insert into sys_menu values('104', '岗位管理', '1', '5', 'post', 'system/post/index', '', 1, 0, 'C', '0', '0', 'system:post:list', 'post', 103, 1, sysdate, null, null, '岗位管理菜单'); -insert into sys_menu values('105', '字典管理', '1', '6', 'dict', 'system/dict/index', '', 1, 0, 'C', '0', '0', 'system:dict:list', 'dict', 103, 1, sysdate, null, null, '字典管理菜单'); -insert into sys_menu values('106', '参数设置', '1', '7', 'config', 'system/config/index', '', 1, 0, 'C', '0', '0', 'system:config:list', 'edit', 103, 1, sysdate, null, null, '参数设置菜单'); -insert into sys_menu values('107', '通知公告', '1', '8', 'notice', 'system/notice/index', '', 1, 0, 'C', '0', '0', 'system:notice:list', 'message', 103, 1, sysdate, null, null, '通知公告菜单'); -insert into sys_menu values('108', '日志管理', '1', '9', 'log', '', '', 1, 0, 'M', '0', '0', '', 'log', 103, 1, sysdate, null, null, '日志管理菜单'); -insert into sys_menu values('109', '在线用户', '2', '1', 'online', 'monitor/online/index', '', 1, 0, 'C', '0', '0', 'monitor:online:list', 'online', 103, 1, sysdate, null, null, '在线用户菜单'); -insert into sys_menu values('113', '缓存监控', '2', '5', 'cache', 'monitor/cache/index', '', 1, 0, 'C', '0', '0', 'monitor:cache:list', 'redis', 103, 1, sysdate, null, null, '缓存监控菜单'); -insert into sys_menu values('115', '代码生成', '3', '2', 'gen', 'tool/gen/index', '', 1, 0, 'C', '0', '0', 'tool:gen:list', 'code', 103, 1, sysdate, null, null, '代码生成菜单'); -insert into sys_menu values('121', '租户管理', '6', '1', 'tenant', 'system/tenant/index', '', 1, 0, 'C', '0', '0', 'system:tenant:list', 'list', 103, 1, sysdate, null, null, '租户管理菜单'); -insert into sys_menu values('122', '租户套餐管理', '6', '2', 'tenantPackage', 'system/tenantPackage/index', '', 1, 0, 'C', '0', '0', 'system:tenantPackage:list', 'form', 103, 1, sysdate, null, null, '租户套餐管理菜单'); -insert into sys_menu values('123', '客户端管理', '1', '11', 'client', 'system/client/index', '', 1, 0, 'C', '0', '0', 'system:client:list', 'international', 103, 1, sysdate, null, null, '客户端管理菜单'); --- springboot-admin监控 -insert into sys_menu values('117', 'Admin监控', '2', '5', 'Admin', 'monitor/admin/index', '', 1, 0, 'C', '0', '0', 'monitor:admin:list', 'dashboard', 103, 1, sysdate, null, null, 'Admin监控菜单'); --- oss菜单 -insert into sys_menu values('118', '文件管理', '1', '10', 'oss', 'system/oss/index', '', 1, 0, 'C', '0', '0', 'system:oss:list', 'upload', 103, 1, sysdate, null, null, '文件管理菜单'); --- snail-job server控制台 -insert into sys_menu values('120', '任务调度中心', '2', '5', 'snailjob', 'monitor/snailjob/index', '', 1, 0, 'C', '0', '0', 'monitor:snailjob:list', 'job', 103, 1, sysdate, null, null, 'snailjob控制台菜单'); - --- 三级菜单 -insert into sys_menu values('500', '操作日志', '108', '1', 'operlog', 'monitor/operlog/index', '', 1, 0, 'C', '0', '0', 'monitor:operlog:list', 'form', 103, 1, sysdate, null, null, '操作日志菜单'); -insert into sys_menu values('501', '登录日志', '108', '2', 'logininfor', 'monitor/logininfor/index', '', 1, 0, 'C', '0', '0', 'monitor:logininfor:list', 'logininfor', 103, 1, sysdate, null, null, '登录日志菜单'); --- 用户管理按钮 -insert into sys_menu values('1001', '用户查询', '100', '1', '', '', '', 1, 0, 'F', '0', '0', 'system:user:query', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1002', '用户新增', '100', '2', '', '', '', 1, 0, 'F', '0', '0', 'system:user:add', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1003', '用户修改', '100', '3', '', '', '', 1, 0, 'F', '0', '0', 'system:user:edit', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1004', '用户删除', '100', '4', '', '', '', 1, 0, 'F', '0', '0', 'system:user:remove', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1005', '用户导出', '100', '5', '', '', '', 1, 0, 'F', '0', '0', 'system:user:export', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1006', '用户导入', '100', '6', '', '', '', 1, 0, 'F', '0', '0', 'system:user:import', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1007', '重置密码', '100', '7', '', '', '', 1, 0, 'F', '0', '0', 'system:user:resetPwd', '#', 103, 1, sysdate, null, null, ''); --- 角色管理按钮 -insert into sys_menu values('1008', '角色查询', '101', '1', '', '', '', 1, 0, 'F', '0', '0', 'system:role:query', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1009', '角色新增', '101', '2', '', '', '', 1, 0, 'F', '0', '0', 'system:role:add', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1010', '角色修改', '101', '3', '', '', '', 1, 0, 'F', '0', '0', 'system:role:edit', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1011', '角色删除', '101', '4', '', '', '', 1, 0, 'F', '0', '0', 'system:role:remove', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1012', '角色导出', '101', '5', '', '', '', 1, 0, 'F', '0', '0', 'system:role:export', '#', 103, 1, sysdate, null, null, ''); --- 菜单管理按钮 -insert into sys_menu values('1013', '菜单查询', '102', '1', '', '', '', 1, 0, 'F', '0', '0', 'system:menu:query', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1014', '菜单新增', '102', '2', '', '', '', 1, 0, 'F', '0', '0', 'system:menu:add', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1015', '菜单修改', '102', '3', '', '', '', 1, 0, 'F', '0', '0', 'system:menu:edit', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1016', '菜单删除', '102', '4', '', '', '', 1, 0, 'F', '0', '0', 'system:menu:remove', '#', 103, 1, sysdate, null, null, ''); --- 部门管理按钮 -insert into sys_menu values('1017', '部门查询', '103', '1', '', '', '', 1, 0, 'F', '0', '0', 'system:dept:query', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1018', '部门新增', '103', '2', '', '', '', 1, 0, 'F', '0', '0', 'system:dept:add', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1019', '部门修改', '103', '3', '', '', '', 1, 0, 'F', '0', '0', 'system:dept:edit', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1020', '部门删除', '103', '4', '', '', '', 1, 0, 'F', '0', '0', 'system:dept:remove', '#', 103, 1, sysdate, null, null, ''); --- 岗位管理按钮 -insert into sys_menu values('1021', '岗位查询', '104', '1', '', '', '', 1, 0, 'F', '0', '0', 'system:post:query', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1022', '岗位新增', '104', '2', '', '', '', 1, 0, 'F', '0', '0', 'system:post:add', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1023', '岗位修改', '104', '3', '', '', '', 1, 0, 'F', '0', '0', 'system:post:edit', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1024', '岗位删除', '104', '4', '', '', '', 1, 0, 'F', '0', '0', 'system:post:remove', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1025', '岗位导出', '104', '5', '', '', '', 1, 0, 'F', '0', '0', 'system:post:export', '#', 103, 1, sysdate, null, null, ''); --- 字典管理按钮 -insert into sys_menu values('1026', '字典查询', '105', '1', '#', '', '', 1, 0, 'F', '0', '0', 'system:dict:query', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1027', '字典新增', '105', '2', '#', '', '', 1, 0, 'F', '0', '0', 'system:dict:add', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1028', '字典修改', '105', '3', '#', '', '', 1, 0, 'F', '0', '0', 'system:dict:edit', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1029', '字典删除', '105', '4', '#', '', '', 1, 0, 'F', '0', '0', 'system:dict:remove', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1030', '字典导出', '105', '5', '#', '', '', 1, 0, 'F', '0', '0', 'system:dict:export', '#', 103, 1, sysdate, null, null, ''); --- 参数设置按钮 -insert into sys_menu values('1031', '参数查询', '106', '1', '#', '', '', 1, 0, 'F', '0', '0', 'system:config:query', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1032', '参数新增', '106', '2', '#', '', '', 1, 0, 'F', '0', '0', 'system:config:add', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1033', '参数修改', '106', '3', '#', '', '', 1, 0, 'F', '0', '0', 'system:config:edit', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1034', '参数删除', '106', '4', '#', '', '', 1, 0, 'F', '0', '0', 'system:config:remove', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1035', '参数导出', '106', '5', '#', '', '', 1, 0, 'F', '0', '0', 'system:config:export', '#', 103, 1, sysdate, null, null, ''); --- 通知公告按钮 -insert into sys_menu values('1036', '公告查询', '107', '1', '#', '', '', 1, 0, 'F', '0', '0', 'system:notice:query', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1037', '公告新增', '107', '2', '#', '', '', 1, 0, 'F', '0', '0', 'system:notice:add', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1038', '公告修改', '107', '3', '#', '', '', 1, 0, 'F', '0', '0', 'system:notice:edit', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1039', '公告删除', '107', '4', '#', '', '', 1, 0, 'F', '0', '0', 'system:notice:remove', '#', 103, 1, sysdate, null, null, ''); --- 操作日志按钮 -insert into sys_menu values('1040', '操作查询', '500', '1', '#', '', '', 1, 0, 'F', '0', '0', 'monitor:operlog:query', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1041', '操作删除', '500', '2', '#', '', '', 1, 0, 'F', '0', '0', 'monitor:operlog:remove', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1042', '日志导出', '500', '4', '#', '', '', 1, 0, 'F', '0', '0', 'monitor:operlog:export', '#', 103, 1, sysdate, null, null, ''); --- 登录日志按钮 -insert into sys_menu values('1043', '登录查询', '501', '1', '#', '', '', 1, 0, 'F', '0', '0', 'monitor:logininfor:query', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1044', '登录删除', '501', '2', '#', '', '', 1, 0, 'F', '0', '0', 'monitor:logininfor:remove', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1045', '日志导出', '501', '3', '#', '', '', 1, 0, 'F', '0', '0', 'monitor:logininfor:export', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1050', '账户解锁', '501', '4', '#', '', '', 1, 0, 'F', '0', '0', 'monitor:logininfor:unlock', '#', 103, 1, sysdate, null, null, ''); --- 在线用户按钮 -insert into sys_menu values('1046', '在线查询', '109', '1', '#', '', '', 1, 0, 'F', '0', '0', 'monitor:online:query', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1047', '批量强退', '109', '2', '#', '', '', 1, 0, 'F', '0', '0', 'monitor:online:batchLogout', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1048', '单条强退', '109', '3', '#', '', '', 1, 0, 'F', '0', '0', 'monitor:online:forceLogout', '#', 103, 1, sysdate, null, null, ''); --- 代码生成按钮 -insert into sys_menu values('1055', '生成查询', '115', '1', '#', '', '', 1, 0, 'F', '0', '0', 'tool:gen:query', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1056', '生成修改', '115', '2', '#', '', '', 1, 0, 'F', '0', '0', 'tool:gen:edit', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1057', '生成删除', '115', '3', '#', '', '', 1, 0, 'F', '0', '0', 'tool:gen:remove', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1058', '导入代码', '115', '2', '#', '', '', 1, 0, 'F', '0', '0', 'tool:gen:import', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1059', '预览代码', '115', '4', '#', '', '', 1, 0, 'F', '0', '0', 'tool:gen:preview', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1060', '生成代码', '115', '5', '#', '', '', 1, 0, 'F', '0', '0', 'tool:gen:code', '#', 103, 1, sysdate, null, null, ''); --- oss相关按钮 -insert into sys_menu values('1600', '文件查询', '118', '1', '#', '', '', 1, 0, 'F', '0', '0', 'system:oss:query', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1601', '文件上传', '118', '2', '#', '', '', 1, 0, 'F', '0', '0', 'system:oss:upload', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1602', '文件下载', '118', '3', '#', '', '', 1, 0, 'F', '0', '0', 'system:oss:download', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1603', '文件删除', '118', '4', '#', '', '', 1, 0, 'F', '0', '0', 'system:oss:remove', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1620', '配置列表', '118', '5', '#', '', '', 1, 0, 'F', '0', '0', 'system:ossConfig:list', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1621', '配置添加', '118', '6', '#', '', '', 1, 0, 'F', '0', '0', 'system:ossConfig:add', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1622', '配置编辑', '118', '6', '#', '', '', 1, 0, 'F', '0', '0', 'system:ossConfig:edit', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1623', '配置删除', '118', '6', '#', '', '', 1, 0, 'F', '0', '0', 'system:ossConfig:remove', '#', 103, 1, sysdate, null, null, ''); --- 租户管理相关按钮 -insert into sys_menu values('1606', '租户查询', '121', '1', '#', '', '', 1, 0, 'F', '0', '0', 'system:tenant:query', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1607', '租户新增', '121', '2', '#', '', '', 1, 0, 'F', '0', '0', 'system:tenant:add', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1608', '租户修改', '121', '3', '#', '', '', 1, 0, 'F', '0', '0', 'system:tenant:edit', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1609', '租户删除', '121', '4', '#', '', '', 1, 0, 'F', '0', '0', 'system:tenant:remove', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1610', '租户导出', '121', '5', '#', '', '', 1, 0, 'F', '0', '0', 'system:tenant:export', '#', 103, 1, sysdate, null, null, ''); --- 租户套餐管理相关按钮 -insert into sys_menu values('1611', '租户套餐查询', '122', '1', '#', '', '', 1, 0, 'F', '0', '0', 'system:tenantPackage:query', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1612', '租户套餐新增', '122', '2', '#', '', '', 1, 0, 'F', '0', '0', 'system:tenantPackage:add', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1613', '租户套餐修改', '122', '3', '#', '', '', 1, 0, 'F', '0', '0', 'system:tenantPackage:edit', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1614', '租户套餐删除', '122', '4', '#', '', '', 1, 0, 'F', '0', '0', 'system:tenantPackage:remove', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1615', '租户套餐导出', '122', '5', '#', '', '', 1, 0, 'F', '0', '0', 'system:tenantPackage:export', '#', 103, 1, sysdate, null, null, ''); --- 客户端管理按钮 -insert into sys_menu values('1061', '客户端管理查询', '123', '1', '#', '', '', 1, 0, 'F', '0', '0', 'system:client:query', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1062', '客户端管理新增', '123', '2', '#', '', '', 1, 0, 'F', '0', '0', 'system:client:add', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1063', '客户端管理修改', '123', '3', '#', '', '', 1, 0, 'F', '0', '0', 'system:client:edit', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1064', '客户端管理删除', '123', '4', '#', '', '', 1, 0, 'F', '0', '0', 'system:client:remove', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1065', '客户端管理导出', '123', '5', '#', '', '', 1, 0, 'F', '0', '0', 'system:client:export', '#', 103, 1, sysdate, null, null, ''); --- 测试菜单 -insert into sys_menu values('1500', '测试单表', '5', '1', 'demo', 'demo/demo/index', '', 1, 0, 'C', '0', '0', 'demo:demo:list', '#', 103, 1, sysdate, null, null, '测试单表菜单'); -insert into sys_menu values('1501', '测试单表查询', '1500', '1', '#', '', '', 1, 0, 'F', '0', '0', 'demo:demo:query', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1502', '测试单表新增', '1500', '2', '#', '', '', 1, 0, 'F', '0', '0', 'demo:demo:add', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1503', '测试单表修改', '1500', '3', '#', '', '', 1, 0, 'F', '0', '0', 'demo:demo:edit', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1504', '测试单表删除', '1500', '4', '#', '', '', 1, 0, 'F', '0', '0', 'demo:demo:remove', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1505', '测试单表导出', '1500', '5', '#', '', '', 1, 0, 'F', '0', '0', 'demo:demo:export', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1506', '测试树表', '5', '1', 'tree', 'demo/tree/index', '', 1, 0, 'C', '0', '0', 'demo:tree:list', '#', 103, 1, sysdate, null, null, '测试树表菜单'); -insert into sys_menu values('1507', '测试树表查询', '1506', '1', '#', '', '', 1, 0, 'F', '0', '0', 'demo:tree:query', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1508', '测试树表新增', '1506', '2', '#', '', '', 1, 0, 'F', '0', '0', 'demo:tree:add', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1509', '测试树表修改', '1506', '3', '#', '', '', 1, 0, 'F', '0', '0', 'demo:tree:edit', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1510', '测试树表删除', '1506', '4', '#', '', '', 1, 0, 'F', '0', '0', 'demo:tree:remove', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1511', '测试树表导出', '1506', '5', '#', '', '', 1, 0, 'F', '0', '0', 'demo:tree:export', '#', 103, 1, sysdate, null, null, ''); - - --- ---------------------------- --- 6、用户和角色关联表 用户N-1角色 --- ---------------------------- -create table sys_user_role ( - user_id number(20) not null, - role_id number(20) not null -); - -alter table sys_user_role add constraint pk_sys_user_role primary key (user_id, role_id); - -comment on table sys_user_role is '用户和角色关联表'; -comment on column sys_user_role.user_id is '用户ID'; -comment on column sys_user_role.role_id is '角色ID'; - --- ---------------------------- --- 初始化-用户和角色关联表数据 --- ---------------------------- -insert into sys_user_role values ('1', '1'); -insert into sys_user_role values ('3', '3'); -insert into sys_user_role values ('4', '4'); - --- ---------------------------- --- 7、角色和菜单关联表 角色1-N菜单 --- ---------------------------- -create table sys_role_menu ( - role_id number(20) not null, - menu_id number(20) not null -); - -alter table sys_role_menu add constraint pk_sys_role_menu primary key (role_id, menu_id); - -comment on table sys_role_menu is '角色和菜单关联表'; -comment on column sys_role_menu.role_id is '角色ID'; -comment on column sys_role_menu.menu_id is '菜单ID'; - --- ---------------------------- --- 初始化-角色和菜单关联表数据 --- ---------------------------- -insert into sys_role_menu values ('3', '1'); -insert into sys_role_menu values ('3', '5'); -insert into sys_role_menu values ('3', '100'); -insert into sys_role_menu values ('3', '101'); -insert into sys_role_menu values ('3', '102'); -insert into sys_role_menu values ('3', '103'); -insert into sys_role_menu values ('3', '104'); -insert into sys_role_menu values ('3', '105'); -insert into sys_role_menu values ('3', '106'); -insert into sys_role_menu values ('3', '107'); -insert into sys_role_menu values ('3', '108'); -insert into sys_role_menu values ('3', '500'); -insert into sys_role_menu values ('3', '501'); -insert into sys_role_menu values ('3', '1001'); -insert into sys_role_menu values ('3', '1002'); -insert into sys_role_menu values ('3', '1003'); -insert into sys_role_menu values ('3', '1004'); -insert into sys_role_menu values ('3', '1005'); -insert into sys_role_menu values ('3', '1006'); -insert into sys_role_menu values ('3', '1007'); -insert into sys_role_menu values ('3', '1008'); -insert into sys_role_menu values ('3', '1009'); -insert into sys_role_menu values ('3', '1010'); -insert into sys_role_menu values ('3', '1011'); -insert into sys_role_menu values ('3', '1012'); -insert into sys_role_menu values ('3', '1013'); -insert into sys_role_menu values ('3', '1014'); -insert into sys_role_menu values ('3', '1015'); -insert into sys_role_menu values ('3', '1016'); -insert into sys_role_menu values ('3', '1017'); -insert into sys_role_menu values ('3', '1018'); -insert into sys_role_menu values ('3', '1019'); -insert into sys_role_menu values ('3', '1020'); -insert into sys_role_menu values ('3', '1021'); -insert into sys_role_menu values ('3', '1022'); -insert into sys_role_menu values ('3', '1023'); -insert into sys_role_menu values ('3', '1024'); -insert into sys_role_menu values ('3', '1025'); -insert into sys_role_menu values ('3', '1026'); -insert into sys_role_menu values ('3', '1027'); -insert into sys_role_menu values ('3', '1028'); -insert into sys_role_menu values ('3', '1029'); -insert into sys_role_menu values ('3', '1030'); -insert into sys_role_menu values ('3', '1031'); -insert into sys_role_menu values ('3', '1032'); -insert into sys_role_menu values ('3', '1033'); -insert into sys_role_menu values ('3', '1034'); -insert into sys_role_menu values ('3', '1035'); -insert into sys_role_menu values ('3', '1036'); -insert into sys_role_menu values ('3', '1037'); -insert into sys_role_menu values ('3', '1038'); -insert into sys_role_menu values ('3', '1039'); -insert into sys_role_menu values ('3', '1040'); -insert into sys_role_menu values ('3', '1041'); -insert into sys_role_menu values ('3', '1042'); -insert into sys_role_menu values ('3', '1043'); -insert into sys_role_menu values ('3', '1044'); -insert into sys_role_menu values ('3', '1045'); -insert into sys_role_menu values ('3', '1500'); -insert into sys_role_menu values ('3', '1501'); -insert into sys_role_menu values ('3', '1502'); -insert into sys_role_menu values ('3', '1503'); -insert into sys_role_menu values ('3', '1504'); -insert into sys_role_menu values ('3', '1505'); -insert into sys_role_menu values ('3', '1506'); -insert into sys_role_menu values ('3', '1507'); -insert into sys_role_menu values ('3', '1508'); -insert into sys_role_menu values ('3', '1509'); -insert into sys_role_menu values ('3', '1510'); -insert into sys_role_menu values ('3', '1511'); -insert into sys_role_menu values ('4', '5'); -insert into sys_role_menu values ('4', '1500'); -insert into sys_role_menu values ('4', '1501'); -insert into sys_role_menu values ('4', '1502'); -insert into sys_role_menu values ('4', '1503'); -insert into sys_role_menu values ('4', '1504'); -insert into sys_role_menu values ('4', '1505'); -insert into sys_role_menu values ('4', '1506'); -insert into sys_role_menu values ('4', '1507'); -insert into sys_role_menu values ('4', '1508'); -insert into sys_role_menu values ('4', '1509'); -insert into sys_role_menu values ('4', '1510'); -insert into sys_role_menu values ('4', '1511'); - --- ---------------------------- --- 8、角色和部门关联表 角色1-N部门 --- ---------------------------- -create table sys_role_dept ( - role_id number(20) not null, - dept_id number(20) not null -); - -alter table sys_role_dept add constraint pk_sys_role_dept primary key (role_id, dept_id); - -comment on table sys_role_dept is '角色和部门关联表'; -comment on column sys_role_dept.role_id is '角色ID'; -comment on column sys_role_dept.dept_id is '部门ID'; - - --- ---------------------------- --- 9、用户与岗位关联表 用户1-N岗位 --- ---------------------------- -create table sys_user_post ( - user_id number(20) not null, - post_id number(20) not null -); - -alter table sys_user_post add constraint pk_sys_user_post primary key (user_id, post_id); - -comment on table sys_user_post is '用户与岗位关联表'; -comment on column sys_user_post.user_id is '用户ID'; -comment on column sys_user_post.post_id is '岗位ID'; - --- ---------------------------- --- 初始化-用户与岗位关联表数据 --- ---------------------------- -insert into sys_user_post values ('1', '1'); - --- ---------------------------- --- 10、操作日志记录 --- ---------------------------- -create table sys_oper_log ( - oper_id number(20) not null, - tenant_id varchar2(20) default '000000', - title varchar2(50) default '', - business_type number(2) default 0, - method varchar2(100) default '', - request_method varchar2(10) default '', - operator_type number(1) default 0, - oper_name varchar2(50) default '', - dept_name varchar2(50) default '', - oper_url varchar2(255) default '', - oper_ip varchar2(128) default '', - oper_location varchar2(255) default '', - oper_param varchar2(2100) default '', - json_result varchar2(2100) default '', - status number(1) default 0, - error_msg varchar2(2100) default '', - oper_time date, - cost_time number(20) default 0 -); - -alter table sys_oper_log add constraint pk_sys_oper_log primary key (oper_id); -create index idx_sys_oper_log_bt on sys_oper_log (business_type); -create index idx_sys_oper_log_s on sys_oper_log (status); -create index idx_sys_oper_log_ot on sys_oper_log (oper_time); - -comment on table sys_oper_log is '操作日志记录'; -comment on column sys_oper_log.oper_id is '日志主键'; -comment on column sys_oper_log.tenant_id is '租户编号'; -comment on column sys_oper_log.title is '模块标题'; -comment on column sys_oper_log.business_type is '业务类型(0其它 1新增 2修改 3删除)'; -comment on column sys_oper_log.method is '方法名称'; -comment on column sys_oper_log.request_method is '请求方式'; -comment on column sys_oper_log.operator_type is '操作类别(0其它 1后台用户 2手机端用户)'; -comment on column sys_oper_log.oper_name is '操作人员'; -comment on column sys_oper_log.dept_name is '部门名称'; -comment on column sys_oper_log.oper_url is '请求URL'; -comment on column sys_oper_log.oper_ip is '主机地址'; -comment on column sys_oper_log.oper_location is '操作地点'; -comment on column sys_oper_log.oper_param is '请求参数'; -comment on column sys_oper_log.json_result is '返回参数'; -comment on column sys_oper_log.status is '操作状态(0正常 1异常)'; -comment on column sys_oper_log.error_msg is '错误消息'; -comment on column sys_oper_log.oper_time is '操作时间'; -comment on column sys_oper_log.cost_time is '消耗时间'; - - --- ---------------------------- --- 11、字典类型表 --- ---------------------------- -create table sys_dict_type ( - dict_id number(20) not null, - tenant_id varchar2(20) default '000000', - dict_name varchar2(100) default '', - dict_type varchar2(100) default '', - create_dept number(20) default null, - create_by number(20) default null, - create_time date, - update_by number(20) default null, - update_time date, - remark varchar2(500) default null -); - -alter table sys_dict_type add constraint pk_sys_dict_type primary key (dict_id); -create unique index sys_dict_type_index1 on sys_dict_type (tenant_id, dict_type); - -comment on table sys_dict_type is '字典类型表'; -comment on column sys_dict_type.dict_id is '字典主键'; -comment on column sys_dict_type.tenant_id is '租户编号'; -comment on column sys_dict_type.dict_name is '字典名称'; -comment on column sys_dict_type.dict_type is '字典类型'; -comment on column sys_dict_type.create_dept is '创建部门'; -comment on column sys_dict_type.create_by is '创建者'; -comment on column sys_dict_type.create_time is '创建时间'; -comment on column sys_dict_type.update_by is '更新者'; -comment on column sys_dict_type.update_time is '更新时间'; -comment on column sys_dict_type.remark is '备注'; - -insert into sys_dict_type values(1, '000000', '用户性别', 'sys_user_sex', 103, 1, sysdate, null, null, '用户性别列表'); -insert into sys_dict_type values(2, '000000', '菜单状态', 'sys_show_hide', 103, 1, sysdate, null, null, '菜单状态列表'); -insert into sys_dict_type values(3, '000000', '系统开关', 'sys_normal_disable', 103, 1, sysdate, null, null, '系统开关列表'); -insert into sys_dict_type values(6, '000000', '系统是否', 'sys_yes_no', 103, 1, sysdate, null, null, '系统是否列表'); -insert into sys_dict_type values(7, '000000', '通知类型', 'sys_notice_type', 103, 1, sysdate, null, null, '通知类型列表'); -insert into sys_dict_type values(8, '000000', '通知状态', 'sys_notice_status', 103, 1, sysdate, null, null, '通知状态列表'); -insert into sys_dict_type values(9, '000000', '操作类型', 'sys_oper_type', 103, 1, sysdate, null, null, '操作类型列表'); -insert into sys_dict_type values(10, '000000', '系统状态', 'sys_common_status', 103, 1, sysdate, null, null, '登录状态列表'); -insert into sys_dict_type values(11, '000000', '授权类型', 'sys_grant_type', 103, 1, sysdate, null, null, '认证授权类型'); -insert into sys_dict_type values(12, '000000', '设备类型', 'sys_device_type', 103, 1, sysdate, null, null, '客户端设备类型'); - - --- ---------------------------- --- 12、字典数据表 --- ---------------------------- -create table sys_dict_data ( - dict_code number(20) not null, - tenant_id varchar2(20) default '000000', - dict_sort number(4) default 0, - dict_label varchar2(100) default '', - dict_value varchar2(100) default '', - dict_type varchar2(100) default '', - css_class varchar2(100) default null, - list_class varchar2(100) default null, - is_default char(1) default 'N', - create_dept number(20) default null, - create_by number(20) default null, - create_time date, - update_by number(20) default null, - update_time date, - remark varchar2(500) default null -); - -alter table sys_dict_data add constraint pk_sys_dict_data primary key (dict_code); - -comment on table sys_dict_data is '字典数据表'; -comment on column sys_dict_data.dict_code is '字典主键'; -comment on column sys_dict_data.tenant_id is '租户编号'; -comment on column sys_dict_data.dict_sort is '字典排序'; -comment on column sys_dict_data.dict_label is '字典标签'; -comment on column sys_dict_data.dict_value is '字典键值'; -comment on column sys_dict_data.dict_type is '字典类型'; -comment on column sys_dict_data.css_class is '样式属性(其他样式扩展)'; -comment on column sys_dict_data.list_class is '表格回显样式'; -comment on column sys_dict_data.is_default is '是否默认(Y是 N否)'; -comment on column sys_dict_data.create_dept is '创建部门'; -comment on column sys_dict_data.create_by is '创建者'; -comment on column sys_dict_data.create_time is '创建时间'; -comment on column sys_dict_data.update_by is '更新者'; -comment on column sys_dict_data.update_time is '更新时间'; -comment on column sys_dict_data.remark is '备注'; - -insert into sys_dict_data values(1, '000000', 1, '男', '0', 'sys_user_sex', '', '', 'Y', 103, 1, sysdate, null, null, '性别男'); -insert into sys_dict_data values(2, '000000', 2, '女', '1', 'sys_user_sex', '', '', 'N', 103, 1, sysdate, null, null, '性别女'); -insert into sys_dict_data values(3, '000000', 3, '未知', '2', 'sys_user_sex', '', '', 'N', 103, 1, sysdate, null, null, '性别未知'); -insert into sys_dict_data values(4, '000000', 1, '显示', '0', 'sys_show_hide', '', 'primary', 'Y', 103, 1, sysdate, null, null, '显示菜单'); -insert into sys_dict_data values(5, '000000', 2, '隐藏', '1', 'sys_show_hide', '', 'danger', 'N', 103, 1, sysdate, null, null, '隐藏菜单'); -insert into sys_dict_data values(6, '000000', 1, '正常', '0', 'sys_normal_disable', '', 'primary', 'Y', 103, 1, sysdate, null, null, '正常状态'); -insert into sys_dict_data values(7, '000000', 2, '停用', '1', 'sys_normal_disable', '', 'danger', 'N', 103, 1, sysdate, null, null, '停用状态'); -insert into sys_dict_data values(12, '000000', 1, '是', 'Y', 'sys_yes_no', '', 'primary', 'Y', 103, 1, sysdate, null, null, '系统默认是'); -insert into sys_dict_data values(13, '000000', 2, '否', 'N', 'sys_yes_no', '', 'danger', 'N', 103, 1, sysdate, null, null, '系统默认否'); -insert into sys_dict_data values(14, '000000', 1, '通知', '1', 'sys_notice_type', '', 'warning', 'Y', 103, 1, sysdate, null, null, '通知'); -insert into sys_dict_data values(15, '000000', 2, '公告', '2', 'sys_notice_type', '', 'success', 'N', 103, 1, sysdate, null, null, '公告'); -insert into sys_dict_data values(16, '000000', 1, '正常', '0', 'sys_notice_status', '', 'primary', 'Y', 103, 1, sysdate, null, null, '正常状态'); -insert into sys_dict_data values(17, '000000', 2, '关闭', '1', 'sys_notice_status', '', 'danger', 'N', 103, 1, sysdate, null, null, '关闭状态'); -insert into sys_dict_data values(29, '000000', 99, '其他', '0', 'sys_oper_type', '', 'info', 'N', 103, 1, sysdate, null, null, '其他操作'); -insert into sys_dict_data values(18, '000000', 1, '新增', '1', 'sys_oper_type', '', 'info', 'N', 103, 1, sysdate, null, null, '新增操作'); -insert into sys_dict_data values(19, '000000', 2, '修改', '2', 'sys_oper_type', '', 'info', 'N', 103, 1, sysdate, null, null, '修改操作'); -insert into sys_dict_data values(20, '000000', 3, '删除', '3', 'sys_oper_type', '', 'danger', 'N', 103, 1, sysdate, null, null, '删除操作'); -insert into sys_dict_data values(21, '000000', 4, '授权', '4', 'sys_oper_type', '', 'primary', 'N', 103, 1, sysdate, null, null, '授权操作'); -insert into sys_dict_data values(22, '000000', 5, '导出', '5', 'sys_oper_type', '', 'warning', 'N', 103, 1, sysdate, null, null, '导出操作'); -insert into sys_dict_data values(23, '000000', 6, '导入', '6', 'sys_oper_type', '', 'warning', 'N', 103, 1, sysdate, null, null, '导入操作'); -insert into sys_dict_data values(24, '000000', 7, '强退', '7', 'sys_oper_type', '', 'danger', 'N', 103, 1, sysdate, null, null, '强退操作'); -insert into sys_dict_data values(25, '000000', 8, '生成代码', '8', 'sys_oper_type', '', 'warning', 'N', 103, 1, sysdate, null, null, '生成操作'); -insert into sys_dict_data values(26, '000000', 9, '清空数据', '9', 'sys_oper_type', '', 'danger', 'N', 103, 1, sysdate, null, null, '清空操作'); -insert into sys_dict_data values(27, '000000', 1, '成功', '0', 'sys_common_status', '', 'primary', 'N', 103, 1, sysdate, null, null, '正常状态'); -insert into sys_dict_data values(28, '000000', 2, '失败', '1', 'sys_common_status', '', 'danger', 'N', 103, 1, sysdate, null, null, '停用状态'); -insert into sys_dict_data values(30, '000000', 0, '密码认证', 'password', 'sys_grant_type', '', 'default', 'N', 103, 1, sysdate, null, null, '密码认证'); -insert into sys_dict_data values(31, '000000', 0, '短信认证', 'sms', 'sys_grant_type', '', 'default', 'N', 103, 1, sysdate, null, null, '短信认证'); -insert into sys_dict_data values(32, '000000', 0, '邮件认证', 'email', 'sys_grant_type', '', 'default', 'N', 103, 1, sysdate, null, null, '邮件认证'); -insert into sys_dict_data values(33, '000000', 0, '小程序认证', 'xcx', 'sys_grant_type', '', 'default', 'N', 103, 1, sysdate, null, null, '小程序认证'); -insert into sys_dict_data values(34, '000000', 0, '三方登录认证', 'social', 'sys_grant_type', '', 'default', 'N', 103, 1, sysdate, null, null, '三方登录认证'); -insert into sys_dict_data values(35, '000000', 0, 'PC', 'pc', 'sys_device_type', '', 'default', 'N', 103, 1, sysdate, null, null, 'PC'); -insert into sys_dict_data values(36, '000000', 0, '安卓', 'android', 'sys_device_type', '', 'default', 'N', 103, 1, sysdate, null, null, '安卓'); -insert into sys_dict_data values(37, '000000', 0, 'iOS', 'ios', 'sys_device_type', '', 'default', 'N', 103, 1, sysdate, null, null, 'iOS'); -insert into sys_dict_data values(38, '000000', 0, '小程序', 'xcx', 'sys_device_type', '', 'default', 'N', 103, 1, sysdate, null, null, '小程序'); - - --- ---------------------------- --- 13、参数配置表 --- ---------------------------- -create table sys_config ( - config_id number(20) not null, - tenant_id varchar2(20) default '000000', - config_name varchar2(100) default '', - config_key varchar2(100) default '', - config_value varchar2(100) default '', - config_type char(1) default 'N', - create_dept number(20) default null, - create_by number(20) default null, - create_time date, - update_by number(20) default null, - update_time date, - remark varchar2(500) default null -); -alter table sys_config add constraint pk_sys_config primary key (config_id); - -comment on table sys_config is '参数配置表'; -comment on column sys_config.config_id is '参数主键'; -comment on column sys_config.tenant_id is '租户编号'; -comment on column sys_config.config_name is '参数名称'; -comment on column sys_config.config_key is '参数键名'; -comment on column sys_config.config_value is '参数键值'; -comment on column sys_config.config_type is '系统内置(Y是 N否)'; -comment on column sys_config.create_dept is '创建部门'; -comment on column sys_config.create_by is '创建者'; -comment on column sys_config.create_time is '创建时间'; -comment on column sys_config.update_by is '更新者'; -comment on column sys_config.update_time is '更新时间'; -comment on column sys_config.remark is '备注'; - -insert into sys_config values(1, '000000', '主框架页-默认皮肤样式名称', 'sys.index.skinName', 'skin-blue', 'Y', 103, 1, sysdate, null, null, '蓝色 skin-blue、绿色 skin-green、紫色 skin-purple、红色 skin-red、黄色 skin-yellow' ); -insert into sys_config values(2, '000000', '用户管理-账号初始密码', 'sys.user.initPassword', '123456', 'Y', 103, 1, sysdate, null, null, '初始化密码 123456' ); -insert into sys_config values(3, '000000', '主框架页-侧边栏主题', 'sys.index.sideTheme', 'theme-dark', 'Y', 103, 1, sysdate, null, null, '深色主题theme-dark,浅色主题theme-light' ); -insert into sys_config values(5, '000000', '账号自助-是否开启用户注册功能', 'sys.account.registerUser', 'false', 'Y', 103, 1, sysdate, null, null, '是否开启注册用户功能(true开启,false关闭)'); -insert into sys_config values(11, '000000', 'OSS预览列表资源开关', 'sys.oss.previewListResource', 'true', 'Y', 103, 1, sysdate, null, null, 'true:开启, false:关闭'); - - --- ---------------------------- --- 14、系统访问记录 --- ---------------------------- -create table sys_logininfor ( - info_id number(20) not null, - tenant_id varchar2(20) default '000000', - user_name varchar2(50) default '', - client_key varchar2(32) default '', - device_type varchar2(32) default '', - ipaddr varchar2(128) default '', - login_location varchar2(255) default '', - browser varchar2(50) default '', - os varchar2(50) default '', - status char(1) default '0', - msg varchar2(255) default '', - login_time date -); - -alter table sys_logininfor add constraint pk_sys_logininfor primary key (info_id); -create index idx_sys_logininfor_s on sys_logininfor (status); -create index idx_sys_logininfor_lt on sys_logininfor (login_time); - -comment on table sys_logininfor is '系统访问记录'; -comment on column sys_logininfor.info_id is '访问ID'; -comment on column sys_logininfor.tenant_id is '租户编号'; -comment on column sys_logininfor.user_name is '登录账号'; -comment on column sys_logininfor.client_key is '客户端'; -comment on column sys_logininfor.device_type is '设备类型'; -comment on column sys_logininfor.ipaddr is '登录IP地址'; -comment on column sys_logininfor.login_location is '登录地点'; -comment on column sys_logininfor.browser is '浏览器类型'; -comment on column sys_logininfor.os is '操作系统'; -comment on column sys_logininfor.status is '登录状态(0成功 1失败)'; -comment on column sys_logininfor.msg is '提示消息'; -comment on column sys_logininfor.login_time is '访问时间'; - - --- ---------------------------- --- 17、通知公告表 --- ---------------------------- -create table sys_notice ( - notice_id number(20) not null, - tenant_id varchar2(20) default '000000', - notice_title varchar2(50) not null, - notice_type char(1) not null, - notice_content clob default null, - status char(1) default '0', - create_dept number(20) default null, - create_by number(20) default null, - create_time date, - update_by number(20) default null, - update_time date, - remark varchar2(255) default null -); - -alter table sys_notice add constraint pk_sys_notice primary key (notice_id); - -comment on table sys_notice is '通知公告表'; -comment on column sys_notice.notice_id is '公告主键'; -comment on column sys_notice.tenant_id is '租户编号'; -comment on column sys_notice.notice_title is '公告标题'; -comment on column sys_notice.notice_type is '公告类型(1通知 2公告)'; -comment on column sys_notice.notice_content is '公告内容'; -comment on column sys_notice.status is '公告状态(0正常 1关闭)'; -comment on column sys_notice.create_dept is '创建部门'; -comment on column sys_notice.create_by is '创建者'; -comment on column sys_notice.create_time is '创建时间'; -comment on column sys_notice.update_by is '更新者'; -comment on column sys_notice.update_time is '更新时间'; -comment on column sys_notice.remark is '备注'; - --- ---------------------------- --- 初始化-公告信息表数据 --- ---------------------------- -insert into sys_notice values('1', '000000', '温馨提醒:2018-07-01 新版本发布啦', '2', '新版本内容', '0', 103, 1, sysdate, null, null, '管理员'); -insert into sys_notice values('2', '000000', '维护通知:2018-07-01 系统凌晨维护', '1', '维护内容', '0', 103, 1, sysdate, null, null, '管理员'); - - --- ---------------------------- --- 18、代码生成业务表 --- ---------------------------- -create table gen_table ( - table_id number(20) not null, - data_name varchar2(200) default '', - table_name varchar2(200) default '', - table_comment varchar2(500) default '', - sub_table_name varchar2(64) default null, - sub_table_fk_name varchar2(64) default null, - class_name varchar2(100) default '', - tpl_category varchar2(200) default 'crud', - package_name varchar2(100), - module_name varchar2(30), - business_name varchar2(30), - function_name varchar2(50), - function_author varchar2(50), - gen_type char(1) default '0', - gen_path varchar2(200) default '/', - options varchar2(1000), - create_dept number(20) default null, - create_by number(20) default null, - create_time date, - update_by number(20) default null, - update_time date, - remark varchar2(500) default null -); - -alter table gen_table add constraint pk_gen_table primary key (table_id); - -comment on table gen_table is '代码生成业务表'; -comment on column gen_table.table_id is '编号'; -comment on column gen_table.data_name is '数据源名称'; -comment on column gen_table.table_name is '表名称'; -comment on column gen_table.table_comment is '表描述'; -comment on column gen_table.sub_table_name is '关联子表的表名'; -comment on column gen_table.sub_table_fk_name is '子表关联的外键名'; -comment on column gen_table.class_name is '实体类名称'; -comment on column gen_table.tpl_category is '使用的模板(crud单表操作 tree树表操作)'; -comment on column gen_table.package_name is '生成包路径'; -comment on column gen_table.module_name is '生成模块名'; -comment on column gen_table.business_name is '生成业务名'; -comment on column gen_table.function_name is '生成功能名'; -comment on column gen_table.function_author is '生成功能作者'; -comment on column gen_table.gen_type is '生成代码方式(0zip压缩包 1自定义路径)'; -comment on column gen_table.gen_path is '生成路径(不填默认项目路径)'; -comment on column gen_table.options is '其它生成选项'; -comment on column gen_table.create_dept is '创建部门'; -comment on column gen_table.create_by is '创建者'; -comment on column gen_table.create_time is '创建时间'; -comment on column gen_table.update_by is '更新者'; -comment on column gen_table.update_time is '更新时间'; -comment on column gen_table.remark is '备注'; - - --- ---------------------------- --- 19、代码生成业务表字段 --- ---------------------------- -create table gen_table_column ( - column_id number(20) not null, - table_id number(20), - column_name varchar2(200), - column_comment varchar2(500), - column_type varchar2(100), - java_type varchar2(500), - java_field varchar2(200), - is_pk char(1), - is_increment char(1), - is_required char(1), - is_insert char(1), - is_edit char(1), - is_list char(1), - is_query char(1), - query_type varchar2(200) default 'EQ', - html_type varchar2(200), - dict_type varchar2(200) default '', - sort number(4), - create_dept number(20) default null, - create_by number(20) default null, - create_time date , - update_by number(20) default null, - update_time date -); - -alter table gen_table_column add constraint pk_gen_table_column primary key (column_id); - -comment on table gen_table_column is '代码生成业务表字段'; -comment on column gen_table_column.column_id is '编号'; -comment on column gen_table_column.table_id is '归属表编号'; -comment on column gen_table_column.column_name is '列名称'; -comment on column gen_table_column.column_comment is '列描述'; -comment on column gen_table_column.column_type is '列类型'; -comment on column gen_table_column.java_type is 'JAVA类型'; -comment on column gen_table_column.java_field is 'JAVA字段名'; -comment on column gen_table_column.is_pk is '是否主键(1是)'; -comment on column gen_table_column.is_increment is '是否自增(1是)'; -comment on column gen_table_column.is_required is '是否必填(1是)'; -comment on column gen_table_column.is_insert is '是否为插入字段(1是)'; -comment on column gen_table_column.is_edit is '是否编辑字段(1是)'; -comment on column gen_table_column.is_list is '是否列表字段(1是)'; -comment on column gen_table_column.is_query is '是否查询字段(1是)'; -comment on column gen_table_column.query_type is '查询方式(等于、不等于、大于、小于、范围)'; -comment on column gen_table_column.html_type is '显示类型(文本框、文本域、下拉框、复选框、单选框、日期控件)'; -comment on column gen_table_column.dict_type is '字典类型'; -comment on column gen_table_column.sort is '排序'; -comment on column gen_table_column.create_dept is '创建部门'; -comment on column gen_table_column.create_by is '创建者'; -comment on column gen_table_column.create_time is '创建时间'; -comment on column gen_table_column.update_by is '更新者'; -comment on column gen_table_column.update_time is '更新时间'; - - --- ---------------------------- --- OSS对象存储表 --- ---------------------------- -create table sys_oss ( - oss_id number(20) not null, - tenant_id varchar2(20) default '000000', - file_name varchar2(255) not null, - original_name varchar2(255) not null, - file_suffix varchar2(10) not null, - url varchar2(500) not null, - service varchar2(20) default 'minio' not null, - create_dept number(20) default null, - create_by number(20) default null, - create_time date, - update_by number(20) default null, - update_time date -); - -alter table sys_oss add constraint pk_sys_oss primary key (oss_id); - -comment on table sys_oss is 'OSS对象存储表'; -comment on column sys_oss.oss_id is '对象存储主键'; -comment on column sys_oss.tenant_id is '租户编码'; -comment on column sys_oss.file_name is '文件名'; -comment on column sys_oss.original_name is '原名'; -comment on column sys_oss.file_suffix is '文件后缀名'; -comment on column sys_oss.url is 'URL地址'; -comment on column sys_oss.service is '服务商'; -comment on column sys_oss.create_dept is '创建部门'; -comment on column sys_oss.create_time is '创建时间'; -comment on column sys_oss.create_by is '上传者'; -comment on column sys_oss.update_time is '更新时间'; -comment on column sys_oss.update_by is '更新者'; - - --- ---------------------------- --- OSS对象存储动态配置表 --- ---------------------------- -create table sys_oss_config ( - oss_config_id number(20) not null, - tenant_id varchar2(20) default '000000', - config_key varchar2(20) not null, - access_key varchar2(255) default '', - secret_key varchar2(255) default '', - bucket_name varchar2(255) default '', - prefix varchar2(255) default '', - endpoint varchar2(255) default '', - domain varchar2(255) default '', - is_https char(1) default 'N', - region varchar2(255) default '', - access_policy char(1) default '1' not null, - status char(1) default '1', - ext1 varchar2(255) default '', - remark varchar2(500) default null, - create_dept number(20) default null, - create_by number(20) default null, - create_time date, - update_by number(20) default null, - update_time date -); - -alter table sys_oss_config add constraint pk_sys_oss_config primary key (oss_config_id); - -comment on table sys_oss_config is '对象存储配置表'; -comment on column sys_oss_config.oss_config_id is '主键'; -comment on column sys_oss_config.tenant_id is '租户编码'; -comment on column sys_oss_config.config_key is '配置key'; -comment on column sys_oss_config.access_key is 'accesskey'; -comment on column sys_oss_config.secret_key is '秘钥'; -comment on column sys_oss_config.bucket_name is '桶名称'; -comment on column sys_oss_config.prefix is '前缀'; -comment on column sys_oss_config.endpoint is '访问站点'; -comment on column sys_oss_config.domain is '自定义域名'; -comment on column sys_oss_config.is_https is '是否https(Y=是,N=否)'; -comment on column sys_oss_config.region is '域'; -comment on column sys_oss_config.access_policy is '桶权限类型(0=private 1=public 2=custom)'; -comment on column sys_oss_config.status is '是否默认(0=是,1=否)'; -comment on column sys_oss_config.ext1 is '扩展字段'; -comment on column sys_oss_config.remark is '备注'; -comment on column sys_oss_config.create_dept is '创建部门'; -comment on column sys_oss_config.create_by is '创建者'; -comment on column sys_oss_config.create_time is '创建时间'; -comment on column sys_oss_config.update_by is '更新者'; -comment on column sys_oss_config.update_time is '更新时间'; - -insert into sys_oss_config values (1, '000000', 'minio', 'ruoyi', 'ruoyi123', 'ruoyi', '', '127.0.0.1:9000', '','N', '', '1', '0', '', NULL, 103, 1, sysdate, 1, sysdate); -insert into sys_oss_config values (2, '000000', 'qiniu', 'XXXXXXXXXXXXXXX', 'XXXXXXXXXXXXXXX', 'ruoyi', '', 's3-cn-north-1.qiniucs.com', '','N', '', '1', '1', '', NULL, 103, 1, sysdate, 1, sysdate); -insert into sys_oss_config values (3, '000000', 'aliyun', 'XXXXXXXXXXXXXXX', 'XXXXXXXXXXXXXXX', 'ruoyi', '', 'oss-cn-beijing.aliyuncs.com', '','N', '', '1', '1', '', NULL, 103, 1, sysdate, 1, sysdate); -insert into sys_oss_config values (4, '000000', 'qcloud', 'XXXXXXXXXXXXXXX', 'XXXXXXXXXXXXXXX', 'ruoyi-1250000000', '', 'cos.ap-beijing.myqcloud.com', '','N', 'ap-beijing', '1', '1', '', NULL, 103, 1, sysdate, 1, sysdate); -insert into sys_oss_config values (5, '000000', 'image', 'ruoyi', 'ruoyi123', 'ruoyi', 'image', '127.0.0.1:9000', '','N', '', '1', '1', '', NULL, 103, 1, sysdate, 1, sysdate); - --- ---------------------------- --- 系统授权表 --- ---------------------------- -create table sys_client ( - id number(20) not null, - client_id varchar2(64) default null, - client_key varchar2(32) default null, - client_secret varchar2(255) default null, - grant_type varchar2(255) default null, - device_type varchar2(32) default null, - active_timeout number(11) default 1800, - timeout number(11) default 604800, - status char(1) default '0', - del_flag char(1) default '0', - create_dept number(20) default null, - create_by number(20) default null, - create_time date, - update_by number(20) default null, - update_time date -); - -alter table sys_client add constraint pk_sys_client primary key (id); - -comment on table sys_client is '系统授权表'; -comment on column sys_client.id is '主键'; -comment on column sys_client.client_id is '客户端id'; -comment on column sys_client.client_key is '客户端key'; -comment on column sys_client.client_secret is '客户端秘钥'; -comment on column sys_client.grant_type is '授权类型'; -comment on column sys_client.device_type is '设备类型'; -comment on column sys_client.active_timeout is 'token活跃超时时间'; -comment on column sys_client.timeout is 'token固定超时'; -comment on column sys_client.status is '状态(0正常 1停用)'; -comment on column sys_client.del_flag is '删除标志(0代表存在 2代表删除)'; -comment on column sys_client.create_dept is '创建部门'; -comment on column sys_client.create_by is '创建者'; -comment on column sys_client.create_time is '创建时间'; -comment on column sys_client.update_by is '更新者'; -comment on column sys_client.update_time is '更新时间'; - -insert into sys_client values (1, 'e5cd7e4891bf95d1d19206ce24a7b32e', 'pc', 'pc123', 'password,social', 'pc', 1800, 604800, 0, 0, 103, 1, sysdate, 1, sysdate); -insert into sys_client values (2, '428a8310cd442757ae699df5d894f051', 'app', 'app123', 'password,sms,social', 'android', 1800, 604800, 0, 0, 103, 1, sysdate, 1, sysdate); - -create table test_demo ( - id number(20) not null, - tenant_id varchar2(20) default '000000', - dept_id number(20) default null, - user_id number(20) default null, - order_num number(10) default 0, - test_key varchar2(255) default null, - value varchar2(255) default null, - version number(10) default 0, - create_dept number(20) default null, - create_time date, - create_by number(20) default null, - update_time date, - update_by number(20) default null, - del_flag number(2) default 0 -); - -alter table test_demo add constraint pk_test_demo primary key (id); - -comment on table test_demo is '测试单表'; -comment on column test_demo.id is '主键'; -comment on column test_demo.tenant_id is '租户编号'; -comment on column test_demo.dept_id is '部门id'; -comment on column test_demo.user_id is '用户id'; -comment on column test_demo.order_num is '排序号'; -comment on column test_demo.test_key is 'key键'; -comment on column test_demo.value is '值'; -comment on column test_demo.version is '版本'; -comment on column test_demo.create_dept is '创建部门'; -comment on column test_demo.create_time is '创建时间'; -comment on column test_demo.create_by is '创建人'; -comment on column test_demo.update_time is '更新时间'; -comment on column test_demo.update_by is '更新人'; -comment on column test_demo.del_flag is '删除标志'; - -create table test_tree ( - id number(20) not null, - tenant_id varchar2(20) default '000000', - parent_id number(20) default 0, - dept_id number(20) default null, - user_id number(20) default null, - tree_name varchar2(255) default null, - version number(10) default 0, - create_dept number(20) default null, - create_time date, - create_by number(20) default null, - update_time date, - update_by number(20) default null, - del_flag number(2) default 0 -); - -alter table test_tree add constraint pk_test_tree primary key (id); - -comment on table test_tree is '测试树表'; -comment on column test_tree.id is '主键'; -comment on column test_tree.tenant_id is '租户编号'; -comment on column test_tree.parent_id is '父id'; -comment on column test_tree.dept_id is '部门id'; -comment on column test_tree.user_id is '用户id'; -comment on column test_tree.tree_name is '值'; -comment on column test_tree.version is '版本'; -comment on column test_tree.create_dept is '创建部门'; -comment on column test_tree.create_time is '创建时间'; -comment on column test_tree.create_by is '创建人'; -comment on column test_tree.update_time is '更新时间'; -comment on column test_tree.update_by is '更新人'; -comment on column test_tree.del_flag is '删除标志'; - -insert into test_demo values (1, '000000', 102, 4, 1, '测试数据权限', '测试', 0, 103, sysdate, 1, null, null, 0); -insert into test_demo values (2, '000000', 102, 3, 2, '子节点1', '111', 0, 103, sysdate, 1, null, null, 0); -insert into test_demo values (3, '000000', 102, 3, 3, '子节点2', '222', 0, 103, sysdate, 1, null, null, 0); -insert into test_demo values (4, '000000', 108, 4, 4, '测试数据', 'demo', 0, 103, sysdate, 1, null, null, 0); -insert into test_demo values (5, '000000', 108, 3, 13, '子节点11', '1111', 0, 103, sysdate, 1, null, null, 0); -insert into test_demo values (6, '000000', 108, 3, 12, '子节点22', '2222', 0, 103, sysdate, 1, null, null, 0); -insert into test_demo values (7, '000000', 108, 3, 11, '子节点33', '3333', 0, 103, sysdate, 1, null, null, 0); -insert into test_demo values (8, '000000', 108, 3, 10, '子节点44', '4444', 0, 103, sysdate, 1, null, null, 0); -insert into test_demo values (9, '000000', 108, 3, 9, '子节点55', '5555', 0, 103, sysdate, 1, null, null, 0); -insert into test_demo values (10, '000000', 108, 3, 8, '子节点66', '6666', 0, 103, sysdate, 1, null, null, 0); -insert into test_demo values (11, '000000', 108, 3, 7, '子节点77', '7777', 0, 103, sysdate, 1, null, null, 0); -insert into test_demo values (12, '000000', 108, 3, 6, '子节点88', '8888', 0, 103, sysdate, 1, null, null, 0); -insert into test_demo values (13, '000000', 108, 3, 5, '子节点99', '9999', 0, 103, sysdate, 1, null, null, 0); - -insert into test_tree values (1, '000000', 0, 102, 4, '测试数据权限', 0, 103, sysdate, 1, null, null, 0); -insert into test_tree values (2, '000000', 1, 102, 3, '子节点1', 0, 103, sysdate, 1, null, null, 0); -insert into test_tree values (3, '000000', 2, 102, 3, '子节点2', 0, 103, sysdate, 1, null, null, 0); -insert into test_tree values (4, '000000', 0, 108, 4, '测试树1', 0, 103, sysdate, 1, null, null, 0); -insert into test_tree values (5, '000000', 4, 108, 3, '子节点11', 0, 103, sysdate, 1, null, null, 0); -insert into test_tree values (6, '000000', 4, 108, 3, '子节点22', 0, 103, sysdate, 1, null, null, 0); -insert into test_tree values (7, '000000', 4, 108, 3, '子节点33', 0, 103, sysdate, 1, null, null, 0); -insert into test_tree values (8, '000000', 5, 108, 3, '子节点44', 0, 103, sysdate, 1, null, null, 0); -insert into test_tree values (9, '000000', 6, 108, 3, '子节点55', 0, 103, sysdate, 1, null, null, 0); -insert into test_tree values (10, '000000', 7, 108, 3, '子节点66', 0, 103, sysdate, 1, null, null, 0); -insert into test_tree values (11, '000000', 7, 108, 3, '子节点77', 0, 103, sysdate, 1, null, null, 0); -insert into test_tree values (12, '000000', 10, 108, 3, '子节点88', 0, 103, sysdate, 1, null, null, 0); -insert into test_tree values (13, '000000', 10, 108, 3, '子节点99', 0, 103, sysdate, 1, null, null, 0); - - --- ---------------------------- --- 钩子 ,用于session连接之后 自动设置默认的date类型格式化 简化时间查询 --- 如需设置其它配置 可在此钩子内任意增加处理语句 --- 例如: SELECT * FROM sys_user WHERE create_time BETWEEN '2022-03-01 00:00:00' AND '2022-04-01 00:00:00' --- ---------------------------- -create or replace trigger login_trg -after logon on database -begin -execute immediate 'alter session set nls_date_format=''YYYY-MM-DD HH24:MI:SS'''; -end; diff --git a/im-admin/script/sql/oracle/oracle_ry_workflow.sql b/im-admin/script/sql/oracle/oracle_ry_workflow.sql deleted file mode 100644 index 65474f4..0000000 --- a/im-admin/script/sql/oracle/oracle_ry_workflow.sql +++ /dev/null @@ -1,261 +0,0 @@ -insert into sys_menu values('11616', '工作流' , '0', '6', 'workflow', '', '', '1', '0', 'M', '0', '0', '', 'workflow', 103, 1, sysdate, NULL, NULL, ''); -insert into sys_menu values('11617', '模型管理', '11616', '2', 'model', 'workflow/model/index', '', '1', '1', 'C', '0', '0', 'workflow:model:list', 'model', 103, 1, sysdate, NULL, NULL, ''); -insert into sys_menu values('11618', '我的任务', '0', '7', 'task', '', '', '1', '0', 'M', '0', '0', '', 'my-task', 103, 1, sysdate, NULL, NULL, ''); -insert into sys_menu values('11619', '我的待办', '11618', '2', 'taskWaiting', 'workflow/task/taskWaiting', '', '1', '1', 'C', '0', '0', '', 'waiting', 103, 1, sysdate, NULL, NULL, ''); -insert into sys_menu values('11632', '我的已办', '11618', '3', 'taskFinish', 'workflow/task/taskFinish', '', '1', '1', 'C', '0', '0', '', 'finish', 103, 1, sysdate, NULL, NULL, ''); -insert into sys_menu values('11633', '我的抄送', '11618', '4', 'taskCopyList', 'workflow/task/taskCopyList', '', '1', '1', 'C', '0', '0', '', 'my-copy', 103, 1, sysdate, NULL, NULL, ''); -insert into sys_menu values('11620', '流程定义', '11616', '3', 'processDefinition', 'workflow/processDefinition/index', '', '1', '1', 'C', '0', '0', '', 'process-definition', 103, 1, sysdate, NULL, NULL, ''); -insert into sys_menu values('11621', '流程实例', '11630', '1', 'processInstance', 'workflow/processInstance/index', '', '1', '1', 'C', '0', '0', '', 'tree-table', 103, 1, sysdate, NULL, NULL, ''); -insert into sys_menu values('11622', '流程分类', '11616', '1', 'category', 'workflow/category/index', '', '1', '0', 'C', '0', '0', 'workflow:category:list', 'category', 103, 1, sysdate, NULL, NULL, ''); -insert into sys_menu values('11629', '我发起的', '11618', '1', 'myDocument', 'workflow/task/myDocument', '', '1', '1', 'C', '0', '0', '', 'guide', 103, 1, sysdate, NULL, NULL, ''); -insert into sys_menu values('11630', '流程监控', '11616', '4', 'monitor', '', '', '1', '0', 'M', '0', '0', '', 'monitor', 103, 1, sysdate, NULL, NULL, ''); -insert into sys_menu values('11631', '待办任务', '11630', '2', 'allTaskWaiting', 'workflow/task/allTaskWaiting', '', '1', '1', 'C', '0', '0', '', 'waiting', 103, 1, sysdate, NULL, NULL, ''); - - --- 流程分类管理相关按钮 -insert into sys_menu values ('11623', '流程分类查询', '11622', '1', '#', '', '', 1, 0, 'F', '0', '0', 'workflow:category:query', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values ('11624', '流程分类新增', '11622', '2', '#', '', '', 1, 0, 'F', '0', '0', 'workflow:category:add', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values ('11625', '流程分类修改', '11622', '3', '#', '', '', 1, 0, 'F', '0', '0', 'workflow:category:edit', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values ('11626', '流程分类删除', '11622', '4', '#', '', '', 1, 0, 'F', '0', '0', 'workflow:category:remove','#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values ('11627', '流程分类导出', '11622', '5', '#', '', '', 1, 0, 'F', '0', '0', 'workflow:category:export','#', 103, 1, sysdate, null, null, ''); - --- 请假单信息 -create table TEST_LEAVE -( - ID NUMBER(20) not null - constraint PK_TEST_LEAVE - primary key, - LEAVE_TYPE VARCHAR2(255), - START_DATE DATE, - END_DATE DATE, - LEAVE_DAYS NUMBER(10), - REMARK VARCHAR2(255), - STATUS VARCHAR2(255), - CREATE_DEPT NUMBER(20), - CREATE_BY NUMBER(20), - CREATE_TIME DATE, - UPDATE_BY NUMBER(20), - UPDATE_TIME DATE, - TENANT_ID VARCHAR2(20) -); - -comment on table TEST_LEAVE is '请假申请表'; -comment on column TEST_LEAVE.ID is '主键'; -comment on column TEST_LEAVE.LEAVE_TYPE is '请假类型'; -comment on column TEST_LEAVE.START_DATE is '开始时间'; -comment on column TEST_LEAVE.END_DATE is '结束时间'; -comment on column TEST_LEAVE.LEAVE_DAYS is '请假天数'; -comment on column TEST_LEAVE.REMARK is '请假原因'; -comment on column TEST_LEAVE.STATUS is '状态'; -comment on column TEST_LEAVE.CREATE_DEPT is '创建部门'; -comment on column TEST_LEAVE.CREATE_BY is '创建者'; -comment on column TEST_LEAVE.CREATE_TIME is '创建时间'; -comment on column TEST_LEAVE.UPDATE_BY is '更新者'; -comment on column TEST_LEAVE.UPDATE_TIME is '更新时间'; -comment on column TEST_LEAVE.TENANT_ID is '租户编号'; - --- 流程分类信息表 -create table WF_CATEGORY -( - ID NUMBER(20) not null - constraint PK_WF_CATEGORY - primary key, - CATEGORY_NAME VARCHAR2(255), - CATEGORY_CODE VARCHAR2(255) - constraint UNI_CATEGORY_CODE - unique, - PARENT_ID NUMBER(20), - SORT_NUM NUMBER(10), - TENANT_ID VARCHAR2(20), - CREATE_DEPT NUMBER(20), - CREATE_BY NUMBER(20), - CREATE_TIME DATE, - UPDATE_BY NUMBER(20), - UPDATE_TIME DATE -); - -comment on table WF_CATEGORY is '流程分类'; -comment on column WF_CATEGORY.ID is '主键'; -comment on column WF_CATEGORY.CATEGORY_NAME is '分类名称'; -comment on column WF_CATEGORY.CATEGORY_CODE is '分类编码'; -comment on column WF_CATEGORY.PARENT_ID is '父级id'; -comment on column WF_CATEGORY.SORT_NUM is '排序'; -comment on column WF_CATEGORY.TENANT_ID is '租户编号'; -comment on column WF_CATEGORY.CREATE_DEPT is '创建部门'; -comment on column WF_CATEGORY.CREATE_BY is '创建者'; -comment on column WF_CATEGORY.CREATE_TIME is '创建时间'; -comment on column WF_CATEGORY.UPDATE_BY is '更新者'; -comment on column WF_CATEGORY.UPDATE_TIME is '更新时间'; -INSERT INTO wf_category values (1, 'OA', 'OA', 0, 0, '000000', 103, 1, sysdate, 1, sysdate); - -create table WF_TASK_BACK_NODE -( - ID NUMBER(20) not null - constraint PK_WF_TASK_BACK_NODE - primary key, - NODE_ID VARCHAR2(255) not null, - NODE_NAME VARCHAR2(255) not null, - ORDER_NO NUMBER(20) not null, - INSTANCE_ID VARCHAR2(255) not null, - TASK_TYPE VARCHAR2(255) not null, - ASSIGNEE VARCHAR2(2000) not null, - TENANT_ID VARCHAR2(20), - CREATE_DEPT NUMBER(20), - CREATE_BY NUMBER(20), - CREATE_TIME DATE, - UPDATE_BY NUMBER(20), - UPDATE_TIME DATE -); -comment on table WF_TASK_BACK_NODE is '节点审批记录'; -comment on column WF_TASK_BACK_NODE.ID is '主键'; -comment on column WF_TASK_BACK_NODE.NODE_ID is '节点id'; -comment on column WF_TASK_BACK_NODE.NODE_NAME is '节点名称'; -comment on column WF_TASK_BACK_NODE.ORDER_NO is '排序'; -comment on column WF_TASK_BACK_NODE.INSTANCE_ID is '流程实例id'; -comment on column WF_TASK_BACK_NODE.TASK_TYPE is '节点类型'; -comment on column WF_TASK_BACK_NODE.ASSIGNEE is '审批人'; -comment on column WF_TASK_BACK_NODE.TENANT_ID is '租户编号'; -comment on column WF_TASK_BACK_NODE.CREATE_DEPT is '创建部门'; -comment on column WF_TASK_BACK_NODE.CREATE_BY is '创建者'; -comment on column WF_TASK_BACK_NODE.CREATE_TIME is '创建时间'; -comment on column WF_TASK_BACK_NODE.UPDATE_BY is '更新者'; -comment on column WF_TASK_BACK_NODE.UPDATE_TIME is '更新时间'; - -create table WF_DEFINITION_CONFIG -( - ID NUMBER(20) NOT NULL - CONSTRAINT PK_WF_DEFINITION_CONFIG - PRIMARY KEY, - TABLE_NAME VARCHAR2(255) NOT NULL, - DEFINITION_ID VARCHAR2(255) NOT NULL, - PROCESS_KEY VARCHAR2(255) NOT NULL, - VERSION NUMBER(10) NOT NULL, - REMARK VARCHAR2(500), - TENANT_ID VARCHAR2(20), - CREATE_DEPT NUMBER(20), - CREATE_BY NUMBER(20), - CREATE_TIME DATE, - UPDATE_BY NUMBER(20), - UPDATE_TIME DATE, - constraint uni_definition_id - unique (definition_id) -); -comment on table WF_DEFINITION_CONFIG is '流程定义配置'; -comment on column WF_DEFINITION_CONFIG.ID is '主键'; -comment on column WF_DEFINITION_CONFIG.TABLE_NAME is '表名'; -comment on column WF_DEFINITION_CONFIG.DEFINITION_ID is '流程定义ID'; -comment on column WF_DEFINITION_CONFIG.PROCESS_KEY is '流程KEY'; -comment on column WF_DEFINITION_CONFIG.VERSION is '流程版本'; -comment on column WF_DEFINITION_CONFIG.TENANT_ID is '租户编号'; -comment on column WF_DEFINITION_CONFIG.REMARK is '备注'; -comment on column WF_DEFINITION_CONFIG.CREATE_DEPT is '创建部门'; -comment on column WF_DEFINITION_CONFIG.CREATE_BY is '创建者'; -comment on column WF_DEFINITION_CONFIG.CREATE_TIME is '创建时间'; -comment on column WF_DEFINITION_CONFIG.UPDATE_BY is '更新者'; -comment on column WF_DEFINITION_CONFIG.UPDATE_TIME is '更新时间'; - -create table WF_FORM_MANAGE -( - ID NUMBER(20) NOT NULL - CONSTRAINT PK_WF_FORM_MANAGE - PRIMARY KEY, - FORM_NAME VARCHAR2(255) NOT NULL, - FORM_TYPE VARCHAR2(255) NOT NULL, - ROUTER VARCHAR2(255) NOT NULL, - REMARK VARCHAR2(500), - TENANT_ID VARCHAR2(20), - CREATE_DEPT NUMBER(20), - CREATE_BY NUMBER(20), - CREATE_TIME DATE, - UPDATE_BY NUMBER(20), - UPDATE_TIME DATE -); - -comment on table WF_FORM_MANAGE is '表单管理'; -comment on column WF_FORM_MANAGE.ID is '主键'; -comment on column WF_FORM_MANAGE.FORM_NAME is '表单名称'; -comment on column WF_FORM_MANAGE.FORM_TYPE is '表单类型'; -comment on column WF_FORM_MANAGE.ROUTER is '路由地址/表单ID'; -comment on column WF_FORM_MANAGE.REMARK is '备注'; -comment on column WF_FORM_MANAGE.TENANT_ID is '租户编号'; -comment on column WF_FORM_MANAGE.CREATE_DEPT is '创建部门'; -comment on column WF_FORM_MANAGE.CREATE_BY is '创建者'; -comment on column WF_FORM_MANAGE.CREATE_TIME is '创建时间'; -comment on column WF_FORM_MANAGE.UPDATE_BY is '更新者'; -comment on column WF_FORM_MANAGE.UPDATE_TIME is '更新时间'; - -insert into wf_form_manage(id, form_name, form_type, router, remark, tenant_id, create_dept, create_by, create_time, update_by, update_time) VALUES (1, '请假申请', 'static', '/workflow/leaveEdit/index', NULL, '000000', 103, 1, sysdate, 1, sysdate); - -create table WF_NODE_CONFIG -( - ID NUMBER(20) NOT NULL - CONSTRAINT PK_WF_NODE_CONFIG - PRIMARY KEY, - FORM_ID NUMBER(20), - FORM_TYPE VARCHAR2(255), - NODE_NAME VARCHAR2(255) NOT NULL, - NODE_ID VARCHAR2(255) NOT NULL, - DEFINITION_ID VARCHAR2(255) NOT NULL, - APPLY_USER_TASK CHAR(1) DEFAULT '0', - TENANT_ID VARCHAR2(20), - CREATE_DEPT NUMBER(20), - CREATE_BY NUMBER(20), - CREATE_TIME DATE, - UPDATE_BY NUMBER(20), - UPDATE_TIME DATE -); - -comment on table WF_NODE_CONFIG is '节点配置'; -comment on column WF_NODE_CONFIG.ID is '主键'; -comment on column WF_NODE_CONFIG.FORM_ID is '表单id'; -comment on column WF_NODE_CONFIG.FORM_TYPE is '表单类型'; -comment on column WF_NODE_CONFIG.NODE_ID is '节点id'; -comment on column WF_NODE_CONFIG.NODE_NAME is '节点名称'; -comment on column WF_NODE_CONFIG.DEFINITION_ID is '流程定义id'; -comment on column WF_NODE_CONFIG.APPLY_USER_TASK is '是否为申请人节点 (0是 1否)'; -comment on column WF_NODE_CONFIG.TENANT_ID is '租户编号'; -comment on column WF_NODE_CONFIG.CREATE_DEPT is '创建部门'; -comment on column WF_NODE_CONFIG.CREATE_BY is '创建者'; -comment on column WF_NODE_CONFIG.CREATE_TIME is '创建时间'; -comment on column WF_NODE_CONFIG.UPDATE_BY is '更新者'; -comment on column WF_NODE_CONFIG.UPDATE_TIME is '更新时间'; - -INSERT INTO sys_menu(menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (11638, '请假申请', 5, 1, 'leave', 'workflow/leave/index', 1, 0, 'C', '0', '0', 'workflow:leave:list', '#', 103, 1, sysdate, NULL, NULL, '请假申请菜单'); -INSERT INTO sys_menu(menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (11639, '请假申请查询', 11638, 1, '#', '', 1, 0, 'F', '0', '0', 'workflow:leave:query', '#', 103, 1, sysdate, NULL, NULL, ''); -INSERT INTO sys_menu(menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (11640, '请假申请新增', 11638, 2, '#', '', 1, 0, 'F', '0', '0', 'workflow:leave:add', '#', 103, 1, sysdate, NULL, NULL, ''); -INSERT INTO sys_menu(menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (11641, '请假申请修改', 11638, 3, '#', '', 1, 0, 'F', '0', '0', 'workflow:leave:edit', '#', 103, 1, sysdate, NULL, NULL, ''); -INSERT INTO sys_menu(menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (11642, '请假申请删除', 11638, 4, '#', '', 1, 0, 'F', '0', '0', 'workflow:leave:remove', '#', 103, 1, sysdate, NULL, NULL, ''); -INSERT INTO sys_menu(menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (11643, '请假申请导出', 11638, 5, '#', '', 1, 0, 'F', '0', '0', 'workflow:leave:export', '#', 103, 1, sysdate, NULL, NULL, ''); - -INSERT INTO sys_dict_type(dict_id, tenant_id, dict_name, dict_type, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (13, '000000', '业务状态', 'wf_business_status', 103, 1, sysdate, NULL, NULL, '业务状态列表'); -INSERT INTO sys_dict_type(dict_id, tenant_id, dict_name, dict_type, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (14, '000000', '表单类型', 'wf_form_type', 103, 1, sysdate, NULL, NULL, '表单类型列表'); - -INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (39, '000000', 1, '已撤销', 'cancel', 'wf_business_status', '', 'danger', 'N', 103, 1, sysdate, NULL, NULL, '已撤销'); -INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (40, '000000', 2, '草稿', 'draft', 'wf_business_status', '', 'info', 'N', 103, 1, sysdate, NULL, NULL, '草稿'); -INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (41, '000000', 3, '待审核', 'waiting', 'wf_business_status', '', 'primary', 'N', 103, 1,sysdate, NULL, NULL, '待审核'); -INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (42, '000000', 4, '已完成', 'finish', 'wf_business_status', '', 'success', 'N', 103, 1, sysdate, NULL, NULL, '已完成'); -INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (43, '000000', 5, '已作废', 'invalid', 'wf_business_status', '', 'danger', 'N', 103, 1, sysdate, NULL, NULL, '已作废'); -INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (44, '000000', 6, '已退回', 'back', 'wf_business_status', '', 'danger', 'N', 103, 1, sysdate, NULL, NULL, '已退回'); -INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (45, '000000', 7, '已终止', 'termination', 'wf_business_status', '', 'danger', 'N', 103, 1,sysdate, NULL, NULL, '已终止'); -INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (46, '000000', 1, '自定义表单', 'static', 'wf_form_type', '', 'success', 'N', 103, 1, sysdate, NULL, NULL, '自定义表单'); -INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (47, '000000', 2, '动态表单', 'dynamic', 'wf_form_type', '', 'primary', 'N', 103, 1, sysdate, NULL, NULL, '动态表单'); - --- 表单管理 SQL -insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) -values(11628, '表单管理', '11616', '5', 'formManage', 'workflow/formManage/index', 1, 0, 'C', '0', '0', 'workflow:formManage:list', 'tree-table', 103, 1, sysdate, null, null, '表单管理菜单'); - --- 表单管理按钮 SQL -insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) -values(11644, '表单管理查询', 11628, '1', '#', '', 1, 0, 'F', '0', '0', 'workflow:formManage:query', '', 103, 1, sysdate, null, null, ''); - -insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) -values(11645, '表单管理新增', 11628, '2', '#', '', 1, 0, 'F', '0', '0', 'workflow:formManage:add', '', 103, 1, sysdate, null, null, ''); - -insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) -values(11646, '表单管理修改', 11628, '3', '#', '', 1, 0, 'F', '0', '0', 'workflow:formManage:edit', '', 103, 1, sysdate, null, null, ''); - -insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) -values(11647, '表单管理删除', 11628, '4', '#', '', 1, 0, 'F', '0', '0', 'workflow:formManage:remove', '', 103, 1, sysdate, null, null, ''); - -insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) -values(11648, '表单管理导出', 11628, '5', '#', '', 1, 0, 'F', '0', '0', 'workflow:formManage:export', 'tree-table', 103, 1, sysdate, null, null, ''); diff --git a/im-admin/script/sql/postgres/postgres_ry_job.sql b/im-admin/script/sql/postgres/postgres_ry_job.sql deleted file mode 100644 index 546db3c..0000000 --- a/im-admin/script/sql/postgres/postgres_ry_job.sql +++ /dev/null @@ -1,837 +0,0 @@ -/* - SnailJob Database Transfer Tool - Source Server Type : MySQL - Target Server Type : PostgreSQL - Date: 2024-07-06 11:45:40 -*/ - - --- sj_namespace -CREATE TABLE sj_namespace -( - id bigserial PRIMARY KEY, - name varchar(64) NOT NULL, - unique_id varchar(64) NOT NULL, - description varchar(256) NOT NULL DEFAULT '', - deleted smallint NOT NULL DEFAULT 0, - create_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - update_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP -); - -CREATE INDEX idx_sj_namespace_01 ON sj_namespace (name); - -COMMENT ON COLUMN sj_namespace.id IS '主键'; -COMMENT ON COLUMN sj_namespace.name IS '名称'; -COMMENT ON COLUMN sj_namespace.unique_id IS '唯一id'; -COMMENT ON COLUMN sj_namespace.description IS '描述'; -COMMENT ON COLUMN sj_namespace.deleted IS '逻辑删除 1、删除'; -COMMENT ON COLUMN sj_namespace.create_dt IS '创建时间'; -COMMENT ON COLUMN sj_namespace.update_dt IS '修改时间'; -COMMENT ON TABLE sj_namespace IS '命名空间'; - -INSERT INTO sj_namespace VALUES (1, 'Development', 'dev', '', 0, now(), now()); -INSERT INTO sj_namespace VALUES (2, 'Production', 'prod', '', 0, now(), now()); - --- sj_group_config -CREATE TABLE sj_group_config -( - id bigserial PRIMARY KEY, - namespace_id varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name varchar(64) NOT NULL DEFAULT '', - description varchar(256) NOT NULL DEFAULT '', - token varchar(64) NOT NULL DEFAULT 'SJ_cKqBTPzCsWA3VyuCfFoccmuIEGXjr5KT', - group_status smallint NOT NULL DEFAULT 0, - version int NOT NULL, - group_partition int NOT NULL, - id_generator_mode smallint NOT NULL DEFAULT 1, - init_scene smallint NOT NULL DEFAULT 0, - bucket_index int NOT NULL DEFAULT 0, - create_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - update_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP -); - -CREATE UNIQUE INDEX uk_sj_group_config_01 ON sj_group_config (namespace_id, group_name); - -COMMENT ON COLUMN sj_group_config.id IS '主键'; -COMMENT ON COLUMN sj_group_config.namespace_id IS '命名空间id'; -COMMENT ON COLUMN sj_group_config.group_name IS '组名称'; -COMMENT ON COLUMN sj_group_config.description IS '组描述'; -COMMENT ON COLUMN sj_group_config.token IS 'token'; -COMMENT ON COLUMN sj_group_config.group_status IS '组状态 0、未启用 1、启用'; -COMMENT ON COLUMN sj_group_config.version IS '版本号'; -COMMENT ON COLUMN sj_group_config.group_partition IS '分区'; -COMMENT ON COLUMN sj_group_config.id_generator_mode IS '唯一id生成模式 默认号段模式'; -COMMENT ON COLUMN sj_group_config.init_scene IS '是否初始化场景 0:否 1:是'; -COMMENT ON COLUMN sj_group_config.bucket_index IS 'bucket'; -COMMENT ON COLUMN sj_group_config.create_dt IS '创建时间'; -COMMENT ON COLUMN sj_group_config.update_dt IS '修改时间'; -COMMENT ON TABLE sj_group_config IS '组配置'; - -INSERT INTO sj_group_config VALUES (1, 'dev', 'ruoyi_group', '', 'SJ_cKqBTPzCsWA3VyuCfFoccmuIEGXjr5KT', 1, 1, 0, 1, 1, 4, now(), now()); -INSERT INTO sj_group_config VALUES (2, 'prod', 'ruoyi_group', '', 'SJ_cKqBTPzCsWA3VyuCfFoccmuIEGXjr5KT', 1, 1, 0, 1, 1, 4, now(), now()); - --- sj_notify_config -CREATE TABLE sj_notify_config -( - id bigserial PRIMARY KEY, - namespace_id varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name varchar(64) NOT NULL, - business_id varchar(64) NOT NULL, - system_task_type smallint NOT NULL DEFAULT 3, - notify_status smallint NOT NULL DEFAULT 0, - recipient_ids varchar(128) NOT NULL, - notify_threshold int NOT NULL DEFAULT 0, - notify_scene smallint NOT NULL DEFAULT 0, - rate_limiter_status smallint NOT NULL DEFAULT 0, - rate_limiter_threshold int NOT NULL DEFAULT 0, - description varchar(256) NOT NULL DEFAULT '', - create_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - update_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP -); - -CREATE INDEX idx_sj_notify_config_01 ON sj_notify_config (namespace_id, group_name, business_id); - -COMMENT ON COLUMN sj_notify_config.id IS '主键'; -COMMENT ON COLUMN sj_notify_config.namespace_id IS '命名空间id'; -COMMENT ON COLUMN sj_notify_config.group_name IS '组名称'; -COMMENT ON COLUMN sj_notify_config.business_id IS '业务id ( job_id或workflow_id或scene_name ) '; -COMMENT ON COLUMN sj_notify_config.system_task_type IS '任务类型 1. 重试任务 2. 重试回调 3、JOB任务 4、WORKFLOW任务'; -COMMENT ON COLUMN sj_notify_config.notify_status IS '通知状态 0、未启用 1、启用'; -COMMENT ON COLUMN sj_notify_config.recipient_ids IS '接收人id列表'; -COMMENT ON COLUMN sj_notify_config.notify_threshold IS '通知阈值'; -COMMENT ON COLUMN sj_notify_config.notify_scene IS '通知场景'; -COMMENT ON COLUMN sj_notify_config.rate_limiter_status IS '限流状态 0、未启用 1、启用'; -COMMENT ON COLUMN sj_notify_config.rate_limiter_threshold IS '每秒限流阈值'; -COMMENT ON COLUMN sj_notify_config.description IS '描述'; -COMMENT ON COLUMN sj_notify_config.create_dt IS '创建时间'; -COMMENT ON COLUMN sj_notify_config.update_dt IS '修改时间'; -COMMENT ON TABLE sj_notify_config IS '通知配置'; - --- sj_notify_recipient -CREATE TABLE sj_notify_recipient -( - id bigserial PRIMARY KEY, - namespace_id varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - recipient_name varchar(64) NOT NULL, - notify_type smallint NOT NULL DEFAULT 0, - notify_attribute varchar(512) NOT NULL, - description varchar(256) NOT NULL DEFAULT '', - create_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - update_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP -); - -CREATE INDEX idx_sj_notify_recipient_01 ON sj_notify_recipient (namespace_id); - -COMMENT ON COLUMN sj_notify_recipient.id IS '主键'; -COMMENT ON COLUMN sj_notify_recipient.namespace_id IS '命名空间id'; -COMMENT ON COLUMN sj_notify_recipient.recipient_name IS '接收人名称'; -COMMENT ON COLUMN sj_notify_recipient.notify_type IS '通知类型 1、钉钉 2、邮件 3、企业微信 4 飞书 5 webhook'; -COMMENT ON COLUMN sj_notify_recipient.notify_attribute IS '配置属性'; -COMMENT ON COLUMN sj_notify_recipient.description IS '描述'; -COMMENT ON COLUMN sj_notify_recipient.create_dt IS '创建时间'; -COMMENT ON COLUMN sj_notify_recipient.update_dt IS '修改时间'; -COMMENT ON TABLE sj_notify_recipient IS '告警通知接收人'; - --- sj_retry_dead_letter_0 -CREATE TABLE sj_retry_dead_letter_0 -( - id bigserial PRIMARY KEY, - namespace_id varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - unique_id varchar(64) NOT NULL, - group_name varchar(64) NOT NULL, - scene_name varchar(64) NOT NULL, - idempotent_id varchar(64) NOT NULL, - biz_no varchar(64) NOT NULL DEFAULT '', - executor_name varchar(512) NOT NULL DEFAULT '', - args_str text NOT NULL, - ext_attrs text NOT NULL, - task_type smallint NOT NULL DEFAULT 1, - create_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP -); - -CREATE UNIQUE INDEX uk_sj_retry_dead_letter_0_01 ON sj_retry_dead_letter_0 (namespace_id, group_name, unique_id); - -CREATE INDEX idx_sj_retry_dead_letter_0_01 ON sj_retry_dead_letter_0 (namespace_id, group_name, scene_name); -CREATE INDEX idx_sj_retry_dead_letter_0_02 ON sj_retry_dead_letter_0 (idempotent_id); -CREATE INDEX idx_sj_retry_dead_letter_0_03 ON sj_retry_dead_letter_0 (biz_no); -CREATE INDEX idx_sj_retry_dead_letter_0_04 ON sj_retry_dead_letter_0 (create_dt); - -COMMENT ON COLUMN sj_retry_dead_letter_0.id IS '主键'; -COMMENT ON COLUMN sj_retry_dead_letter_0.namespace_id IS '命名空间id'; -COMMENT ON COLUMN sj_retry_dead_letter_0.unique_id IS '同组下id唯一'; -COMMENT ON COLUMN sj_retry_dead_letter_0.group_name IS '组名称'; -COMMENT ON COLUMN sj_retry_dead_letter_0.scene_name IS '场景名称'; -COMMENT ON COLUMN sj_retry_dead_letter_0.idempotent_id IS '幂等id'; -COMMENT ON COLUMN sj_retry_dead_letter_0.biz_no IS '业务编号'; -COMMENT ON COLUMN sj_retry_dead_letter_0.executor_name IS '执行器名称'; -COMMENT ON COLUMN sj_retry_dead_letter_0.args_str IS '执行方法参数'; -COMMENT ON COLUMN sj_retry_dead_letter_0.ext_attrs IS '扩展字段'; -COMMENT ON COLUMN sj_retry_dead_letter_0.task_type IS '任务类型 1、重试数据 2、回调数据'; -COMMENT ON COLUMN sj_retry_dead_letter_0.create_dt IS '创建时间'; -COMMENT ON TABLE sj_retry_dead_letter_0 IS '死信队列表'; - --- sj_retry_task_0 -CREATE TABLE sj_retry_task_0 -( - id bigserial PRIMARY KEY, - namespace_id varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - unique_id varchar(64) NOT NULL, - group_name varchar(64) NOT NULL, - scene_name varchar(64) NOT NULL, - idempotent_id varchar(64) NOT NULL, - biz_no varchar(64) NOT NULL DEFAULT '', - executor_name varchar(512) NOT NULL DEFAULT '', - args_str text NOT NULL, - ext_attrs text NOT NULL, - next_trigger_at timestamp NOT NULL, - retry_count int NOT NULL DEFAULT 0, - retry_status smallint NOT NULL DEFAULT 0, - task_type smallint NOT NULL DEFAULT 1, - create_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - update_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP -); - -CREATE UNIQUE INDEX uk_sj_retry_task_0_01 ON sj_retry_task_0 (namespace_id, group_name, unique_id); - -CREATE INDEX idx_sj_retry_task_0_01 ON sj_retry_task_0 (namespace_id, group_name, scene_name); -CREATE INDEX idx_sj_retry_task_0_02 ON sj_retry_task_0 (namespace_id, group_name, task_type); -CREATE INDEX idx_sj_retry_task_0_03 ON sj_retry_task_0 (namespace_id, group_name, retry_status); -CREATE INDEX idx_sj_retry_task_0_04 ON sj_retry_task_0 (idempotent_id); -CREATE INDEX idx_sj_retry_task_0_05 ON sj_retry_task_0 (biz_no); -CREATE INDEX idx_sj_retry_task_0_06 ON sj_retry_task_0 (create_dt); - -COMMENT ON COLUMN sj_retry_task_0.id IS '主键'; -COMMENT ON COLUMN sj_retry_task_0.namespace_id IS '命名空间id'; -COMMENT ON COLUMN sj_retry_task_0.unique_id IS '同组下id唯一'; -COMMENT ON COLUMN sj_retry_task_0.group_name IS '组名称'; -COMMENT ON COLUMN sj_retry_task_0.scene_name IS '场景名称'; -COMMENT ON COLUMN sj_retry_task_0.idempotent_id IS '幂等id'; -COMMENT ON COLUMN sj_retry_task_0.biz_no IS '业务编号'; -COMMENT ON COLUMN sj_retry_task_0.executor_name IS '执行器名称'; -COMMENT ON COLUMN sj_retry_task_0.args_str IS '执行方法参数'; -COMMENT ON COLUMN sj_retry_task_0.ext_attrs IS '扩展字段'; -COMMENT ON COLUMN sj_retry_task_0.next_trigger_at IS '下次触发时间'; -COMMENT ON COLUMN sj_retry_task_0.retry_count IS '重试次数'; -COMMENT ON COLUMN sj_retry_task_0.retry_status IS '重试状态 0、重试中 1、成功 2、最大重试次数'; -COMMENT ON COLUMN sj_retry_task_0.task_type IS '任务类型 1、重试数据 2、回调数据'; -COMMENT ON COLUMN sj_retry_task_0.create_dt IS '创建时间'; -COMMENT ON COLUMN sj_retry_task_0.update_dt IS '修改时间'; -COMMENT ON TABLE sj_retry_task_0 IS '任务表'; - --- sj_retry_task_log -CREATE TABLE sj_retry_task_log -( - id bigserial PRIMARY KEY, - namespace_id varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - unique_id varchar(64) NOT NULL, - group_name varchar(64) NOT NULL, - scene_name varchar(64) NOT NULL, - idempotent_id varchar(64) NOT NULL, - biz_no varchar(64) NOT NULL DEFAULT '', - executor_name varchar(512) NOT NULL DEFAULT '', - args_str text NOT NULL, - ext_attrs text NOT NULL, - retry_status smallint NOT NULL DEFAULT 0, - task_type smallint NOT NULL DEFAULT 1, - create_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - update_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP -); - -CREATE INDEX idx_sj_retry_task_log_01 ON sj_retry_task_log (namespace_id, group_name, scene_name); -CREATE INDEX idx_sj_retry_task_log_02 ON sj_retry_task_log (retry_status); -CREATE INDEX idx_sj_retry_task_log_03 ON sj_retry_task_log (idempotent_id); -CREATE INDEX idx_sj_retry_task_log_04 ON sj_retry_task_log (unique_id); -CREATE INDEX idx_sj_retry_task_log_05 ON sj_retry_task_log (biz_no); -CREATE INDEX idx_sj_retry_task_log_06 ON sj_retry_task_log (create_dt); - -COMMENT ON COLUMN sj_retry_task_log.id IS '主键'; -COMMENT ON COLUMN sj_retry_task_log.namespace_id IS '命名空间id'; -COMMENT ON COLUMN sj_retry_task_log.unique_id IS '同组下id唯一'; -COMMENT ON COLUMN sj_retry_task_log.group_name IS '组名称'; -COMMENT ON COLUMN sj_retry_task_log.scene_name IS '场景名称'; -COMMENT ON COLUMN sj_retry_task_log.idempotent_id IS '幂等id'; -COMMENT ON COLUMN sj_retry_task_log.biz_no IS '业务编号'; -COMMENT ON COLUMN sj_retry_task_log.executor_name IS '执行器名称'; -COMMENT ON COLUMN sj_retry_task_log.args_str IS '执行方法参数'; -COMMENT ON COLUMN sj_retry_task_log.ext_attrs IS '扩展字段'; -COMMENT ON COLUMN sj_retry_task_log.retry_status IS '重试状态 0、重试中 1、成功 2、最大次数'; -COMMENT ON COLUMN sj_retry_task_log.task_type IS '任务类型 1、重试数据 2、回调数据'; -COMMENT ON COLUMN sj_retry_task_log.create_dt IS '创建时间'; -COMMENT ON COLUMN sj_retry_task_log.update_dt IS '修改时间'; -COMMENT ON TABLE sj_retry_task_log IS '任务日志基础信息表'; - --- sj_retry_task_log_message -CREATE TABLE sj_retry_task_log_message -( - id bigserial PRIMARY KEY, - namespace_id varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name varchar(64) NOT NULL, - unique_id varchar(64) NOT NULL, - message text NOT NULL, - log_num int NOT NULL DEFAULT 1, - real_time bigint NOT NULL DEFAULT 0, - create_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP -); - -CREATE INDEX idx_sj_retry_task_log_message_01 ON sj_retry_task_log_message (namespace_id, group_name, unique_id); -CREATE INDEX idx_sj_retry_task_log_message_02 ON sj_retry_task_log_message (create_dt); - -COMMENT ON COLUMN sj_retry_task_log_message.id IS '主键'; -COMMENT ON COLUMN sj_retry_task_log_message.namespace_id IS '命名空间id'; -COMMENT ON COLUMN sj_retry_task_log_message.group_name IS '组名称'; -COMMENT ON COLUMN sj_retry_task_log_message.unique_id IS '同组下id唯一'; -COMMENT ON COLUMN sj_retry_task_log_message.message IS '异常信息'; -COMMENT ON COLUMN sj_retry_task_log_message.log_num IS '日志数量'; -COMMENT ON COLUMN sj_retry_task_log_message.real_time IS '上报时间'; -COMMENT ON COLUMN sj_retry_task_log_message.create_dt IS '创建时间'; -COMMENT ON TABLE sj_retry_task_log_message IS '任务调度日志信息记录表'; - --- sj_retry_scene_config -CREATE TABLE sj_retry_scene_config -( - id bigserial PRIMARY KEY, - namespace_id varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - scene_name varchar(64) NOT NULL, - group_name varchar(64) NOT NULL, - scene_status smallint NOT NULL DEFAULT 0, - max_retry_count int NOT NULL DEFAULT 5, - back_off smallint NOT NULL DEFAULT 1, - trigger_interval varchar(16) NOT NULL DEFAULT '', - deadline_request bigint NOT NULL DEFAULT 60000, - executor_timeout int NOT NULL DEFAULT 5, - route_key smallint NOT NULL DEFAULT 4, - description varchar(256) NOT NULL DEFAULT '', - create_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - update_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP -); - -CREATE UNIQUE INDEX uk_sj_retry_scene_config_01 ON sj_retry_scene_config (namespace_id, group_name, scene_name); - -COMMENT ON COLUMN sj_retry_scene_config.id IS '主键'; -COMMENT ON COLUMN sj_retry_scene_config.namespace_id IS '命名空间id'; -COMMENT ON COLUMN sj_retry_scene_config.scene_name IS '场景名称'; -COMMENT ON COLUMN sj_retry_scene_config.group_name IS '组名称'; -COMMENT ON COLUMN sj_retry_scene_config.scene_status IS '组状态 0、未启用 1、启用'; -COMMENT ON COLUMN sj_retry_scene_config.max_retry_count IS '最大重试次数'; -COMMENT ON COLUMN sj_retry_scene_config.back_off IS '1、默认等级 2、固定间隔时间 3、CRON 表达式'; -COMMENT ON COLUMN sj_retry_scene_config.trigger_interval IS '间隔时长'; -COMMENT ON COLUMN sj_retry_scene_config.deadline_request IS 'Deadline Request 调用链超时 单位毫秒'; -COMMENT ON COLUMN sj_retry_scene_config.executor_timeout IS '任务执行超时时间,单位秒'; -COMMENT ON COLUMN sj_retry_scene_config.route_key IS '路由策略'; -COMMENT ON COLUMN sj_retry_scene_config.description IS '描述'; -COMMENT ON COLUMN sj_retry_scene_config.create_dt IS '创建时间'; -COMMENT ON COLUMN sj_retry_scene_config.update_dt IS '修改时间'; -COMMENT ON TABLE sj_retry_scene_config IS '场景配置'; - --- sj_server_node -CREATE TABLE sj_server_node -( - id bigserial PRIMARY KEY, - namespace_id varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name varchar(64) NOT NULL, - host_id varchar(64) NOT NULL, - host_ip varchar(64) NOT NULL, - host_port int NOT NULL, - expire_at timestamp NOT NULL, - node_type smallint NOT NULL, - ext_attrs varchar(256) NULL DEFAULT '', - create_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - update_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP -); - -CREATE UNIQUE INDEX uk_sj_server_node_01 ON sj_server_node (host_id, host_ip); - -CREATE INDEX idx_sj_server_node_01 ON sj_server_node (namespace_id, group_name); -CREATE INDEX idx_sj_server_node_02 ON sj_server_node (expire_at, node_type); - -COMMENT ON COLUMN sj_server_node.id IS '主键'; -COMMENT ON COLUMN sj_server_node.namespace_id IS '命名空间id'; -COMMENT ON COLUMN sj_server_node.group_name IS '组名称'; -COMMENT ON COLUMN sj_server_node.host_id IS '主机id'; -COMMENT ON COLUMN sj_server_node.host_ip IS '机器ip'; -COMMENT ON COLUMN sj_server_node.host_port IS '机器端口'; -COMMENT ON COLUMN sj_server_node.expire_at IS '过期时间'; -COMMENT ON COLUMN sj_server_node.node_type IS '节点类型 1、客户端 2、是服务端'; -COMMENT ON COLUMN sj_server_node.ext_attrs IS '扩展字段'; -COMMENT ON COLUMN sj_server_node.create_dt IS '创建时间'; -COMMENT ON COLUMN sj_server_node.update_dt IS '修改时间'; -COMMENT ON TABLE sj_server_node IS '服务器节点'; - --- sj_distributed_lock -CREATE TABLE sj_distributed_lock -( - name varchar(64) PRIMARY KEY, - lock_until timestamp(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), - locked_at timestamp(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), - locked_by varchar(255) NOT NULL, - create_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - update_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP -); - -COMMENT ON COLUMN sj_distributed_lock.name IS '锁名称'; -COMMENT ON COLUMN sj_distributed_lock.lock_until IS '锁定时长'; -COMMENT ON COLUMN sj_distributed_lock.locked_at IS '锁定时间'; -COMMENT ON COLUMN sj_distributed_lock.locked_by IS '锁定者'; -COMMENT ON COLUMN sj_distributed_lock.create_dt IS '创建时间'; -COMMENT ON COLUMN sj_distributed_lock.update_dt IS '修改时间'; -COMMENT ON TABLE sj_distributed_lock IS '锁定表'; - --- sj_system_user -CREATE TABLE sj_system_user -( - id bigserial PRIMARY KEY, - username varchar(64) NOT NULL, - password varchar(128) NOT NULL, - role smallint NOT NULL DEFAULT 0, - create_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - update_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP -); - -COMMENT ON COLUMN sj_system_user.id IS '主键'; -COMMENT ON COLUMN sj_system_user.username IS '账号'; -COMMENT ON COLUMN sj_system_user.password IS '密码'; -COMMENT ON COLUMN sj_system_user.role IS '角色:1-普通用户、2-管理员'; -COMMENT ON COLUMN sj_system_user.create_dt IS '创建时间'; -COMMENT ON COLUMN sj_system_user.update_dt IS '修改时间'; -COMMENT ON TABLE sj_system_user IS '系统用户表'; - --- pwd: admin -INSERT INTO sj_system_user VALUES (1, 'admin', '465c194afb65670f38322df087f0a9bb225cc257e43eb4ac5a0c98ef5b3173ac', 2, now(), now()); - --- sj_system_user_permission -CREATE TABLE sj_system_user_permission -( - id bigserial PRIMARY KEY, - group_name varchar(64) NOT NULL, - namespace_id varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - system_user_id bigint NOT NULL, - create_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - update_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP -); - -CREATE UNIQUE INDEX uk_sj_system_user_permission_01 ON sj_system_user_permission (namespace_id, group_name, system_user_id); - -COMMENT ON COLUMN sj_system_user_permission.id IS '主键'; -COMMENT ON COLUMN sj_system_user_permission.group_name IS '组名称'; -COMMENT ON COLUMN sj_system_user_permission.namespace_id IS '命名空间id'; -COMMENT ON COLUMN sj_system_user_permission.system_user_id IS '系统用户id'; -COMMENT ON COLUMN sj_system_user_permission.create_dt IS '创建时间'; -COMMENT ON COLUMN sj_system_user_permission.update_dt IS '修改时间'; -COMMENT ON TABLE sj_system_user_permission IS '系统用户权限表'; - --- sj_sequence_alloc -CREATE TABLE sj_sequence_alloc -( - id bigserial PRIMARY KEY, - namespace_id varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name varchar(64) NOT NULL DEFAULT '', - max_id bigint NOT NULL DEFAULT 1, - step int NOT NULL DEFAULT 100, - update_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP -); - -CREATE UNIQUE INDEX uk_sj_sequence_alloc_01 ON sj_sequence_alloc (namespace_id, group_name); - -COMMENT ON COLUMN sj_sequence_alloc.id IS '主键'; -COMMENT ON COLUMN sj_sequence_alloc.namespace_id IS '命名空间id'; -COMMENT ON COLUMN sj_sequence_alloc.group_name IS '组名称'; -COMMENT ON COLUMN sj_sequence_alloc.max_id IS '最大id'; -COMMENT ON COLUMN sj_sequence_alloc.step IS '步长'; -COMMENT ON COLUMN sj_sequence_alloc.update_dt IS '更新时间'; -COMMENT ON TABLE sj_sequence_alloc IS '号段模式序号ID分配表'; - --- sj_job -CREATE TABLE sj_job -( - id bigserial PRIMARY KEY, - namespace_id varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name varchar(64) NOT NULL, - job_name varchar(64) NOT NULL, - args_str text NULL DEFAULT NULL, - args_type smallint NOT NULL DEFAULT 1, - next_trigger_at bigint NOT NULL, - job_status smallint NOT NULL DEFAULT 1, - task_type smallint NOT NULL DEFAULT 1, - route_key smallint NOT NULL DEFAULT 4, - executor_type smallint NOT NULL DEFAULT 1, - executor_info varchar(255) NULL DEFAULT NULL, - trigger_type smallint NOT NULL, - trigger_interval varchar(255) NOT NULL, - block_strategy smallint NOT NULL DEFAULT 1, - executor_timeout int NOT NULL DEFAULT 0, - max_retry_times int NOT NULL DEFAULT 0, - parallel_num int NOT NULL DEFAULT 1, - retry_interval int NOT NULL DEFAULT 0, - bucket_index int NOT NULL DEFAULT 0, - resident smallint NOT NULL DEFAULT 0, - description varchar(256) NOT NULL DEFAULT '', - ext_attrs varchar(256) NULL DEFAULT '', - deleted smallint NOT NULL DEFAULT 0, - create_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - update_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP -); - -CREATE INDEX idx_sj_job_01 ON sj_job (namespace_id, group_name); -CREATE INDEX idx_sj_job_02 ON sj_job (job_status, bucket_index); -CREATE INDEX idx_sj_job_03 ON sj_job (create_dt); - -COMMENT ON COLUMN sj_job.id IS '主键'; -COMMENT ON COLUMN sj_job.namespace_id IS '命名空间id'; -COMMENT ON COLUMN sj_job.group_name IS '组名称'; -COMMENT ON COLUMN sj_job.job_name IS '名称'; -COMMENT ON COLUMN sj_job.args_str IS '执行方法参数'; -COMMENT ON COLUMN sj_job.args_type IS '参数类型 '; -COMMENT ON COLUMN sj_job.next_trigger_at IS '下次触发时间'; -COMMENT ON COLUMN sj_job.job_status IS '任务状态 0、关闭、1、开启'; -COMMENT ON COLUMN sj_job.task_type IS '任务类型 1、集群 2、广播 3、切片'; -COMMENT ON COLUMN sj_job.route_key IS '路由策略'; -COMMENT ON COLUMN sj_job.executor_type IS '执行器类型'; -COMMENT ON COLUMN sj_job.executor_info IS '执行器名称'; -COMMENT ON COLUMN sj_job.trigger_type IS '触发类型 1.CRON 表达式 2. 固定时间'; -COMMENT ON COLUMN sj_job.trigger_interval IS '间隔时长'; -COMMENT ON COLUMN sj_job.block_strategy IS '阻塞策略 1、丢弃 2、覆盖 3、并行'; -COMMENT ON COLUMN sj_job.executor_timeout IS '任务执行超时时间,单位秒'; -COMMENT ON COLUMN sj_job.max_retry_times IS '最大重试次数'; -COMMENT ON COLUMN sj_job.parallel_num IS '并行数'; -COMMENT ON COLUMN sj_job.retry_interval IS '重试间隔 ( s ) '; -COMMENT ON COLUMN sj_job.bucket_index IS 'bucket'; -COMMENT ON COLUMN sj_job.resident IS '是否是常驻任务'; -COMMENT ON COLUMN sj_job.description IS '描述'; -COMMENT ON COLUMN sj_job.ext_attrs IS '扩展字段'; -COMMENT ON COLUMN sj_job.deleted IS '逻辑删除 1、删除'; -COMMENT ON COLUMN sj_job.create_dt IS '创建时间'; -COMMENT ON COLUMN sj_job.update_dt IS '修改时间'; -COMMENT ON TABLE sj_job IS '任务信息'; - -INSERT INTO sj_job VALUES (1, 'dev', 'ruoyi_group', 'demo-job', null, 1, 1710344035622, 1, 1, 4, 1, 'testJobExecutor', 2, '60', 1, 60, 3, 1, 1, 116, 0, '', '', 0, now(), now()); - --- sj_job_log_message -CREATE TABLE sj_job_log_message -( - id bigserial PRIMARY KEY, - namespace_id varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name varchar(64) NOT NULL, - job_id bigint NOT NULL, - task_batch_id bigint NOT NULL, - task_id bigint NOT NULL, - message text NOT NULL, - log_num int NOT NULL DEFAULT 1, - real_time bigint NOT NULL DEFAULT 0, - ext_attrs varchar(256) NULL DEFAULT '', - create_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP -); - -CREATE INDEX idx_sj_job_log_message_01 ON sj_job_log_message (task_batch_id, task_id); -CREATE INDEX idx_sj_job_log_message_02 ON sj_job_log_message (create_dt); -CREATE INDEX idx_sj_job_log_message_03 ON sj_job_log_message (namespace_id, group_name); - -COMMENT ON COLUMN sj_job_log_message.id IS '主键'; -COMMENT ON COLUMN sj_job_log_message.namespace_id IS '命名空间id'; -COMMENT ON COLUMN sj_job_log_message.group_name IS '组名称'; -COMMENT ON COLUMN sj_job_log_message.job_id IS '任务信息id'; -COMMENT ON COLUMN sj_job_log_message.task_batch_id IS '任务批次id'; -COMMENT ON COLUMN sj_job_log_message.task_id IS '调度任务id'; -COMMENT ON COLUMN sj_job_log_message.message IS '调度信息'; -COMMENT ON COLUMN sj_job_log_message.log_num IS '日志数量'; -COMMENT ON COLUMN sj_job_log_message.real_time IS '上报时间'; -COMMENT ON COLUMN sj_job_log_message.ext_attrs IS '扩展字段'; -COMMENT ON COLUMN sj_job_log_message.create_dt IS '创建时间'; -COMMENT ON TABLE sj_job_log_message IS '调度日志'; - --- sj_job_task -CREATE TABLE sj_job_task -( - id bigserial PRIMARY KEY, - namespace_id varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name varchar(64) NOT NULL, - job_id bigint NOT NULL, - task_batch_id bigint NOT NULL, - parent_id bigint NOT NULL DEFAULT 0, - task_status smallint NOT NULL DEFAULT 0, - retry_count int NOT NULL DEFAULT 0, - mr_stage smallint NULL DEFAULT NULL, - leaf smallint NOT NULL DEFAULT '1', - task_name varchar(255) NOT NULL DEFAULT '', - client_info varchar(128) NULL DEFAULT NULL, - wf_context text NULL DEFAULT NULL, - result_message text NOT NULL, - args_str text NULL DEFAULT NULL, - args_type smallint NOT NULL DEFAULT 1, - ext_attrs varchar(256) NULL DEFAULT '', - create_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - update_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP -); - -CREATE INDEX idx_sj_job_task_01 ON sj_job_task (task_batch_id, task_status); -CREATE INDEX idx_sj_job_task_02 ON sj_job_task (create_dt); -CREATE INDEX idx_sj_job_task_03 ON sj_job_task (namespace_id, group_name); - -COMMENT ON COLUMN sj_job_task.id IS '主键'; -COMMENT ON COLUMN sj_job_task.namespace_id IS '命名空间id'; -COMMENT ON COLUMN sj_job_task.group_name IS '组名称'; -COMMENT ON COLUMN sj_job_task.job_id IS '任务信息id'; -COMMENT ON COLUMN sj_job_task.task_batch_id IS '调度任务id'; -COMMENT ON COLUMN sj_job_task.parent_id IS '父执行器id'; -COMMENT ON COLUMN sj_job_task.task_status IS '执行的状态 0、失败 1、成功'; -COMMENT ON COLUMN sj_job_task.retry_count IS '重试次数'; -COMMENT ON COLUMN sj_job_task.mr_stage IS '动态分片所处阶段 1:map 2:reduce 3:mergeReduce'; -COMMENT ON COLUMN sj_job_task.leaf IS '叶子节点'; -COMMENT ON COLUMN sj_job_task.task_name IS '任务名称'; -COMMENT ON COLUMN sj_job_task.client_info IS '客户端地址 clientId#ip:port'; -COMMENT ON COLUMN sj_job_task.wf_context IS '工作流全局上下文'; -COMMENT ON COLUMN sj_job_task.result_message IS '执行结果'; -COMMENT ON COLUMN sj_job_task.args_str IS '执行方法参数'; -COMMENT ON COLUMN sj_job_task.args_type IS '参数类型 '; -COMMENT ON COLUMN sj_job_task.ext_attrs IS '扩展字段'; -COMMENT ON COLUMN sj_job_task.create_dt IS '创建时间'; -COMMENT ON COLUMN sj_job_task.update_dt IS '修改时间'; -COMMENT ON TABLE sj_job_task IS '任务实例'; - --- sj_job_task_batch -CREATE TABLE sj_job_task_batch -( - id bigserial PRIMARY KEY, - namespace_id varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name varchar(64) NOT NULL, - job_id bigint NOT NULL, - workflow_node_id bigint NOT NULL DEFAULT 0, - parent_workflow_node_id bigint NOT NULL DEFAULT 0, - workflow_task_batch_id bigint NOT NULL DEFAULT 0, - task_batch_status smallint NOT NULL DEFAULT 0, - operation_reason smallint NOT NULL DEFAULT 0, - execution_at bigint NOT NULL DEFAULT 0, - system_task_type smallint NOT NULL DEFAULT 3, - parent_id varchar(64) NOT NULL DEFAULT '', - ext_attrs varchar(256) NULL DEFAULT '', - deleted smallint NOT NULL DEFAULT 0, - create_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - update_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP -); - -CREATE INDEX idx_sj_job_task_batch_01 ON sj_job_task_batch (job_id, task_batch_status); -CREATE INDEX idx_sj_job_task_batch_02 ON sj_job_task_batch (create_dt); -CREATE INDEX idx_sj_job_task_batch_03 ON sj_job_task_batch (namespace_id, group_name); -CREATE INDEX idx_sj_job_task_batch_04 ON sj_job_task_batch (workflow_task_batch_id, workflow_node_id); - -COMMENT ON COLUMN sj_job_task_batch.id IS '主键'; -COMMENT ON COLUMN sj_job_task_batch.namespace_id IS '命名空间id'; -COMMENT ON COLUMN sj_job_task_batch.group_name IS '组名称'; -COMMENT ON COLUMN sj_job_task_batch.job_id IS '任务id'; -COMMENT ON COLUMN sj_job_task_batch.workflow_node_id IS '工作流节点id'; -COMMENT ON COLUMN sj_job_task_batch.parent_workflow_node_id IS '工作流任务父批次id'; -COMMENT ON COLUMN sj_job_task_batch.workflow_task_batch_id IS '工作流任务批次id'; -COMMENT ON COLUMN sj_job_task_batch.task_batch_status IS '任务批次状态 0、失败 1、成功'; -COMMENT ON COLUMN sj_job_task_batch.operation_reason IS '操作原因'; -COMMENT ON COLUMN sj_job_task_batch.execution_at IS '任务执行时间'; -COMMENT ON COLUMN sj_job_task_batch.system_task_type IS '任务类型 3、JOB任务 4、WORKFLOW任务'; -COMMENT ON COLUMN sj_job_task_batch.parent_id IS '父节点'; -COMMENT ON COLUMN sj_job_task_batch.ext_attrs IS '扩展字段'; -COMMENT ON COLUMN sj_job_task_batch.deleted IS '逻辑删除 1、删除'; -COMMENT ON COLUMN sj_job_task_batch.create_dt IS '创建时间'; -COMMENT ON COLUMN sj_job_task_batch.update_dt IS '修改时间'; -COMMENT ON TABLE sj_job_task_batch IS '任务批次'; - --- sj_job_summary -CREATE TABLE sj_job_summary -( - id bigserial PRIMARY KEY, - namespace_id varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name varchar(64) NOT NULL DEFAULT '', - business_id bigint NOT NULL, - system_task_type smallint NOT NULL DEFAULT 3, - trigger_at timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - success_num int NOT NULL DEFAULT 0, - fail_num int NOT NULL DEFAULT 0, - fail_reason varchar(512) NOT NULL DEFAULT '', - stop_num int NOT NULL DEFAULT 0, - stop_reason varchar(512) NOT NULL DEFAULT '', - cancel_num int NOT NULL DEFAULT 0, - cancel_reason varchar(512) NOT NULL DEFAULT '', - create_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - update_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP -); - -CREATE UNIQUE INDEX uk_sj_job_summary_01 ON sj_job_summary (trigger_at, system_task_type, business_id); - -CREATE INDEX idx_sj_job_summary_01 ON sj_job_summary (namespace_id, group_name, business_id); - -COMMENT ON COLUMN sj_job_summary.id IS '主键'; -COMMENT ON COLUMN sj_job_summary.namespace_id IS '命名空间id'; -COMMENT ON COLUMN sj_job_summary.group_name IS '组名称'; -COMMENT ON COLUMN sj_job_summary.business_id IS '业务id ( job_id或workflow_id ) '; -COMMENT ON COLUMN sj_job_summary.system_task_type IS '任务类型 3、JOB任务 4、WORKFLOW任务'; -COMMENT ON COLUMN sj_job_summary.trigger_at IS '统计时间'; -COMMENT ON COLUMN sj_job_summary.success_num IS '执行成功-日志数量'; -COMMENT ON COLUMN sj_job_summary.fail_num IS '执行失败-日志数量'; -COMMENT ON COLUMN sj_job_summary.fail_reason IS '失败原因'; -COMMENT ON COLUMN sj_job_summary.stop_num IS '执行失败-日志数量'; -COMMENT ON COLUMN sj_job_summary.stop_reason IS '失败原因'; -COMMENT ON COLUMN sj_job_summary.cancel_num IS '执行失败-日志数量'; -COMMENT ON COLUMN sj_job_summary.cancel_reason IS '失败原因'; -COMMENT ON COLUMN sj_job_summary.create_dt IS '创建时间'; -COMMENT ON COLUMN sj_job_summary.update_dt IS '修改时间'; -COMMENT ON TABLE sj_job_summary IS 'DashBoard_Job'; - --- sj_retry_summary -CREATE TABLE sj_retry_summary -( - id bigserial PRIMARY KEY, - namespace_id varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name varchar(64) NOT NULL DEFAULT '', - scene_name varchar(50) NOT NULL DEFAULT '', - trigger_at timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - running_num int NOT NULL DEFAULT 0, - finish_num int NOT NULL DEFAULT 0, - max_count_num int NOT NULL DEFAULT 0, - suspend_num int NOT NULL DEFAULT 0, - create_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - update_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP -); - -CREATE UNIQUE INDEX uk_sj_retry_summary_01 ON sj_retry_summary (namespace_id, group_name, scene_name, trigger_at); - -CREATE INDEX idx_sj_retry_summary_01 ON sj_retry_summary (trigger_at); - -COMMENT ON COLUMN sj_retry_summary.id IS '主键'; -COMMENT ON COLUMN sj_retry_summary.namespace_id IS '命名空间id'; -COMMENT ON COLUMN sj_retry_summary.group_name IS '组名称'; -COMMENT ON COLUMN sj_retry_summary.scene_name IS '场景名称'; -COMMENT ON COLUMN sj_retry_summary.trigger_at IS '统计时间'; -COMMENT ON COLUMN sj_retry_summary.running_num IS '重试中-日志数量'; -COMMENT ON COLUMN sj_retry_summary.finish_num IS '重试完成-日志数量'; -COMMENT ON COLUMN sj_retry_summary.max_count_num IS '重试到达最大次数-日志数量'; -COMMENT ON COLUMN sj_retry_summary.suspend_num IS '暂停重试-日志数量'; -COMMENT ON COLUMN sj_retry_summary.create_dt IS '创建时间'; -COMMENT ON COLUMN sj_retry_summary.update_dt IS '修改时间'; -COMMENT ON TABLE sj_retry_summary IS 'DashBoard_Retry'; - --- sj_workflow -CREATE TABLE sj_workflow -( - id bigserial PRIMARY KEY, - workflow_name varchar(64) NOT NULL, - namespace_id varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name varchar(64) NOT NULL, - workflow_status smallint NOT NULL DEFAULT 1, - trigger_type smallint NOT NULL, - trigger_interval varchar(255) NOT NULL, - next_trigger_at bigint NOT NULL, - block_strategy smallint NOT NULL DEFAULT 1, - executor_timeout int NOT NULL DEFAULT 0, - description varchar(256) NOT NULL DEFAULT '', - flow_info text NULL DEFAULT NULL, - wf_context text NULL DEFAULT NULL, - bucket_index int NOT NULL DEFAULT 0, - version int NOT NULL, - ext_attrs varchar(256) NULL DEFAULT '', - deleted smallint NOT NULL DEFAULT 0, - create_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - update_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP -); - -CREATE INDEX idx_sj_workflow_01 ON sj_workflow (create_dt); -CREATE INDEX idx_sj_workflow_02 ON sj_workflow (namespace_id, group_name); - -COMMENT ON COLUMN sj_workflow.id IS '主键'; -COMMENT ON COLUMN sj_workflow.workflow_name IS '工作流名称'; -COMMENT ON COLUMN sj_workflow.namespace_id IS '命名空间id'; -COMMENT ON COLUMN sj_workflow.group_name IS '组名称'; -COMMENT ON COLUMN sj_workflow.workflow_status IS '工作流状态 0、关闭、1、开启'; -COMMENT ON COLUMN sj_workflow.trigger_type IS '触发类型 1.CRON 表达式 2. 固定时间'; -COMMENT ON COLUMN sj_workflow.trigger_interval IS '间隔时长'; -COMMENT ON COLUMN sj_workflow.next_trigger_at IS '下次触发时间'; -COMMENT ON COLUMN sj_workflow.block_strategy IS '阻塞策略 1、丢弃 2、覆盖 3、并行'; -COMMENT ON COLUMN sj_workflow.executor_timeout IS '任务执行超时时间,单位秒'; -COMMENT ON COLUMN sj_workflow.description IS '描述'; -COMMENT ON COLUMN sj_workflow.flow_info IS '流程信息'; -COMMENT ON COLUMN sj_workflow.wf_context IS '上下文'; -COMMENT ON COLUMN sj_workflow.bucket_index IS 'bucket'; -COMMENT ON COLUMN sj_workflow.version IS '版本号'; -COMMENT ON COLUMN sj_workflow.ext_attrs IS '扩展字段'; -COMMENT ON COLUMN sj_workflow.deleted IS '逻辑删除 1、删除'; -COMMENT ON COLUMN sj_workflow.create_dt IS '创建时间'; -COMMENT ON COLUMN sj_workflow.update_dt IS '修改时间'; -COMMENT ON TABLE sj_workflow IS '工作流'; - --- sj_workflow_node -CREATE TABLE sj_workflow_node -( - id bigserial PRIMARY KEY, - namespace_id varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - node_name varchar(64) NOT NULL, - group_name varchar(64) NOT NULL, - job_id bigint NOT NULL, - workflow_id bigint NOT NULL, - node_type smallint NOT NULL DEFAULT 1, - expression_type smallint NOT NULL DEFAULT 0, - fail_strategy smallint NOT NULL DEFAULT 1, - workflow_node_status smallint NOT NULL DEFAULT 1, - priority_level int NOT NULL DEFAULT 1, - node_info text NULL DEFAULT NULL, - version int NOT NULL, - ext_attrs varchar(256) NULL DEFAULT '', - deleted smallint NOT NULL DEFAULT 0, - create_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - update_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP -); - -CREATE INDEX idx_sj_workflow_node_01 ON sj_workflow_node (create_dt); -CREATE INDEX idx_sj_workflow_node_02 ON sj_workflow_node (namespace_id, group_name); - -COMMENT ON COLUMN sj_workflow_node.id IS '主键'; -COMMENT ON COLUMN sj_workflow_node.namespace_id IS '命名空间id'; -COMMENT ON COLUMN sj_workflow_node.node_name IS '节点名称'; -COMMENT ON COLUMN sj_workflow_node.group_name IS '组名称'; -COMMENT ON COLUMN sj_workflow_node.job_id IS '任务信息id'; -COMMENT ON COLUMN sj_workflow_node.workflow_id IS '工作流ID'; -COMMENT ON COLUMN sj_workflow_node.node_type IS '1、任务节点 2、条件节点'; -COMMENT ON COLUMN sj_workflow_node.expression_type IS '1、SpEl、2、Aviator 3、QL'; -COMMENT ON COLUMN sj_workflow_node.fail_strategy IS '失败策略 1、跳过 2、阻塞'; -COMMENT ON COLUMN sj_workflow_node.workflow_node_status IS '工作流节点状态 0、关闭、1、开启'; -COMMENT ON COLUMN sj_workflow_node.priority_level IS '优先级'; -COMMENT ON COLUMN sj_workflow_node.node_info IS '节点信息 '; -COMMENT ON COLUMN sj_workflow_node.version IS '版本号'; -COMMENT ON COLUMN sj_workflow_node.ext_attrs IS '扩展字段'; -COMMENT ON COLUMN sj_workflow_node.deleted IS '逻辑删除 1、删除'; -COMMENT ON COLUMN sj_workflow_node.create_dt IS '创建时间'; -COMMENT ON COLUMN sj_workflow_node.update_dt IS '修改时间'; -COMMENT ON TABLE sj_workflow_node IS '工作流节点'; - --- sj_workflow_task_batch -CREATE TABLE sj_workflow_task_batch -( - id bigserial PRIMARY KEY, - namespace_id varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name varchar(64) NOT NULL, - workflow_id bigint NOT NULL, - task_batch_status smallint NOT NULL DEFAULT 0, - operation_reason smallint NOT NULL DEFAULT 0, - flow_info text NULL DEFAULT NULL, - wf_context text NULL DEFAULT NULL, - execution_at bigint NOT NULL DEFAULT 0, - ext_attrs varchar(256) NULL DEFAULT '', - version int NOT NULL DEFAULT 1, - deleted smallint NOT NULL DEFAULT 0, - create_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - update_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP -); - -CREATE INDEX idx_sj_workflow_task_batch_01 ON sj_workflow_task_batch (workflow_id, task_batch_status); -CREATE INDEX idx_sj_workflow_task_batch_02 ON sj_workflow_task_batch (create_dt); -CREATE INDEX idx_sj_workflow_task_batch_03 ON sj_workflow_task_batch (namespace_id, group_name); - -COMMENT ON COLUMN sj_workflow_task_batch.id IS '主键'; -COMMENT ON COLUMN sj_workflow_task_batch.namespace_id IS '命名空间id'; -COMMENT ON COLUMN sj_workflow_task_batch.group_name IS '组名称'; -COMMENT ON COLUMN sj_workflow_task_batch.workflow_id IS '工作流任务id'; -COMMENT ON COLUMN sj_workflow_task_batch.task_batch_status IS '任务批次状态 0、失败 1、成功'; -COMMENT ON COLUMN sj_workflow_task_batch.operation_reason IS '操作原因'; -COMMENT ON COLUMN sj_workflow_task_batch.flow_info IS '流程信息'; -COMMENT ON COLUMN sj_workflow_task_batch.wf_context IS '全局上下文'; -COMMENT ON COLUMN sj_workflow_task_batch.execution_at IS '任务执行时间'; -COMMENT ON COLUMN sj_workflow_task_batch.ext_attrs IS '扩展字段'; -COMMENT ON COLUMN sj_workflow_task_batch.version IS '版本号'; -COMMENT ON COLUMN sj_workflow_task_batch.deleted IS '逻辑删除 1、删除'; -COMMENT ON COLUMN sj_workflow_task_batch.create_dt IS '创建时间'; -COMMENT ON COLUMN sj_workflow_task_batch.update_dt IS '修改时间'; -COMMENT ON TABLE sj_workflow_task_batch IS '工作流批次'; diff --git a/im-admin/script/sql/postgres/postgres_ry_vue_5.X.sql b/im-admin/script/sql/postgres/postgres_ry_vue_5.X.sql deleted file mode 100644 index fabea60..0000000 --- a/im-admin/script/sql/postgres/postgres_ry_vue_5.X.sql +++ /dev/null @@ -1,1356 +0,0 @@ --- ---------------------------- --- 第三方平台授权表 --- ---------------------------- -create table sys_social -( - id int8 not null, - user_id int8 not null, - tenant_id varchar(20) default null::varchar, - auth_id varchar(255) not null, - source varchar(255) not null, - open_id varchar(255) default null::varchar, - user_name varchar(30) not null, - nick_name varchar(30) default ''::varchar, - email varchar(255) default ''::varchar, - avatar varchar(500) default ''::varchar, - access_token varchar(255) not null, - expire_in int8 default null, - refresh_token varchar(255) default null::varchar, - access_code varchar(255) default null::varchar, - union_id varchar(255) default null::varchar, - scope varchar(255) default null::varchar, - token_type varchar(255) default null::varchar, - id_token varchar(2000) default null::varchar, - mac_algorithm varchar(255) default null::varchar, - mac_key varchar(255) default null::varchar, - code varchar(255) default null::varchar, - oauth_token varchar(255) default null::varchar, - oauth_token_secret varchar(255) default null::varchar, - create_dept int8, - create_by int8, - create_time timestamp, - update_by int8, - update_time timestamp, - del_flag char default '0'::bpchar, - constraint "pk_sys_social" primary key (id) -); - -comment on table sys_social is '社会化关系表'; -comment on column sys_social.id is '主键'; -comment on column sys_social.user_id is '用户ID'; -comment on column sys_social.tenant_id is '租户id'; -comment on column sys_social.auth_id is '平台+平台唯一id'; -comment on column sys_social.source is '用户来源'; -comment on column sys_social.open_id is '平台编号唯一id'; -comment on column sys_social.user_name is '登录账号'; -comment on column sys_social.nick_name is '用户昵称'; -comment on column sys_social.email is '用户邮箱'; -comment on column sys_social.avatar is '头像地址'; -comment on column sys_social.access_token is '用户的授权令牌'; -comment on column sys_social.expire_in is '用户的授权令牌的有效期,部分平台可能没有'; -comment on column sys_social.refresh_token is '刷新令牌,部分平台可能没有'; -comment on column sys_social.access_code is '平台的授权信息,部分平台可能没有'; -comment on column sys_social.union_id is '用户的 unionid'; -comment on column sys_social.scope is '授予的权限,部分平台可能没有'; -comment on column sys_social.token_type is '个别平台的授权信息,部分平台可能没有'; -comment on column sys_social.id_token is 'id token,部分平台可能没有'; -comment on column sys_social.mac_algorithm is '小米平台用户的附带属性,部分平台可能没有'; -comment on column sys_social.mac_key is '小米平台用户的附带属性,部分平台可能没有'; -comment on column sys_social.code is '用户的授权code,部分平台可能没有'; -comment on column sys_social.oauth_token is 'Twitter平台用户的附带属性,部分平台可能没有'; -comment on column sys_social.oauth_token_secret is 'Twitter平台用户的附带属性,部分平台可能没有'; -comment on column sys_social.create_dept is '创建部门'; -comment on column sys_social.create_by is '创建者'; -comment on column sys_social.create_time is '创建时间'; -comment on column sys_social.update_by is '更新者'; -comment on column sys_social.update_time is '更新时间'; -comment on column sys_social.del_flag is '删除标志(0代表存在 2代表删除)'; - --- ---------------------------- --- 租户表 --- ---------------------------- -create table if not exists sys_tenant -( - id int8, - tenant_id varchar(20) not null, - contact_user_name varchar(20) default null::varchar, - contact_phone varchar(20) default null::varchar, - company_name varchar(50) default null::varchar, - license_number varchar(30) default null::varchar, - address varchar(200) default null::varchar, - intro varchar(200) default null::varchar, - domain varchar(200) default null::varchar, - remark varchar(200) default null::varchar, - package_id int8, - expire_time timestamp, - account_count int4 default -1, - status char default '0'::bpchar, - del_flag char default '0'::bpchar, - create_dept int8, - create_by int8, - create_time timestamp, - update_by int8, - update_time timestamp, - constraint "pk_sys_tenant" primary key (id) -); - - -comment on table sys_tenant is '租户表'; -comment on column sys_tenant.tenant_id is '租户编号'; -comment on column sys_tenant.contact_phone is '联系电话'; -comment on column sys_tenant.company_name is '企业名称'; -comment on column sys_tenant.company_name is '联系人'; -comment on column sys_tenant.license_number is '统一社会信用代码'; -comment on column sys_tenant.address is '地址'; -comment on column sys_tenant.intro is '企业简介'; -comment on column sys_tenant.domain is '域名'; -comment on column sys_tenant.remark is '备注'; -comment on column sys_tenant.package_id is '租户套餐编号'; -comment on column sys_tenant.expire_time is '过期时间'; -comment on column sys_tenant.account_count is '用户数量(-1不限制)'; -comment on column sys_tenant.status is '租户状态(0正常 1停用)'; -comment on column sys_tenant.del_flag is '删除标志(0代表存在 2代表删除)'; -comment on column sys_tenant.create_dept is '创建部门'; -comment on column sys_tenant.create_by is '创建者'; -comment on column sys_tenant.create_time is '创建时间'; -comment on column sys_tenant.update_by is '更新者'; -comment on column sys_tenant.update_time is '更新时间'; - - --- ---------------------------- --- 初始化-租户表数据 --- ---------------------------- - -insert into sys_tenant values(1, '000000', '管理组', '15888888888', 'XXX有限公司', null, null, '多租户通用后台管理管理系统', null, null, null, null, -1, '0', '0', 103, 1, now(), null, null); - - --- ---------------------------- --- 租户套餐表 --- ---------------------------- -create table if not exists sys_tenant_package -( - package_id int8, - package_name varchar(20) default ''::varchar, - menu_ids varchar(3000) default ''::varchar, - remark varchar(200) default ''::varchar, - menu_check_strictly bool default true, - status char default '0'::bpchar, - del_flag char default '0'::bpchar, - create_dept int8, - create_by int8, - create_time timestamp, - update_by int8, - update_time timestamp, - constraint "pk_sys_tenant_package" primary key (package_id) -); - - -comment on table sys_tenant_package is '租户套餐表'; -comment on column sys_tenant_package.package_id is '租户套餐id'; -comment on column sys_tenant_package.package_name is '套餐名称'; -comment on column sys_tenant_package.menu_ids is '关联菜单id'; -comment on column sys_tenant_package.remark is '备注'; -comment on column sys_tenant_package.status is '状态(0正常 1停用)'; -comment on column sys_tenant_package.del_flag is '删除标志(0代表存在 2代表删除)'; -comment on column sys_tenant_package.create_dept is '创建部门'; -comment on column sys_tenant_package.create_by is '创建者'; -comment on column sys_tenant_package.create_time is '创建时间'; -comment on column sys_tenant_package.update_by is '更新者'; -comment on column sys_tenant_package.update_time is '更新时间'; - - --- ---------------------------- --- 1、部门表 --- ---------------------------- -create table if not exists sys_dept -( - dept_id int8, - tenant_id varchar(20) default '000000'::varchar, - parent_id int8 default 0, - ancestors varchar(500)default ''::varchar, - dept_name varchar(30) default ''::varchar, - dept_category varchar(100) default null::varchar, - order_num int4 default 0, - leader int8 default null, - phone varchar(11) default null::varchar, - email varchar(50) default null::varchar, - status char default '0'::bpchar, - del_flag char default '0'::bpchar, - create_dept int8, - create_by int8, - create_time timestamp, - update_by int8, - update_time timestamp, - constraint "sys_dept_pk" primary key (dept_id) -); - -comment on table sys_dept is '部门表'; -comment on column sys_dept.dept_id is '部门ID'; -comment on column sys_dept.tenant_id is '租户编号'; -comment on column sys_dept.parent_id is '父部门ID'; -comment on column sys_dept.ancestors is '祖级列表'; -comment on column sys_dept.dept_name is '部门名称'; -comment on column sys_dept.dept_category is '部门类别编码'; -comment on column sys_dept.order_num is '显示顺序'; -comment on column sys_dept.leader is '负责人'; -comment on column sys_dept.phone is '联系电话'; -comment on column sys_dept.email is '邮箱'; -comment on column sys_dept.status is '部门状态(0正常 1停用)'; -comment on column sys_dept.del_flag is '删除标志(0代表存在 2代表删除)'; -comment on column sys_dept.create_dept is '创建部门'; -comment on column sys_dept.create_by is '创建者'; -comment on column sys_dept.create_time is '创建时间'; -comment on column sys_dept.update_by is '更新者'; -comment on column sys_dept.update_time is '更新时间'; - --- ---------------------------- --- 初始化-部门表数据 --- ---------------------------- -insert into sys_dept values(100, '000000', 0, '0', 'XXX科技', null,0, null, '15888888888', 'xxx@qq.com', '0', '0', 103, 1, now(), null, null); -insert into sys_dept values(101, '000000', 100, '0,100', '深圳总公司', null,1, null, '15888888888', 'xxx@qq.com', '0', '0', 103, 1, now(), null, null); -insert into sys_dept values(102, '000000', 100, '0,100', '长沙分公司', null,2, null, '15888888888', 'xxx@qq.com', '0', '0', 103, 1, now(), null, null); -insert into sys_dept values(103, '000000', 101, '0,100,101', '研发部门', null,1, 1, '15888888888', 'xxx@qq.com', '0', '0', 103, 1, now(), null, null); -insert into sys_dept values(104, '000000', 101, '0,100,101', '市场部门', null,2, null, '15888888888', 'xxx@qq.com', '0', '0', 103, 1, now(), null, null); -insert into sys_dept values(105, '000000', 101, '0,100,101', '测试部门', null,3, null, '15888888888', 'xxx@qq.com', '0', '0', 103, 1, now(), null, null); -insert into sys_dept values(106, '000000', 101, '0,100,101', '财务部门', null,4, null, '15888888888', 'xxx@qq.com', '0', '0', 103, 1, now(), null, null); -insert into sys_dept values(107, '000000', 101, '0,100,101', '运维部门', null,5, null, '15888888888', 'xxx@qq.com', '0', '0', 103, 1, now(), null, null); -insert into sys_dept values(108, '000000', 102, '0,100,102', '市场部门', null,1, null, '15888888888', 'xxx@qq.com', '0', '0', 103, 1, now(), null, null); -insert into sys_dept values(109, '000000', 102, '0,100,102', '财务部门', null,2, null, '15888888888', 'xxx@qq.com', '0', '0', 103, 1, now(), null, null); - --- ---------------------------- --- 2、用户信息表 --- ---------------------------- -create table if not exists sys_user -( - user_id int8, - tenant_id varchar(20) default '000000'::varchar, - dept_id int8, - user_name varchar(30) not null, - nick_name varchar(30) not null, - user_type varchar(10) default 'sys_user'::varchar, - email varchar(50) default ''::varchar, - phonenumber varchar(11) default ''::varchar, - sex char default '0'::bpchar, - avatar int8, - password varchar(100) default ''::varchar, - status char default '0'::bpchar, - del_flag char default '0'::bpchar, - login_ip varchar(128) default ''::varchar, - login_date timestamp, - create_dept int8, - create_by int8, - create_time timestamp, - update_by int8, - update_time timestamp, - remark varchar(500) default null::varchar, - constraint "sys_user_pk" primary key (user_id) -); - -comment on table sys_user is '用户信息表'; -comment on column sys_user.user_id is '用户ID'; -comment on column sys_user.tenant_id is '租户编号'; -comment on column sys_user.dept_id is '部门ID'; -comment on column sys_user.user_name is '用户账号'; -comment on column sys_user.nick_name is '用户昵称'; -comment on column sys_user.user_type is '用户类型(sys_user系统用户)'; -comment on column sys_user.email is '用户邮箱'; -comment on column sys_user.phonenumber is '手机号码'; -comment on column sys_user.sex is '用户性别(0男 1女 2未知)'; -comment on column sys_user.avatar is '头像地址'; -comment on column sys_user.password is '密码'; -comment on column sys_user.status is '帐号状态(0正常 1停用)'; -comment on column sys_user.del_flag is '删除标志(0代表存在 2代表删除)'; -comment on column sys_user.login_ip is '最后登陆IP'; -comment on column sys_user.login_date is '最后登陆时间'; -comment on column sys_user.create_dept is '创建部门'; -comment on column sys_user.create_by is '创建者'; -comment on column sys_user.create_time is '创建时间'; -comment on column sys_user.update_by is '更新者'; -comment on column sys_user.update_time is '更新时间'; -comment on column sys_user.remark is '备注'; - --- ---------------------------- - --- 初始化-用户信息表数据 --- ---------------------------- -insert into sys_user values(1, '000000', 103, 'admin', '疯狂的狮子Li', 'sys_user', 'crazyLionLi@163.com', '15888888888', '1', null, '$2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2', '0', '0', '127.0.0.1', now(), 103, 1, now(), null, null, '管理员'); -insert into sys_user VALUES(3, '000000', 108, 'test', '本部门及以下 密码666666', 'sys_user', '', '', '0', null, '$2a$10$b8yUzN0C71sbz.PhNOCgJe.Tu1yWC3RNrTyjSQ8p1W0.aaUXUJ.Ne', '0', '0', '127.0.0.1', now(), 103, 1, now(), 3, now(), NULL); -insert into sys_user VALUES(4, '000000', 102, 'test1', '仅本人 密码666666', 'sys_user', '', '', '0', null, '$2a$10$b8yUzN0C71sbz.PhNOCgJe.Tu1yWC3RNrTyjSQ8p1W0.aaUXUJ.Ne', '0', '0', '127.0.0.1', now(), 103, 1, now(), 4, now(), NULL); - --- ---------------------------- --- 3、岗位信息表 --- ---------------------------- -create table if not exists sys_post -( - post_id int8, - tenant_id varchar(20) default '000000'::varchar, - dept_id int8, - post_code varchar(64) not null, - post_category varchar(100) default null, - post_name varchar(50) not null, - post_sort int4 not null, - status char not null, - create_dept int8, - create_by int8, - create_time timestamp, - update_by int8, - update_time timestamp, - remark varchar(500) default null::varchar, - constraint "sys_post_pk" primary key (post_id) -); - -comment on table sys_post is '岗位信息表'; -comment on column sys_post.post_id is '岗位ID'; -comment on column sys_post.tenant_id is '租户编号'; -comment on column sys_post.dept_id is '部门id'; -comment on column sys_post.post_code is '岗位编码'; -comment on column sys_post.post_category is '岗位类别编码'; -comment on column sys_post.post_name is '岗位名称'; -comment on column sys_post.post_sort is '显示顺序'; -comment on column sys_post.status is '状态(0正常 1停用)'; -comment on column sys_post.create_dept is '创建部门'; -comment on column sys_post.create_by is '创建者'; -comment on column sys_post.create_time is '创建时间'; -comment on column sys_post.update_by is '更新者'; -comment on column sys_post.update_time is '更新时间'; -comment on column sys_post.remark is '备注'; - --- ---------------------------- --- 初始化-岗位信息表数据 --- ---------------------------- -insert into sys_post values(1, '000000', 103, 'ceo', null, '董事长', 1, '0', 103, 1, now(), null, null, ''); -insert into sys_post values(2, '000000', 100, 'se', null, '项目经理', 2, '0', 103, 1, now(), null, null, ''); -insert into sys_post values(3, '000000', 100, 'hr', null, '人力资源', 3, '0', 103, 1, now(), null, null, ''); -insert into sys_post values(4, '000000', 100, 'user', null, '普通员工', 4, '0', 103, 1, now(), null, null, ''); - --- ---------------------------- --- 4、角色信息表 --- ---------------------------- -create table if not exists sys_role -( - role_id int8, - tenant_id varchar(20) default '000000'::varchar, - role_name varchar(30) not null, - role_key varchar(100) not null, - role_sort int4 not null, - data_scope char default '1'::bpchar, - menu_check_strictly bool default true, - dept_check_strictly bool default true, - status char not null, - del_flag char default '0'::bpchar, - create_dept int8, - create_by int8, - create_time timestamp, - update_by int8, - update_time timestamp, - remark varchar(500) default null::varchar, - constraint "sys_role_pk" primary key (role_id) -); - -comment on table sys_role is '角色信息表'; -comment on column sys_role.role_id is '角色ID'; -comment on column sys_role.tenant_id is '租户编号'; -comment on column sys_role.role_name is '角色名称'; -comment on column sys_role.role_key is '角色权限字符串'; -comment on column sys_role.role_sort is '显示顺序'; -comment on column sys_role.data_scope is '数据范围(1:全部数据权限 2:自定数据权限 3:本部门数据权限 4:本部门及以下数据权限)'; -comment on column sys_role.menu_check_strictly is '菜单树选择项是否关联显示'; -comment on column sys_role.dept_check_strictly is '部门树选择项是否关联显示'; -comment on column sys_role.status is '角色状态(0正常 1停用)'; -comment on column sys_role.del_flag is '删除标志(0代表存在 2代表删除)'; -comment on column sys_role.create_dept is '创建部门'; -comment on column sys_role.create_by is '创建者'; -comment on column sys_role.create_time is '创建时间'; -comment on column sys_role.update_by is '更新者'; -comment on column sys_role.update_time is '更新时间'; -comment on column sys_role.remark is '备注'; - --- ---------------------------- --- 初始化-角色信息表数据 --- ---------------------------- -insert into sys_role values('1', '000000', '超级管理员', 'superadmin', 1, '1', 't', 't', '0', '0', 103, 1, now(), null, null, '超级管理员'); -insert into sys_role values('3', '000000', '本部门及以下', 'test1', 3, '4', 't', 't', '0', '0', 103, 1, now(), NULL, NULL, ''); -insert into sys_role values('4', '000000', '仅本人', 'test2', 4, '5', 't', 't', '0', '0', 103, 1, now(), NULL, NULL, ''); - --- ---------------------------- --- 5、菜单权限表 --- ---------------------------- -create table if not exists sys_menu -( - menu_id int8, - menu_name varchar(50) not null, - parent_id int8 default 0, - order_num int4 default 0, - path varchar(200) default ''::varchar, - component varchar(255) default null::varchar, - query_param varchar(255) default null::varchar, - is_frame char default '1'::bpchar, - is_cache char default '0'::bpchar, - menu_type char default ''::bpchar, - visible char default '0'::bpchar, - status char default '0'::bpchar, - perms varchar(100) default null::varchar, - icon varchar(100) default '#'::varchar, - create_dept int8, - create_by int8, - create_time timestamp, - update_by int8, - update_time timestamp, - remark varchar(500) default ''::varchar, - constraint "sys_menu_pk" primary key (menu_id) -); - -comment on table sys_menu is '菜单权限表'; -comment on column sys_menu.menu_id is '菜单ID'; -comment on column sys_menu.menu_name is '菜单名称'; -comment on column sys_menu.parent_id is '父菜单ID'; -comment on column sys_menu.order_num is '显示顺序'; -comment on column sys_menu.path is '路由地址'; -comment on column sys_menu.component is '组件路径'; -comment on column sys_menu.query_param is '路由参数'; -comment on column sys_menu.is_frame is '是否为外链(0是 1否)'; -comment on column sys_menu.is_cache is '是否缓存(0缓存 1不缓存)'; -comment on column sys_menu.menu_type is '菜单类型(M目录 C菜单 F按钮)'; -comment on column sys_menu.visible is '显示状态(0显示 1隐藏)'; -comment on column sys_menu.status is '菜单状态(0正常 1停用)'; -comment on column sys_menu.perms is '权限标识'; -comment on column sys_menu.icon is '菜单图标'; -comment on column sys_menu.create_dept is '创建部门'; -comment on column sys_menu.create_by is '创建者'; -comment on column sys_menu.create_time is '创建时间'; -comment on column sys_menu.update_by is '更新者'; -comment on column sys_menu.update_time is '更新时间'; -comment on column sys_menu.remark is '备注'; - --- ---------------------------- --- 初始化-菜单信息表数据 --- ---------------------------- --- 一级菜单 -insert into sys_menu values('1', '系统管理', '0', '1', 'system', null, '', '1', '0', 'M', '0', '0', '', 'system', 103, 1, now(), null, null, '系统管理目录'); -insert into sys_menu values('6', '租户管理', '0', '2', 'tenant', null, '', '1', '0', 'M', '0', '0', '', 'chart', 103, 1, now(), null, null, '租户管理目录'); -insert into sys_menu values('2', '系统监控', '0', '3', 'monitor', null, '', '1', '0', 'M', '0', '0', '', 'monitor', 103, 1, now(), null, null, '系统监控目录'); -insert into sys_menu values('3', '系统工具', '0', '4', 'tool', null, '', '1', '0', 'M', '0', '0', '', 'tool', 103, 1, now(), null, null, '系统工具目录'); -insert into sys_menu values('4', 'PLUS官网', '0', '5', 'https://gitee.com/dromara/RuoYi-Vue-Plus', null, '', '0', '0', 'M', '0', '0', '', 'guide', 103, 1, now(), null, null, 'RuoYi-Vue-Plus官网地址'); -insert into sys_menu VALUES('5', '测试菜单', '0', '5', 'demo', null, '', '1', '0', 'M', '0', '0', null, 'star', 103, 1, now(), null, null, '测试菜单'); --- 二级菜单 -insert into sys_menu values('100', '用户管理', '1', '1', 'user', 'system/user/index', '', '1', '0', 'C', '0', '0', 'system:user:list', 'user', 103, 1, now(), null, null, '用户管理菜单'); -insert into sys_menu values('101', '角色管理', '1', '2', 'role', 'system/role/index', '', '1', '0', 'C', '0', '0', 'system:role:list', 'peoples', 103, 1, now(), null, null, '角色管理菜单'); -insert into sys_menu values('102', '菜单管理', '1', '3', 'menu', 'system/menu/index', '', '1', '0', 'C', '0', '0', 'system:menu:list', 'tree-table', 103, 1, now(), null, null, '菜单管理菜单'); -insert into sys_menu values('103', '部门管理', '1', '4', 'dept', 'system/dept/index', '', '1', '0', 'C', '0', '0', 'system:dept:list', 'tree', 103, 1, now(), null, null, '部门管理菜单'); -insert into sys_menu values('104', '岗位管理', '1', '5', 'post', 'system/post/index', '', '1', '0', 'C', '0', '0', 'system:post:list', 'post', 103, 1, now(), null, null, '岗位管理菜单'); -insert into sys_menu values('105', '字典管理', '1', '6', 'dict', 'system/dict/index', '', '1', '0', 'C', '0', '0', 'system:dict:list', 'dict', 103, 1, now(), null, null, '字典管理菜单'); -insert into sys_menu values('106', '参数设置', '1', '7', 'config', 'system/config/index', '', '1', '0', 'C', '0', '0', 'system:config:list', 'edit', 103, 1, now(), null, null, '参数设置菜单'); -insert into sys_menu values('107', '通知公告', '1', '8', 'notice', 'system/notice/index', '', '1', '0', 'C', '0', '0', 'system:notice:list', 'message', 103, 1, now(), null, null, '通知公告菜单'); -insert into sys_menu values('108', '日志管理', '1', '9', 'log', '', '', '1', '0', 'M', '0', '0', '', 'log', 103, 1, now(), null, null, '日志管理菜单'); -insert into sys_menu values('109', '在线用户', '2', '1', 'online', 'monitor/online/index', '', '1', '0', 'C', '0', '0', 'monitor:online:list', 'online', 103, 1, now(), null, null, '在线用户菜单'); -insert into sys_menu values('113', '缓存监控', '2', '5', 'cache', 'monitor/cache/index', '', '1', '0', 'C', '0', '0', 'monitor:cache:list', 'redis', 103, 1, now(), null, null, '缓存监控菜单'); -insert into sys_menu values('115', '代码生成', '3', '2', 'gen', 'tool/gen/index', '', '1', '0', 'C', '0', '0', 'tool:gen:list', 'code', 103, 1, now(), null, null, '代码生成菜单'); -insert into sys_menu values('121', '租户管理', '6', '1', 'tenant', 'system/tenant/index', '', '1', '0', 'C', '0', '0', 'system:tenant:list', 'list', 103, 1, now(), null, null, '租户管理菜单'); -insert into sys_menu values('122', '租户套餐管理', '6', '2', 'tenantPackage', 'system/tenantPackage/index', '', '1', '0', 'C', '0', '0', 'system:tenantPackage:list', 'form', 103, 1, now(), null, null, '租户套餐管理菜单'); -insert into sys_menu values('123', '客户端管理', '1', '11', 'client', 'system/client/index', '', '1', '0', 'C', '0', '0', 'system:client:list', 'international', 103, 1, now(), null, null, '客户端管理菜单'); - --- springboot-admin监控 -insert into sys_menu values('117', 'Admin监控', '2', '5', 'Admin', 'monitor/admin/index', '', '1', '0', 'C', '0', '0', 'monitor:admin:list', 'dashboard', 103, 1, now(), null, null, 'Admin监控菜单'); --- oss菜单 -insert into sys_menu values('118', '文件管理', '1', '10', 'oss', 'system/oss/index', '', '1', '0', 'C', '0', '0', 'system:oss:list', 'upload', 103, 1, now(), null, null, '文件管理菜单'); --- snail-job server控制台 -insert into sys_menu values('120', '任务调度中心', '2', '6', 'snailjob', 'monitor/snailjob/index', '', '1', '0', 'C', '0', '0', 'monitor:snailjob:list', 'job', 103, 1, now(), null, null, 'SnailJob控制台菜单'); - --- 三级菜单 -insert into sys_menu values('500', '操作日志', '108', '1', 'operlog', 'monitor/operlog/index', '', '1', '0', 'C', '0', '0', 'monitor:operlog:list', 'form', 103, 1, now(), null, null, '操作日志菜单'); -insert into sys_menu values('501', '登录日志', '108', '2', 'logininfor', 'monitor/logininfor/index', '', '1', '0', 'C', '0', '0', 'monitor:logininfor:list', 'logininfor', 103, 1, now(), null, null, '登录日志菜单'); --- 用户管理按钮 -insert into sys_menu values('1001', '用户查询', '100', '1', '', '', '', '1', '0', 'F', '0', '0', 'system:user:query', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1002', '用户新增', '100', '2', '', '', '', '1', '0', 'F', '0', '0', 'system:user:add', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1003', '用户修改', '100', '3', '', '', '', '1', '0', 'F', '0', '0', 'system:user:edit', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1004', '用户删除', '100', '4', '', '', '', '1', '0', 'F', '0', '0', 'system:user:remove', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1005', '用户导出', '100', '5', '', '', '', '1', '0', 'F', '0', '0', 'system:user:export', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1006', '用户导入', '100', '6', '', '', '', '1', '0', 'F', '0', '0', 'system:user:import', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1007', '重置密码', '100', '7', '', '', '', '1', '0', 'F', '0', '0', 'system:user:resetPwd', '#', 103, 1, now(), null, null, ''); --- 角色管理按钮 -insert into sys_menu values('1008', '角色查询', '101', '1', '', '', '', '1', '0', 'F', '0', '0', 'system:role:query', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1009', '角色新增', '101', '2', '', '', '', '1', '0', 'F', '0', '0', 'system:role:add', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1010', '角色修改', '101', '3', '', '', '', '1', '0', 'F', '0', '0', 'system:role:edit', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1011', '角色删除', '101', '4', '', '', '', '1', '0', 'F', '0', '0', 'system:role:remove', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1012', '角色导出', '101', '5', '', '', '', '1', '0', 'F', '0', '0', 'system:role:export', '#', 103, 1, now(), null, null, ''); --- 菜单管理按钮 -insert into sys_menu values('1013', '菜单查询', '102', '1', '', '', '', '1', '0', 'F', '0', '0', 'system:menu:query', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1014', '菜单新增', '102', '2', '', '', '', '1', '0', 'F', '0', '0', 'system:menu:add', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1015', '菜单修改', '102', '3', '', '', '', '1', '0', 'F', '0', '0', 'system:menu:edit', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1016', '菜单删除', '102', '4', '', '', '', '1', '0', 'F', '0', '0', 'system:menu:remove', '#', 103, 1, now(), null, null, ''); --- 部门管理按钮 -insert into sys_menu values('1017', '部门查询', '103', '1', '', '', '', '1', '0', 'F', '0', '0', 'system:dept:query', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1018', '部门新增', '103', '2', '', '', '', '1', '0', 'F', '0', '0', 'system:dept:add', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1019', '部门修改', '103', '3', '', '', '', '1', '0', 'F', '0', '0', 'system:dept:edit', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1020', '部门删除', '103', '4', '', '', '', '1', '0', 'F', '0', '0', 'system:dept:remove', '#', 103, 1, now(), null, null, ''); --- 岗位管理按钮 -insert into sys_menu values('1021', '岗位查询', '104', '1', '', '', '', '1', '0', 'F', '0', '0', 'system:post:query', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1022', '岗位新增', '104', '2', '', '', '', '1', '0', 'F', '0', '0', 'system:post:add', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1023', '岗位修改', '104', '3', '', '', '', '1', '0', 'F', '0', '0', 'system:post:edit', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1024', '岗位删除', '104', '4', '', '', '', '1', '0', 'F', '0', '0', 'system:post:remove', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1025', '岗位导出', '104', '5', '', '', '', '1', '0', 'F', '0', '0', 'system:post:export', '#', 103, 1, now(), null, null, ''); --- 字典管理按钮 -insert into sys_menu values('1026', '字典查询', '105', '1', '#', '', '', '1', '0', 'F', '0', '0', 'system:dict:query', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1027', '字典新增', '105', '2', '#', '', '', '1', '0', 'F', '0', '0', 'system:dict:add', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1028', '字典修改', '105', '3', '#', '', '', '1', '0', 'F', '0', '0', 'system:dict:edit', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1029', '字典删除', '105', '4', '#', '', '', '1', '0', 'F', '0', '0', 'system:dict:remove', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1030', '字典导出', '105', '5', '#', '', '', '1', '0', 'F', '0', '0', 'system:dict:export', '#', 103, 1, now(), null, null, ''); --- 参数设置按钮 -insert into sys_menu values('1031', '参数查询', '106', '1', '#', '', '', '1', '0', 'F', '0', '0', 'system:config:query', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1032', '参数新增', '106', '2', '#', '', '', '1', '0', 'F', '0', '0', 'system:config:add', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1033', '参数修改', '106', '3', '#', '', '', '1', '0', 'F', '0', '0', 'system:config:edit', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1034', '参数删除', '106', '4', '#', '', '', '1', '0', 'F', '0', '0', 'system:config:remove', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1035', '参数导出', '106', '5', '#', '', '', '1', '0', 'F', '0', '0', 'system:config:export', '#', 103, 1, now(), null, null, ''); --- 通知公告按钮 -insert into sys_menu values('1036', '公告查询', '107', '1', '#', '', '', '1', '0', 'F', '0', '0', 'system:notice:query', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1037', '公告新增', '107', '2', '#', '', '', '1', '0', 'F', '0', '0', 'system:notice:add', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1038', '公告修改', '107', '3', '#', '', '', '1', '0', 'F', '0', '0', 'system:notice:edit', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1039', '公告删除', '107', '4', '#', '', '', '1', '0', 'F', '0', '0', 'system:notice:remove', '#', 103, 1, now(), null, null, ''); --- 操作日志按钮 -insert into sys_menu values('1040', '操作查询', '500', '1', '#', '', '', '1', '0', 'F', '0', '0', 'monitor:operlog:query', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1041', '操作删除', '500', '2', '#', '', '', '1', '0', 'F', '0', '0', 'monitor:operlog:remove', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1042', '日志导出', '500', '4', '#', '', '', '1', '0', 'F', '0', '0', 'monitor:operlog:export', '#', 103, 1, now(), null, null, ''); --- 登录日志按钮 -insert into sys_menu values('1043', '登录查询', '501', '1', '#', '', '', '1', '0', 'F', '0', '0', 'monitor:logininfor:query', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1044', '登录删除', '501', '2', '#', '', '', '1', '0', 'F', '0', '0', 'monitor:logininfor:remove', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1045', '日志导出', '501', '3', '#', '', '', '1', '0', 'F', '0', '0', 'monitor:logininfor:export', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1050', '账户解锁', '501', '4', '#', '', '', '1', '0', 'F', '0', '0', 'monitor:logininfor:unlock', '#', 103, 1, now(), null, null, ''); --- 在线用户按钮 -insert into sys_menu values('1046', '在线查询', '109', '1', '#', '', '', '1', '0', 'F', '0', '0', 'monitor:online:query', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1047', '批量强退', '109', '2', '#', '', '', '1', '0', 'F', '0', '0', 'monitor:online:batchLogout', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1048', '单条强退', '109', '3', '#', '', '', '1', '0', 'F', '0', '0', 'monitor:online:forceLogout', '#', 103, 1, now(), null, null, ''); --- 代码生成按钮 -insert into sys_menu values('1055', '生成查询', '115', '1', '#', '', '', '1', '0', 'F', '0', '0', 'tool:gen:query', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1056', '生成修改', '115', '2', '#', '', '', '1', '0', 'F', '0', '0', 'tool:gen:edit', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1057', '生成删除', '115', '3', '#', '', '', '1', '0', 'F', '0', '0', 'tool:gen:remove', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1058', '导入代码', '115', '2', '#', '', '', '1', '0', 'F', '0', '0', 'tool:gen:import', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1059', '预览代码', '115', '4', '#', '', '', '1', '0', 'F', '0', '0', 'tool:gen:preview', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1060', '生成代码', '115', '5', '#', '', '', '1', '0', 'F', '0', '0', 'tool:gen:code', '#', 103, 1, now(), null, null, ''); --- oss相关按钮 -insert into sys_menu values('1600', '文件查询', '118', '1', '#', '', '', '1', '0', 'F', '0', '0', 'system:oss:query', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1601', '文件上传', '118', '2', '#', '', '', '1', '0', 'F', '0', '0', 'system:oss:upload', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1602', '文件下载', '118', '3', '#', '', '', '1', '0', 'F', '0', '0', 'system:oss:download', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1603', '文件删除', '118', '4', '#', '', '', '1', '0', 'F', '0', '0', 'system:oss:remove', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1620', '配置列表', '118', '5', '#', '', '', '1', '0', 'F', '0', '0', 'system:ossConfig:list', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1621', '配置添加', '118', '6', '#', '', '', '1', '0', 'F', '0', '0', 'system:ossConfig:add', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1622', '配置编辑', '118', '6', '#', '', '', '1', '0', 'F', '0', '0', 'system:ossConfig:edit', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1623', '配置删除', '118', '6', '#', '', '', '1', '0', 'F', '0', '0', 'system:ossConfig:remove', '#', 103, 1, now(), null, null, ''); --- 租户管理相关按钮 -insert into sys_menu values('1606', '租户查询', '121', '1', '#', '', '', '1', '0', 'F', '0', '0', 'system:tenant:query', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1607', '租户新增', '121', '2', '#', '', '', '1', '0', 'F', '0', '0', 'system:tenant:add', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1608', '租户修改', '121', '3', '#', '', '', '1', '0', 'F', '0', '0', 'system:tenant:edit', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1609', '租户删除', '121', '4', '#', '', '', '1', '0', 'F', '0', '0', 'system:tenant:remove', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1610', '租户导出', '121', '5', '#', '', '', '1', '0', 'F', '0', '0', 'system:tenant:export', '#', 103, 1, now(), null, null, ''); --- 租户套餐管理相关按钮 -insert into sys_menu values('1611', '租户套餐查询', '122', '1', '#', '', '', '1', '0', 'F', '0', '0', 'system:tenantPackage:query', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1612', '租户套餐新增', '122', '2', '#', '', '', '1', '0', 'F', '0', '0', 'system:tenantPackage:add', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1613', '租户套餐修改', '122', '3', '#', '', '', '1', '0', 'F', '0', '0', 'system:tenantPackage:edit', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1614', '租户套餐删除', '122', '4', '#', '', '', '1', '0', 'F', '0', '0', 'system:tenantPackage:remove', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1615', '租户套餐导出', '122', '5', '#', '', '', '1', '0', 'F', '0', '0', 'system:tenantPackage:export', '#', 103, 1, now(), null, null, ''); --- 客户端管理按钮 -insert into sys_menu values('1061', '客户端管理查询', '123', '1', '#', '', '', '1', '0', 'F', '0', '0', 'system:client:query', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1062', '客户端管理新增', '123', '2', '#', '', '', '1', '0', 'F', '0', '0', 'system:client:add', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1063', '客户端管理修改', '123', '3', '#', '', '', '1', '0', 'F', '0', '0', 'system:client:edit', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1064', '客户端管理删除', '123', '4', '#', '', '', '1', '0', 'F', '0', '0', 'system:client:remove', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1065', '客户端管理导出', '123', '5', '#', '', '', '1', '0', 'F', '0', '0', 'system:client:export', '#', 103, 1, now(), null, null, ''); --- 测试菜单 -INSERT INTO sys_menu VALUES('1500', '测试单表', '5', '1', 'demo', 'demo/demo/index', '', '1', '0', 'C', '0', '0', 'demo:demo:list', '#', 103, 1, now(), NULL, NULL, '测试单表菜单'); -INSERT INTO sys_menu VALUES('1501', '测试单表查询', '1500', '1', '#', '', '', '1', '0', 'F', '0', '0', 'demo:demo:query', '#', 103, 1, now(), NULL, NULL, ''); -INSERT INTO sys_menu VALUES('1502', '测试单表新增', '1500', '2', '#', '', '', '1', '0', 'F', '0', '0', 'demo:demo:add', '#', 103, 1, now(), NULL, NULL, ''); -INSERT INTO sys_menu VALUES('1503', '测试单表修改', '1500', '3', '#', '', '', '1', '0', 'F', '0', '0', 'demo:demo:edit', '#', 103, 1, now(), NULL, NULL, ''); -INSERT INTO sys_menu VALUES('1504', '测试单表删除', '1500', '4', '#', '', '', '1', '0', 'F', '0', '0', 'demo:demo:remove', '#', 103, 1, now(), NULL, NULL, ''); -INSERT INTO sys_menu VALUES('1505', '测试单表导出', '1500', '5', '#', '', '', '1', '0', 'F', '0', '0', 'demo:demo:export', '#', 103, 1, now(), NULL, NULL, ''); -INSERT INTO sys_menu VALUES('1506', '测试树表', '5', '1', 'tree', 'demo/tree/index', '', '1', '0', 'C', '0', '0', 'demo:tree:list', '#', 103, 1, now(), NULL, NULL, '测试树表菜单'); -INSERT INTO sys_menu VALUES('1507', '测试树表查询', '1506', '1', '#', '', '', '1', '0', 'F', '0', '0', 'demo:tree:query', '#', 103, 1, now(), NULL, NULL, ''); -INSERT INTO sys_menu VALUES('1508', '测试树表新增', '1506', '2', '#', '', '', '1', '0', 'F', '0', '0', 'demo:tree:add', '#', 103, 1, now(), NULL, NULL, ''); -INSERT INTO sys_menu VALUES('1509', '测试树表修改', '1506', '3', '#', '', '', '1', '0', 'F', '0', '0', 'demo:tree:edit', '#', 103, 1, now(), NULL, NULL, ''); -INSERT INTO sys_menu VALUES('1510', '测试树表删除', '1506', '4', '#', '', '', '1', '0', 'F', '0', '0', 'demo:tree:remove', '#', 103, 1, now(), NULL, NULL, ''); -INSERT INTO sys_menu VALUES('1511', '测试树表导出', '1506', '5', '#', '', '', '1', '0', 'F', '0', '0', 'demo:tree:export', '#', 103, 1, now(), NULL, NULL, ''); - - --- ---------------------------- --- 6、用户和角色关联表 用户N-1角色 --- ---------------------------- -create table if not exists sys_user_role -( - user_id int8 not null, - role_id int8 not null, - constraint sys_user_role_pk primary key (user_id, role_id) -); - -comment on table sys_user_role is '用户和角色关联表'; -comment on column sys_user_role.user_id is '用户ID'; -comment on column sys_user_role.role_id is '角色ID'; - --- ---------------------------- --- 初始化-用户和角色关联表数据 --- ---------------------------- -insert into sys_user_role values ('1', '1'); -insert into sys_user_role values ('3', '3'); -insert into sys_user_role values ('4', '4'); - --- ---------------------------- --- 7、角色和菜单关联表 角色1-N菜单 --- ---------------------------- -create table if not exists sys_role_menu -( - role_id int8 not null, - menu_id int8 not null, - constraint sys_role_menu_pk primary key (role_id, menu_id) -); - -comment on table sys_role_menu is '角色和菜单关联表'; -comment on column sys_role_menu.role_id is '角色ID'; -comment on column sys_role_menu.menu_id is '菜单ID'; - --- ---------------------------- --- 初始化-角色和菜单关联表数据 --- ---------------------------- -insert into sys_role_menu values ('3', '1'); -insert into sys_role_menu values ('3', '5'); -insert into sys_role_menu values ('3', '100'); -insert into sys_role_menu values ('3', '101'); -insert into sys_role_menu values ('3', '102'); -insert into sys_role_menu values ('3', '103'); -insert into sys_role_menu values ('3', '104'); -insert into sys_role_menu values ('3', '105'); -insert into sys_role_menu values ('3', '106'); -insert into sys_role_menu values ('3', '107'); -insert into sys_role_menu values ('3', '108'); -insert into sys_role_menu values ('3', '500'); -insert into sys_role_menu values ('3', '501'); -insert into sys_role_menu values ('3', '1001'); -insert into sys_role_menu values ('3', '1002'); -insert into sys_role_menu values ('3', '1003'); -insert into sys_role_menu values ('3', '1004'); -insert into sys_role_menu values ('3', '1005'); -insert into sys_role_menu values ('3', '1006'); -insert into sys_role_menu values ('3', '1007'); -insert into sys_role_menu values ('3', '1008'); -insert into sys_role_menu values ('3', '1009'); -insert into sys_role_menu values ('3', '1010'); -insert into sys_role_menu values ('3', '1011'); -insert into sys_role_menu values ('3', '1012'); -insert into sys_role_menu values ('3', '1013'); -insert into sys_role_menu values ('3', '1014'); -insert into sys_role_menu values ('3', '1015'); -insert into sys_role_menu values ('3', '1016'); -insert into sys_role_menu values ('3', '1017'); -insert into sys_role_menu values ('3', '1018'); -insert into sys_role_menu values ('3', '1019'); -insert into sys_role_menu values ('3', '1020'); -insert into sys_role_menu values ('3', '1021'); -insert into sys_role_menu values ('3', '1022'); -insert into sys_role_menu values ('3', '1023'); -insert into sys_role_menu values ('3', '1024'); -insert into sys_role_menu values ('3', '1025'); -insert into sys_role_menu values ('3', '1026'); -insert into sys_role_menu values ('3', '1027'); -insert into sys_role_menu values ('3', '1028'); -insert into sys_role_menu values ('3', '1029'); -insert into sys_role_menu values ('3', '1030'); -insert into sys_role_menu values ('3', '1031'); -insert into sys_role_menu values ('3', '1032'); -insert into sys_role_menu values ('3', '1033'); -insert into sys_role_menu values ('3', '1034'); -insert into sys_role_menu values ('3', '1035'); -insert into sys_role_menu values ('3', '1036'); -insert into sys_role_menu values ('3', '1037'); -insert into sys_role_menu values ('3', '1038'); -insert into sys_role_menu values ('3', '1039'); -insert into sys_role_menu values ('3', '1040'); -insert into sys_role_menu values ('3', '1041'); -insert into sys_role_menu values ('3', '1042'); -insert into sys_role_menu values ('3', '1043'); -insert into sys_role_menu values ('3', '1044'); -insert into sys_role_menu values ('3', '1045'); -insert into sys_role_menu values ('3', '1500'); -insert into sys_role_menu values ('3', '1501'); -insert into sys_role_menu values ('3', '1502'); -insert into sys_role_menu values ('3', '1503'); -insert into sys_role_menu values ('3', '1504'); -insert into sys_role_menu values ('3', '1505'); -insert into sys_role_menu values ('3', '1506'); -insert into sys_role_menu values ('3', '1507'); -insert into sys_role_menu values ('3', '1508'); -insert into sys_role_menu values ('3', '1509'); -insert into sys_role_menu values ('3', '1510'); -insert into sys_role_menu values ('3', '1511'); -insert into sys_role_menu values ('4', '5'); -insert into sys_role_menu values ('4', '1500'); -insert into sys_role_menu values ('4', '1501'); -insert into sys_role_menu values ('4', '1502'); -insert into sys_role_menu values ('4', '1503'); -insert into sys_role_menu values ('4', '1504'); -insert into sys_role_menu values ('4', '1505'); -insert into sys_role_menu values ('4', '1506'); -insert into sys_role_menu values ('4', '1507'); -insert into sys_role_menu values ('4', '1508'); -insert into sys_role_menu values ('4', '1509'); -insert into sys_role_menu values ('4', '1510'); -insert into sys_role_menu values ('4', '1511'); - --- ---------------------------- --- 8、角色和部门关联表 角色1-N部门 --- ---------------------------- -create table if not exists sys_role_dept -( - role_id int8 not null, - dept_id int8 not null, - constraint sys_role_dept_pk primary key (role_id, dept_id) -); - -comment on table sys_role_dept is '角色和部门关联表'; -comment on column sys_role_dept.role_id is '角色ID'; -comment on column sys_role_dept.dept_id is '部门ID'; - - --- ---------------------------- --- 9、用户与岗位关联表 用户1-N岗位 --- ---------------------------- -create table if not exists sys_user_post -( - user_id int8 not null, - post_id int8 not null, - constraint sys_user_post_pk primary key (user_id, post_id) -); - -comment on table sys_user_post is '用户与岗位关联表'; -comment on column sys_user_post.user_id is '用户ID'; -comment on column sys_user_post.post_id is '岗位ID'; - --- ---------------------------- --- 初始化-用户与岗位关联表数据 --- ---------------------------- -insert into sys_user_post values ('1', '1'); - --- ---------------------------- --- 10、操作日志记录 --- ---------------------------- -create table if not exists sys_oper_log -( - oper_id int8, - tenant_id varchar(20) default '000000'::varchar, - title varchar(50) default ''::varchar, - business_type int4 default 0, - method varchar(100) default ''::varchar, - request_method varchar(10) default ''::varchar, - operator_type int4 default 0, - oper_name varchar(50) default ''::varchar, - dept_name varchar(50) default ''::varchar, - oper_url varchar(255) default ''::varchar, - oper_ip varchar(128) default ''::varchar, - oper_location varchar(255) default ''::varchar, - oper_param varchar(2000) default ''::varchar, - json_result varchar(2000) default ''::varchar, - status int4 default 0, - error_msg varchar(2000) default ''::varchar, - oper_time timestamp, - cost_time int8 default 0, - constraint sys_oper_log_pk primary key (oper_id) -); - -create index idx_sys_oper_log_bt ON sys_oper_log (business_type); -create index idx_sys_oper_log_s ON sys_oper_log (status); -create index idx_sys_oper_log_ot ON sys_oper_log (oper_time); - -comment on table sys_oper_log is '操作日志记录'; -comment on column sys_oper_log.oper_id is '日志主键'; -comment on column sys_oper_log.tenant_id is '租户编号'; -comment on column sys_oper_log.title is '模块标题'; -comment on column sys_oper_log.business_type is '业务类型(0其它 1新增 2修改 3删除)'; -comment on column sys_oper_log.method is '方法名称'; -comment on column sys_oper_log.request_method is '请求方式'; -comment on column sys_oper_log.operator_type is '操作类别(0其它 1后台用户 2手机端用户)'; -comment on column sys_oper_log.oper_name is '操作人员'; -comment on column sys_oper_log.dept_name is '部门名称'; -comment on column sys_oper_log.oper_url is '请求URL'; -comment on column sys_oper_log.oper_ip is '主机地址'; -comment on column sys_oper_log.oper_location is '操作地点'; -comment on column sys_oper_log.oper_param is '请求参数'; -comment on column sys_oper_log.json_result is '返回参数'; -comment on column sys_oper_log.status is '操作状态(0正常 1异常)'; -comment on column sys_oper_log.error_msg is '错误消息'; -comment on column sys_oper_log.oper_time is '操作时间'; -comment on column sys_oper_log.cost_time is '消耗时间'; - --- ---------------------------- --- 11、字典类型表 --- ---------------------------- -create table if not exists sys_dict_type -( - dict_id int8, - tenant_id varchar(20) default '000000'::varchar, - dict_name varchar(100) default ''::varchar, - dict_type varchar(100) default ''::varchar, - create_dept int8, - create_by int8, - create_time timestamp, - update_by int8, - update_time timestamp, - remark varchar(500) default null::varchar, - constraint sys_dict_type_pk primary key (dict_id) -); - -create unique index sys_dict_type_index1 ON sys_dict_type (tenant_id, dict_type); - -comment on table sys_dict_type is '字典类型表'; -comment on column sys_dict_type.dict_id is '字典主键'; -comment on column sys_dict_type.tenant_id is '租户编号'; -comment on column sys_dict_type.dict_name is '字典名称'; -comment on column sys_dict_type.dict_type is '字典类型'; -comment on column sys_dict_type.create_dept is '创建部门'; -comment on column sys_dict_type.create_by is '创建者'; -comment on column sys_dict_type.create_time is '创建时间'; -comment on column sys_dict_type.update_by is '更新者'; -comment on column sys_dict_type.update_time is '更新时间'; -comment on column sys_dict_type.remark is '备注'; - -insert into sys_dict_type values(1, '000000', '用户性别', 'sys_user_sex', 103, 1, now(), null, null, '用户性别列表'); -insert into sys_dict_type values(2, '000000', '菜单状态', 'sys_show_hide', 103, 1, now(), null, null, '菜单状态列表'); -insert into sys_dict_type values(3, '000000', '系统开关', 'sys_normal_disable', 103, 1, now(), null, null, '系统开关列表'); -insert into sys_dict_type values(6, '000000', '系统是否', 'sys_yes_no', 103, 1, now(), null, null, '系统是否列表'); -insert into sys_dict_type values(7, '000000', '通知类型', 'sys_notice_type', 103, 1, now(), null, null, '通知类型列表'); -insert into sys_dict_type values(8, '000000', '通知状态', 'sys_notice_status', 103, 1, now(), null, null, '通知状态列表'); -insert into sys_dict_type values(9, '000000', '操作类型', 'sys_oper_type', 103, 1, now(), null, null, '操作类型列表'); -insert into sys_dict_type values(10, '000000', '系统状态', 'sys_common_status', 103, 1, now(), null, null, '登录状态列表'); -insert into sys_dict_type values(11, '000000', '授权类型', 'sys_grant_type', 103, 1, now(), null, null, '认证授权类型'); -insert into sys_dict_type values(12, '000000', '设备类型', 'sys_device_type', 103, 1, now(), null, null, '客户端设备类型'); - --- ---------------------------- --- 12、字典数据表 --- ---------------------------- -create table if not exists sys_dict_data -( - dict_code int8, - tenant_id varchar(20) default '000000'::varchar, - dict_sort int4 default 0, - dict_label varchar(100) default ''::varchar, - dict_value varchar(100) default ''::varchar, - dict_type varchar(100) default ''::varchar, - css_class varchar(100) default null::varchar, - list_class varchar(100) default null::varchar, - is_default char default 'N'::bpchar, - create_dept int8, - create_by int8, - create_time timestamp, - update_by int8, - update_time timestamp, - remark varchar(500) default null::varchar, - constraint sys_dict_data_pk primary key (dict_code) -); - -comment on table sys_dict_data is '字典数据表'; -comment on column sys_dict_data.dict_code is '字典编码'; -comment on column sys_dict_type.tenant_id is '租户编号'; -comment on column sys_dict_data.dict_sort is '字典排序'; -comment on column sys_dict_data.dict_label is '字典标签'; -comment on column sys_dict_data.dict_value is '字典键值'; -comment on column sys_dict_data.dict_type is '字典类型'; -comment on column sys_dict_data.css_class is '样式属性(其他样式扩展)'; -comment on column sys_dict_data.list_class is '表格回显样式'; -comment on column sys_dict_data.is_default is '是否默认(Y是 N否)'; -comment on column sys_dict_data.create_dept is '创建部门'; -comment on column sys_dict_data.create_by is '创建者'; -comment on column sys_dict_data.create_time is '创建时间'; -comment on column sys_dict_data.update_by is '更新者'; -comment on column sys_dict_data.update_time is '更新时间'; -comment on column sys_dict_data.remark is '备注'; - -insert into sys_dict_data values(1, '000000', 1, '男', '0', 'sys_user_sex', '', '', 'Y', 103, 1, now(), null, null, '性别男'); -insert into sys_dict_data values(2, '000000', 2, '女', '1', 'sys_user_sex', '', '', 'N', 103, 1, now(), null, null, '性别女'); -insert into sys_dict_data values(3, '000000', 3, '未知', '2', 'sys_user_sex', '', '', 'N', 103, 1, now(), null, null, '性别未知'); -insert into sys_dict_data values(4, '000000', 1, '显示', '0', 'sys_show_hide', '', 'primary', 'Y', 103, 1, now(), null, null, '显示菜单'); -insert into sys_dict_data values(5, '000000', 2, '隐藏', '1', 'sys_show_hide', '', 'danger', 'N', 103, 1, now(), null, null, '隐藏菜单'); -insert into sys_dict_data values(6, '000000', 1, '正常', '0', 'sys_normal_disable', '', 'primary', 'Y', 103, 1, now(), null, null, '正常状态'); -insert into sys_dict_data values(7, '000000', 2, '停用', '1', 'sys_normal_disable', '', 'danger', 'N', 103, 1, now(), null, null, '停用状态'); -insert into sys_dict_data values(12, '000000', 1, '是', 'Y', 'sys_yes_no', '', 'primary', 'Y', 103, 1, now(), null, null, '系统默认是'); -insert into sys_dict_data values(13, '000000', 2, '否', 'N', 'sys_yes_no', '', 'danger', 'N', 103, 1, now(), null, null, '系统默认否'); -insert into sys_dict_data values(14, '000000', 1, '通知', '1', 'sys_notice_type', '', 'warning', 'Y', 103, 1, now(), null, null, '通知'); -insert into sys_dict_data values(15, '000000', 2, '公告', '2', 'sys_notice_type', '', 'success', 'N', 103, 1, now(), null, null, '公告'); -insert into sys_dict_data values(16, '000000', 1, '正常', '0', 'sys_notice_status', '', 'primary', 'Y', 103, 1, now(), null, null, '正常状态'); -insert into sys_dict_data values(17, '000000', 2, '关闭', '1', 'sys_notice_status', '', 'danger', 'N', 103, 1, now(), null, null, '关闭状态'); -insert into sys_dict_data values(29, '000000', 99, '其他', '0', 'sys_oper_type', '', 'info', 'N', 103, 1, now(), null, null, '其他操作'); -insert into sys_dict_data values(18, '000000', 1, '新增', '1', 'sys_oper_type', '', 'info', 'N', 103, 1, now(), null, null, '新增操作'); -insert into sys_dict_data values(19, '000000', 2, '修改', '2', 'sys_oper_type', '', 'info', 'N', 103, 1, now(), null, null, '修改操作'); -insert into sys_dict_data values(20, '000000', 3, '删除', '3', 'sys_oper_type', '', 'danger', 'N', 103, 1, now(), null, null, '删除操作'); -insert into sys_dict_data values(21, '000000', 4, '授权', '4', 'sys_oper_type', '', 'primary', 'N', 103, 1, now(), null, null, '授权操作'); -insert into sys_dict_data values(22, '000000', 5, '导出', '5', 'sys_oper_type', '', 'warning', 'N', 103, 1, now(), null, null, '导出操作'); -insert into sys_dict_data values(23, '000000', 6, '导入', '6', 'sys_oper_type', '', 'warning', 'N', 103, 1, now(), null, null, '导入操作'); -insert into sys_dict_data values(24, '000000', 7, '强退', '7', 'sys_oper_type', '', 'danger', 'N', 103, 1, now(), null, null, '强退操作'); -insert into sys_dict_data values(25, '000000', 8, '生成代码', '8', 'sys_oper_type', '', 'warning', 'N', 103, 1, now(), null, null, '生成操作'); -insert into sys_dict_data values(26, '000000', 9, '清空数据', '9', 'sys_oper_type', '', 'danger', 'N', 103, 1, now(), null, null, '清空操作'); -insert into sys_dict_data values(27, '000000', 1, '成功', '0', 'sys_common_status', '', 'primary', 'N', 103, 1, now(), null, null, '正常状态'); -insert into sys_dict_data values(28, '000000', 2, '失败', '1', 'sys_common_status', '', 'danger', 'N', 103, 1, now(), null, null, '停用状态'); -insert into sys_dict_data values(30, '000000', 0, '密码认证', 'password', 'sys_grant_type', '', 'default', 'N', 103, 1, now(), null, null, '密码认证'); -insert into sys_dict_data values(31, '000000', 0, '短信认证', 'sms', 'sys_grant_type', '', 'default', 'N', 103, 1, now(), null, null, '短信认证'); -insert into sys_dict_data values(32, '000000', 0, '邮件认证', 'email', 'sys_grant_type', '', 'default', 'N', 103, 1, now(), null, null, '邮件认证'); -insert into sys_dict_data values(33, '000000', 0, '小程序认证', 'xcx', 'sys_grant_type', '', 'default', 'N', 103, 1, now(), null, null, '小程序认证'); -insert into sys_dict_data values(34, '000000', 0, '三方登录认证', 'social', 'sys_grant_type', '', 'default', 'N', 103, 1, now(), null, null, '三方登录认证'); -insert into sys_dict_data values(35, '000000', 0, 'PC', 'pc', 'sys_device_type', '', 'default', 'N', 103, 1, now(), null, null, 'PC'); -insert into sys_dict_data values(36, '000000', 0, '安卓', 'android', 'sys_device_type', '', 'default', 'N', 103, 1, now(), null, null, '安卓'); -insert into sys_dict_data values(37, '000000', 0, 'iOS', 'ios', 'sys_device_type', '', 'default', 'N', 103, 1, now(), null, null, 'iOS'); -insert into sys_dict_data values(38, '000000', 0, '小程序', 'xcx', 'sys_device_type', '', 'default', 'N', 103, 1, now(), null, null, '小程序'); - - --- ---------------------------- --- 13、参数配置表 --- ---------------------------- -create table if not exists sys_config -( - config_id int8, - tenant_id varchar(20) default '000000'::varchar, - config_name varchar(100) default ''::varchar, - config_key varchar(100) default ''::varchar, - config_value varchar(500) default ''::varchar, - config_type char default 'N'::bpchar, - create_dept int8, - create_by int8, - create_time timestamp, - update_by int8, - update_time timestamp, - remark varchar(500) default null::varchar, - constraint sys_config_pk primary key (config_id) -); - -comment on table sys_config is '参数配置表'; -comment on column sys_config.config_id is '参数主键'; -comment on column sys_config.tenant_id is '租户编号'; -comment on column sys_config.config_name is '参数名称'; -comment on column sys_config.config_key is '参数键名'; -comment on column sys_config.config_value is '参数键值'; -comment on column sys_config.config_type is '系统内置(Y是 N否)'; -comment on column sys_config.create_dept is '创建部门'; -comment on column sys_config.create_by is '创建者'; -comment on column sys_config.create_time is '创建时间'; -comment on column sys_config.update_by is '更新者'; -comment on column sys_config.update_time is '更新时间'; -comment on column sys_config.remark is '备注'; - -insert into sys_config values(1, '000000', '主框架页-默认皮肤样式名称', 'sys.index.skinName', 'skin-blue', 'Y', 103, 1, now(), null, null, '蓝色 skin-blue、绿色 skin-green、紫色 skin-purple、红色 skin-red、黄色 skin-yellow' ); -insert into sys_config values(2, '000000', '用户管理-账号初始密码', 'sys.user.initPassword', '123456', 'Y', 103, 1, now(), null, null, '初始化密码 123456' ); -insert into sys_config values(3, '000000', '主框架页-侧边栏主题', 'sys.index.sideTheme', 'theme-dark', 'Y', 103, 1, now(), null, null, '深色主题theme-dark,浅色主题theme-light' ); -insert into sys_config values(5, '000000', '账号自助-是否开启用户注册功能', 'sys.account.registerUser', 'false', 'Y', 103, 1, now(), null, null, '是否开启注册用户功能(true开启,false关闭)'); -insert into sys_config values(11, '000000', 'OSS预览列表资源开关', 'sys.oss.previewListResource', 'true', 'Y', 103, 1, now(), null, null, 'true:开启, false:关闭'); - - --- ---------------------------- --- 14、系统访问记录 --- ---------------------------- -create table if not exists sys_logininfor -( - info_id int8, - tenant_id varchar(20) default '000000'::varchar, - user_name varchar(50) default ''::varchar, - client_key varchar(32) default ''::varchar, - device_type varchar(32) default ''::varchar, - ipaddr varchar(128) default ''::varchar, - login_location varchar(255) default ''::varchar, - browser varchar(50) default ''::varchar, - os varchar(50) default ''::varchar, - status char default '0'::bpchar, - msg varchar(255) default ''::varchar, - login_time timestamp, - constraint sys_logininfor_pk primary key (info_id) -); - -create index idx_sys_logininfor_s ON sys_logininfor (status); -create index idx_sys_logininfor_lt ON sys_logininfor (login_time); - -comment on table sys_logininfor is '系统访问记录'; -comment on column sys_logininfor.info_id is '访问ID'; -comment on column sys_logininfor.tenant_id is '租户编号'; -comment on column sys_logininfor.user_name is '用户账号'; -comment on column sys_logininfor.client_key is '客户端'; -comment on column sys_logininfor.device_type is '设备类型'; -comment on column sys_logininfor.ipaddr is '登录IP地址'; -comment on column sys_logininfor.login_location is '登录地点'; -comment on column sys_logininfor.browser is '浏览器类型'; -comment on column sys_logininfor.os is '操作系统'; -comment on column sys_logininfor.status is '登录状态(0成功 1失败)'; -comment on column sys_logininfor.msg is '提示消息'; -comment on column sys_logininfor.login_time is '访问时间'; - --- ---------------------------- --- 17、通知公告表 --- ---------------------------- -create table if not exists sys_notice -( - notice_id int8, - tenant_id varchar(20) default '000000'::varchar, - notice_title varchar(50) not null, - notice_type char not null, - notice_content text, - status char default '0'::bpchar, - create_dept int8, - create_by int8, - create_time timestamp, - update_by int8, - update_time timestamp, - remark varchar(255) default null::varchar, - constraint sys_notice_pk primary key (notice_id) -); - -comment on table sys_notice is '通知公告表'; -comment on column sys_notice.notice_id is '公告ID'; -comment on column sys_notice.tenant_id is '租户编号'; -comment on column sys_notice.notice_title is '公告标题'; -comment on column sys_notice.notice_type is '公告类型(1通知 2公告)'; -comment on column sys_notice.notice_content is '公告内容'; -comment on column sys_notice.status is '公告状态(0正常 1关闭)'; -comment on column sys_notice.create_dept is '创建部门'; -comment on column sys_notice.create_by is '创建者'; -comment on column sys_notice.create_time is '创建时间'; -comment on column sys_notice.update_by is '更新者'; -comment on column sys_notice.update_time is '更新时间'; -comment on column sys_notice.remark is '备注'; - --- ---------------------------- --- 初始化-公告信息表数据 --- ---------------------------- -insert into sys_notice values('1', '000000', '温馨提醒:2018-07-01 新版本发布啦', '2', '新版本内容', '0', 103, 1, now(), null, null, '管理员'); -insert into sys_notice values('2', '000000', '维护通知:2018-07-01 系统凌晨维护', '1', '维护内容', '0', 103, 1, now(), null, null, '管理员'); - - --- ---------------------------- --- 18、代码生成业务表 --- ---------------------------- -create table if not exists gen_table -( - table_id int8, - data_name varchar(200) default ''::varchar, - table_name varchar(200) default ''::varchar, - table_comment varchar(500) default ''::varchar, - sub_table_name varchar(64) default ''::varchar, - sub_table_fk_name varchar(64) default ''::varchar, - class_name varchar(100) default ''::varchar, - tpl_category varchar(200) default 'crud'::varchar, - package_name varchar(100) default null::varchar, - module_name varchar(30) default null::varchar, - business_name varchar(30) default null::varchar, - function_name varchar(50) default null::varchar, - function_author varchar(50) default null::varchar, - gen_type char default '0'::bpchar not null, - gen_path varchar(200) default '/'::varchar, - options varchar(1000) default null::varchar, - create_dept int8, - create_by int8, - create_time timestamp, - update_by int8, - update_time timestamp, - remark varchar(500) default null::varchar, - constraint gen_table_pk primary key (table_id) -); - -comment on table gen_table is '代码生成业务表'; -comment on column gen_table.table_id is '编号'; -comment on column gen_table.data_name is '数据源名称'; -comment on column gen_table.table_name is '表名称'; -comment on column gen_table.table_comment is '表描述'; -comment on column gen_table.sub_table_name is '关联子表的表名'; -comment on column gen_table.sub_table_fk_name is '子表关联的外键名'; -comment on column gen_table.class_name is '实体类名称'; -comment on column gen_table.tpl_category is '使用的模板(CRUD单表操作 TREE树表操作)'; -comment on column gen_table.package_name is '生成包路径'; -comment on column gen_table.module_name is '生成模块名'; -comment on column gen_table.business_name is '生成业务名'; -comment on column gen_table.function_name is '生成功能名'; -comment on column gen_table.function_author is '生成功能作者'; -comment on column gen_table.gen_type is '生成代码方式(0zip压缩包 1自定义路径)'; -comment on column gen_table.gen_path is '生成路径(不填默认项目路径)'; -comment on column gen_table.options is '其它生成选项'; -comment on column gen_table.create_dept is '创建部门'; -comment on column gen_table.create_by is '创建者'; -comment on column gen_table.create_time is '创建时间'; -comment on column gen_table.update_by is '更新者'; -comment on column gen_table.update_time is '更新时间'; -comment on column gen_table.remark is '备注'; - --- ---------------------------- --- 19、代码生成业务表字段 --- ---------------------------- -create table if not exists gen_table_column -( - column_id int8, - table_id int8, - column_name varchar(200) default null::varchar, - column_comment varchar(500) default null::varchar, - column_type varchar(100) default null::varchar, - java_type varchar(500) default null::varchar, - java_field varchar(200) default null::varchar, - is_pk char default null::bpchar, - is_increment char default null::bpchar, - is_required char default null::bpchar, - is_insert char default null::bpchar, - is_edit char default null::bpchar, - is_list char default null::bpchar, - is_query char default null::bpchar, - query_type varchar(200) default 'EQ'::varchar, - html_type varchar(200) default null::varchar, - dict_type varchar(200) default ''::varchar, - sort int4, - create_dept int8, - create_by int8, - create_time timestamp, - update_by int8, - update_time timestamp, - constraint gen_table_column_pk primary key (column_id) -); - -comment on table gen_table_column is '代码生成业务表字段'; -comment on column gen_table_column.column_id is '编号'; -comment on column gen_table_column.table_id is '归属表编号'; -comment on column gen_table_column.column_name is '列名称'; -comment on column gen_table_column.column_comment is '列描述'; -comment on column gen_table_column.column_type is '列类型'; -comment on column gen_table_column.java_type is 'JAVA类型'; -comment on column gen_table_column.java_field is 'JAVA字段名'; -comment on column gen_table_column.is_pk is '是否主键(1是)'; -comment on column gen_table_column.is_increment is '是否自增(1是)'; -comment on column gen_table_column.is_required is '是否必填(1是)'; -comment on column gen_table_column.is_insert is '是否为插入字段(1是)'; -comment on column gen_table_column.is_edit is '是否编辑字段(1是)'; -comment on column gen_table_column.is_list is '是否列表字段(1是)'; -comment on column gen_table_column.is_query is '是否查询字段(1是)'; -comment on column gen_table_column.query_type is '查询方式(等于、不等于、大于、小于、范围)'; -comment on column gen_table_column.html_type is '显示类型(文本框、文本域、下拉框、复选框、单选框、日期控件)'; -comment on column gen_table_column.dict_type is '字典类型'; -comment on column gen_table_column.sort is '排序'; -comment on column gen_table_column.create_dept is '创建部门'; -comment on column gen_table_column.create_by is '创建者'; -comment on column gen_table_column.create_time is '创建时间'; -comment on column gen_table_column.update_by is '更新者'; -comment on column gen_table_column.update_time is '更新时间'; - --- ---------------------------- --- OSS对象存储表 --- ---------------------------- -create table if not exists sys_oss -( - oss_id int8, - tenant_id varchar(20) default '000000'::varchar, - file_name varchar(255) default ''::varchar not null, - original_name varchar(255) default ''::varchar not null, - file_suffix varchar(10) default ''::varchar not null, - url varchar(500) default ''::varchar not null, - create_dept int8, - create_by int8, - create_time timestamp, - update_by int8, - update_time timestamp, - service varchar(20) default 'minio'::varchar, - constraint sys_oss_pk primary key (oss_id) -); - -comment on table sys_oss is 'OSS对象存储表'; -comment on column sys_oss.oss_id is '对象存储主键'; -comment on column sys_oss.tenant_id is '租户编码'; -comment on column sys_oss.file_name is '文件名'; -comment on column sys_oss.original_name is '原名'; -comment on column sys_oss.file_suffix is '文件后缀名'; -comment on column sys_oss.url is 'URL地址'; -comment on column sys_oss.create_by is '上传人'; -comment on column sys_oss.create_dept is '创建部门'; -comment on column sys_oss.create_time is '创建时间'; -comment on column sys_oss.update_by is '更新者'; -comment on column sys_oss.update_time is '更新时间'; -comment on column sys_oss.service is '服务商'; - --- ---------------------------- --- OSS对象存储动态配置表 --- ---------------------------- -create table if not exists sys_oss_config -( - oss_config_id int8, - tenant_id varchar(20) default '000000'::varchar, - config_key varchar(20) default ''::varchar not null, - access_key varchar(255) default ''::varchar, - secret_key varchar(255) default ''::varchar, - bucket_name varchar(255) default ''::varchar, - prefix varchar(255) default ''::varchar, - endpoint varchar(255) default ''::varchar, - domain varchar(255) default ''::varchar, - is_https char default 'N'::bpchar, - region varchar(255) default ''::varchar, - access_policy char(1) default '1'::bpchar not null, - status char default '1'::bpchar, - ext1 varchar(255) default ''::varchar, - create_dept int8, - create_by int8, - create_time timestamp, - update_by int8, - update_time timestamp, - remark varchar(500) default ''::varchar, - constraint sys_oss_config_pk primary key (oss_config_id) -); - -comment on table sys_oss_config is '对象存储配置表'; -comment on column sys_oss_config.oss_config_id is '主键'; -comment on column sys_oss_config.tenant_id is '租户编码'; -comment on column sys_oss_config.config_key is '配置key'; -comment on column sys_oss_config.access_key is 'accessKey'; -comment on column sys_oss_config.secret_key is '秘钥'; -comment on column sys_oss_config.bucket_name is '桶名称'; -comment on column sys_oss_config.prefix is '前缀'; -comment on column sys_oss_config.endpoint is '访问站点'; -comment on column sys_oss_config.domain is '自定义域名'; -comment on column sys_oss_config.is_https is '是否https(Y=是,N=否)'; -comment on column sys_oss_config.region is '域'; -comment on column sys_oss_config.access_policy is '桶权限类型(0=private 1=public 2=custom)'; -comment on column sys_oss_config.status is '是否默认(0=是,1=否)'; -comment on column sys_oss_config.ext1 is '扩展字段'; -comment on column sys_oss_config.create_dept is '创建部门'; -comment on column sys_oss_config.create_by is '创建者'; -comment on column sys_oss_config.create_time is '创建时间'; -comment on column sys_oss_config.update_by is '更新者'; -comment on column sys_oss_config.update_time is '更新时间'; -comment on column sys_oss_config.remark is '备注'; - -insert into sys_oss_config values (1, '000000', 'minio', 'ruoyi', 'ruoyi123', 'ruoyi', '', '127.0.0.1:9000', '','N', '', '1', '0', '', 103, 1, now(), 1, now(), null); -insert into sys_oss_config values (2, '000000', 'qiniu', 'XXXXXXXXXXXXXXX', 'XXXXXXXXXXXXXXX', 'ruoyi', '', 's3-cn-north-1.qiniucs.com', '','N', '', '1', '1', '', 103, 1, now(), 1, now(), null); -insert into sys_oss_config values (3, '000000', 'aliyun', 'XXXXXXXXXXXXXXX', 'XXXXXXXXXXXXXXX', 'ruoyi', '', 'oss-cn-beijing.aliyuncs.com', '','N', '', '1', '1', '', 103, 1, now(), 1, now(), null); -insert into sys_oss_config values (4, '000000', 'qcloud', 'XXXXXXXXXXXXXXX', 'XXXXXXXXXXXXXXX', 'ruoyi-1250000000', '', 'cos.ap-beijing.myqcloud.com', '','N', 'ap-beijing', '1', '1', '', 103, 1, now(), 1, now(), null); -insert into sys_oss_config values (5, '000000', 'image', 'ruoyi', 'ruoyi123', 'ruoyi', 'image', '127.0.0.1:9000', '','N', '', '1', '1', '', 103, 1, now(), 1, now(), NULL); - --- ---------------------------- --- 系统授权表 --- ---------------------------- -create table sys_client ( - id int8, - client_id varchar(64) default ''::varchar, - client_key varchar(32) default ''::varchar, - client_secret varchar(255) default ''::varchar, - grant_type varchar(255) default ''::varchar, - device_type varchar(32) default ''::varchar, - active_timeout int4 default 1800, - timeout int4 default 604800, - status char(1) default '0'::bpchar, - del_flag char(1) default '0'::bpchar, - create_dept int8, - create_by int8, - create_time timestamp, - update_by int8, - update_time timestamp, - constraint sys_client_pk primary key (id) -); - -comment on table sys_client is '系统授权表'; -comment on column sys_client.id is '主键'; -comment on column sys_client.client_id is '客户端id'; -comment on column sys_client.client_key is '客户端key'; -comment on column sys_client.client_secret is '客户端秘钥'; -comment on column sys_client.grant_type is '授权类型'; -comment on column sys_client.device_type is '设备类型'; -comment on column sys_client.active_timeout is 'token活跃超时时间'; -comment on column sys_client.timeout is 'token固定超时'; -comment on column sys_client.status is '状态(0正常 1停用)'; -comment on column sys_client.del_flag is '删除标志(0代表存在 2代表删除)'; -comment on column sys_client.create_dept is '创建部门'; -comment on column sys_client.create_by is '创建者'; -comment on column sys_client.create_time is '创建时间'; -comment on column sys_client.update_by is '更新者'; -comment on column sys_client.update_time is '更新时间'; - -insert into sys_client values (1, 'e5cd7e4891bf95d1d19206ce24a7b32e', 'pc', 'pc123', 'password,social', 'pc', 1800, 604800, 0, 0, 103, 1, now(), 1, now()); -insert into sys_client values (2, '428a8310cd442757ae699df5d894f051', 'app', 'app123', 'password,sms,social', 'android', 1800, 604800, 0, 0, 103, 1, now(), 1, now()); - -create table if not exists test_demo -( - id int8, - tenant_id varchar(20) default '000000', - dept_id int8, - user_id int8, - order_num int4 default 0, - test_key varchar(255), - value varchar(255), - version int4 default 0, - create_dept int8, - create_time timestamp, - create_by int8, - update_time timestamp, - update_by int8, - del_flag int4 default 0 -); - -comment on table test_demo is '测试单表'; -comment on column test_demo.id is '主键'; -comment on column test_demo.tenant_id is '租户编号'; -comment on column test_demo.dept_id is '部门id'; -comment on column test_demo.user_id is '用户id'; -comment on column test_demo.order_num is '排序号'; -comment on column test_demo.test_key is 'key键'; -comment on column test_demo.value is '值'; -comment on column test_demo.version is '版本'; -comment on column test_demo.create_dept is '创建部门'; -comment on column test_demo.create_time is '创建时间'; -comment on column test_demo.create_by is '创建人'; -comment on column test_demo.update_time is '更新时间'; -comment on column test_demo.update_by is '更新人'; -comment on column test_demo.del_flag is '删除标志'; - -create table if not exists test_tree -( - id int8, - tenant_id varchar(20) default '000000', - parent_id int8 default 0, - dept_id int8, - user_id int8, - tree_name varchar(255), - version int4 default 0, - create_dept int8, - create_time timestamp, - create_by int8, - update_time timestamp, - update_by int8, - del_flag integer default 0 -); - -comment on table test_tree is '测试树表'; -comment on column test_tree.id is '主键'; -comment on column test_tree.tenant_id is '租户编号'; -comment on column test_tree.parent_id is '父id'; -comment on column test_tree.dept_id is '部门id'; -comment on column test_tree.user_id is '用户id'; -comment on column test_tree.tree_name is '值'; -comment on column test_tree.version is '版本'; -comment on column test_tree.create_dept is '创建部门'; -comment on column test_tree.create_time is '创建时间'; -comment on column test_tree.create_by is '创建人'; -comment on column test_tree.update_time is '更新时间'; -comment on column test_tree.update_by is '更新人'; -comment on column test_tree.del_flag is '删除标志'; - -INSERT INTO test_demo VALUES (1, '000000', 102, 4, 1, '测试数据权限', '测试', 0, 103, now(), 1, NULL, NULL, 0); -INSERT INTO test_demo VALUES (2, '000000', 102, 3, 2, '子节点1', '111', 0, 103, now(), 1, NULL, NULL, 0); -INSERT INTO test_demo VALUES (3, '000000', 102, 3, 3, '子节点2', '222', 0, 103, now(), 1, NULL, NULL, 0); -INSERT INTO test_demo VALUES (4, '000000', 108, 4, 4, '测试数据', 'demo', 0, 103, now(), 1, NULL, NULL, 0); -INSERT INTO test_demo VALUES (5, '000000', 108, 3, 13, '子节点11', '1111', 0, 103, now(), 1, NULL, NULL, 0); -INSERT INTO test_demo VALUES (6, '000000', 108, 3, 12, '子节点22', '2222', 0, 103, now(), 1, NULL, NULL, 0); -INSERT INTO test_demo VALUES (7, '000000', 108, 3, 11, '子节点33', '3333', 0, 103, now(), 1, NULL, NULL, 0); -INSERT INTO test_demo VALUES (8, '000000', 108, 3, 10, '子节点44', '4444', 0, 103, now(), 1, NULL, NULL, 0); -INSERT INTO test_demo VALUES (9, '000000', 108, 3, 9, '子节点55', '5555', 0, 103, now(), 1, NULL, NULL, 0); -INSERT INTO test_demo VALUES (10, '000000', 108, 3, 8, '子节点66', '6666', 0, 103, now(), 1, NULL, NULL, 0); -INSERT INTO test_demo VALUES (11, '000000', 108, 3, 7, '子节点77', '7777', 0, 103, now(), 1, NULL, NULL, 0); -INSERT INTO test_demo VALUES (12, '000000', 108, 3, 6, '子节点88', '8888', 0, 103, now(), 1, NULL, NULL, 0); -INSERT INTO test_demo VALUES (13, '000000', 108, 3, 5, '子节点99', '9999', 0, 103, now(), 1, NULL, NULL, 0); - -INSERT INTO test_tree VALUES (1, '000000', 0, 102, 4, '测试数据权限', 0, 103, now(), 1, NULL, NULL, 0); -INSERT INTO test_tree VALUES (2, '000000', 1, 102, 3, '子节点1', 0, 103, now(), 1, NULL, NULL, 0); -INSERT INTO test_tree VALUES (3, '000000', 2, 102, 3, '子节点2', 0, 103, now(), 1, NULL, NULL, 0); -INSERT INTO test_tree VALUES (4, '000000', 0, 108, 4, '测试树1', 0, 103, now(), 1, NULL, NULL, 0); -INSERT INTO test_tree VALUES (5, '000000', 4, 108, 3, '子节点11', 0, 103, now(), 1, NULL, NULL, 0); -INSERT INTO test_tree VALUES (6, '000000', 4, 108, 3, '子节点22', 0, 103, now(), 1, NULL, NULL, 0); -INSERT INTO test_tree VALUES (7, '000000', 4, 108, 3, '子节点33', 0, 103, now(), 1, NULL, NULL, 0); -INSERT INTO test_tree VALUES (8, '000000', 5, 108, 3, '子节点44', 0, 103, now(), 1, NULL, NULL, 0); -INSERT INTO test_tree VALUES (9, '000000', 6, 108, 3, '子节点55', 0, 103, now(), 1, NULL, NULL, 0); -INSERT INTO test_tree VALUES (10, '000000', 7, 108, 3, '子节点66', 0, 103, now(), 1, NULL, NULL, 0); -INSERT INTO test_tree VALUES (11, '000000', 7, 108, 3, '子节点77', 0, 103, now(), 1, NULL, NULL, 0); -INSERT INTO test_tree VALUES (12, '000000', 10, 108, 3, '子节点88', 0, 103, now(), 1, NULL, NULL, 0); -INSERT INTO test_tree VALUES (13, '000000', 10, 108, 3, '子节点99', 0, 103, now(), 1, NULL, NULL, 0); - --- 字符串自动转时间 避免框架时间查询报错问题 -create or replace function cast_varchar_to_timestamp(varchar) returns timestamptz as $$ -select to_timestamp($1, 'yyyy-mm-dd hh24:mi:ss'); -$$ language sql strict ; - -create cast (varchar as timestamptz) with function cast_varchar_to_timestamp as IMPLICIT; diff --git a/im-admin/script/sql/postgres/postgres_ry_workflow.sql b/im-admin/script/sql/postgres/postgres_ry_workflow.sql deleted file mode 100644 index 8a6078d..0000000 --- a/im-admin/script/sql/postgres/postgres_ry_workflow.sql +++ /dev/null @@ -1,275 +0,0 @@ -insert into sys_menu values('11616', '工作流' , '0', '6', 'workflow', '', '', '1', '0', 'M', '0', '0', '', 'workflow', 103, 1, now(), NULL, NULL, ''); -insert into sys_menu values('11617', '模型管理', '11616', '2', 'model', 'workflow/model/index', '', '1', '1', 'C', '0', '0', 'workflow:model:list', 'model', 103, 1, now(), NULL, NULL, ''); -insert into sys_menu values('11618', '我的任务', '0', '7', 'task', '', '', '1', '0', 'M', '0', '0', '', 'my-task', 103, 1, now(), NULL, NULL, ''); -insert into sys_menu values('11619', '我的待办', '11618', '2', 'taskWaiting', 'workflow/task/taskWaiting', '', '1', '1', 'C', '0', '0', '', 'waiting', 103, 1, now(), NULL, NULL, ''); -insert into sys_menu values('11632', '我的已办', '11618', '3', 'taskFinish', 'workflow/task/taskFinish', '', '1', '1', 'C', '0', '0', '', 'finish', 103, 1, now(), NULL, NULL, ''); -insert into sys_menu values('11633', '我的抄送', '11618', '4', 'taskCopyList', 'workflow/task/taskCopyList', '', '1', '1', 'C', '0', '0', '', 'my-copy', 103, 1, now(), NULL, NULL, ''); -insert into sys_menu values('11620', '流程定义', '11616', '3', 'processDefinition', 'workflow/processDefinition/index', '', '1', '1', 'C', '0', '0', '', 'process-definition', 103, 1, now(), NULL, NULL, ''); -insert into sys_menu values('11621', '流程实例', '11630', '1', 'processInstance', 'workflow/processInstance/index', '', '1', '1', 'C', '0', '0', '', 'tree-table', 103, 1, now(), NULL, NULL, ''); -insert into sys_menu values('11622', '流程分类', '11616', '1', 'category', 'workflow/category/index', '', '1', '0', 'C', '0', '0', 'workflow:category:list', 'category', 103, 1, now(), NULL, NULL, ''); -insert into sys_menu values('11629', '我发起的', '11618', '1', 'myDocument', 'workflow/task/myDocument', '', '1', '1', 'C', '0', '0', '', 'guide', 103, 1, now(), NULL, NULL, ''); -insert into sys_menu values('11630', '流程监控', '11616', '4', 'monitor', '', '', '1', '0', 'M', '0', '0', '', 'monitor', 103, 1, now(), NULL, NULL, ''); -insert into sys_menu values('11631', '待办任务', '11630', '2', 'allTaskWaiting', 'workflow/task/allTaskWaiting', '', '1', '1', 'C', '0', '0', '', 'waiting', 103, 1, now(), NULL, NULL, ''); - - --- 流程分类管理相关按钮 -insert into sys_menu values ('11623', '流程分类查询', '11622', '1', '#', '', '', 1, 0, 'F', '0', '0', 'workflow:category:query', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values ('11624', '流程分类新增', '11622', '2', '#', '', '', 1, 0, 'F', '0', '0', 'workflow:category:add', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values ('11625', '流程分类修改', '11622', '3', '#', '', '', 1, 0, 'F', '0', '0', 'workflow:category:edit', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values ('11626', '流程分类删除', '11622', '4', '#', '', '', 1, 0, 'F', '0', '0', 'workflow:category:remove','#', 103, 1, now(), null, null, ''); -insert into sys_menu values ('11627', '流程分类导出', '11622', '5', '#', '', '', 1, 0, 'F', '0', '0', 'workflow:category:export','#', 103, 1, now(), null, null, ''); --- 请假单信息 -create table test_leave -( - id bigint not null - constraint test_leave_pk - primary key, - leave_type varchar(255), - start_date timestamp, - end_date timestamp, - leave_days bigint, - remark varchar(255), - status varchar(255), - create_dept bigint, - create_by bigint, - create_time timestamp, - update_by bigint, - update_time timestamp, - tenant_id varchar(20) -); - -comment on table test_leave is '请假申请表'; -comment on column test_leave.id is '主键'; -comment on column test_leave.leave_type is '请假类型'; -comment on column test_leave.start_date is '开始时间'; -comment on column test_leave.end_date is '结束时间'; -comment on column test_leave.remark is '请假原因'; -comment on column test_leave.status is '状态'; -comment on column test_leave.create_dept is '创建部门'; -comment on column test_leave.create_by is '创建者'; -comment on column test_leave.create_time is '创建时间'; -comment on column test_leave.update_by is '更新者'; -comment on column test_leave.update_time is '更新时间'; -comment on column test_leave.tenant_id is '租户编码'; - -alter table test_leave - owner to postgres; - --- 流程分类信息表 -create table wf_category -( - id bigint not null - constraint wf_category_pk - primary key, - category_name varchar(255), - category_code varchar(255), - parent_id bigint, - sort_num bigint, - tenant_id varchar(20), - create_dept bigint, - create_by bigint, - create_time timestamp, - update_by bigint, - update_time timestamp -); - -comment on table wf_category is '流程分类'; -comment on column wf_category.id is '主键'; -comment on column wf_category.category_name is '分类名称'; -comment on column wf_category.category_code is '分类编码'; -comment on column wf_category.parent_id is '父级id'; -comment on column wf_category.sort_num is '排序'; -comment on column wf_category.tenant_id is '租户id'; -comment on column wf_category.create_dept is '创建部门'; -comment on column wf_category.create_by is '创建者'; -comment on column wf_category.create_time is '创建时间'; -comment on column wf_category.update_by is '修改者'; -comment on column wf_category.update_time is '修改时间'; - -alter table wf_category - owner to postgres; - -create unique index uni_category_code - on wf_category (category_code); - -INSERT INTO wf_category values (1, 'OA', 'OA', 0, 0, '000000', 103, 1, now(), 1, now()); - -create table wf_task_back_node -( - id bigint not null - constraint pk_wf_task_back_node - primary key, - node_id varchar(255) not null, - node_name varchar(255) not null, - order_no bigint not null, - instance_id varchar(255) not null, - task_type varchar(255) not null, - assignee varchar(2000) not null, - tenant_id varchar(20), - create_dept bigint, - create_by bigint, - create_time timestamp, - update_by bigint, - update_time timestamp -); - -comment on table wf_task_back_node is '节点审批记录'; -comment on column wf_task_back_node.id is '主键'; -comment on column wf_task_back_node.node_id is '节点id'; -comment on column wf_task_back_node.node_name is '节点名称'; -comment on column wf_task_back_node.order_no is '排序'; -comment on column wf_task_back_node.instance_id is '流程实例id'; -comment on column wf_task_back_node.task_type is '节点类型'; -comment on column wf_task_back_node.assignee is '审批人'; -comment on column wf_task_back_node.tenant_id is '租户id'; -comment on column wf_task_back_node.create_dept is '创建部门'; -comment on column wf_task_back_node.create_by is '创建者'; -comment on column wf_task_back_node.create_time is '创建时间'; -comment on column wf_task_back_node.update_by is '修改者'; -comment on column wf_task_back_node.update_time is '修改时间'; - -alter table wf_task_back_node - owner to postgres; - -create table wf_definition_config -( - id bigint not null - constraint pk_wf_definition_config - primary key, - table_name varchar(255) not null, - definition_id varchar(255) not null, - process_key varchar(255) not null, - version bigint not null, - tenant_id varchar(20), - remark varchar(500), - create_dept bigint, - create_by bigint, - create_time timestamp, - update_by bigint, - update_time timestamp -); - -comment on table wf_definition_config is '流程定义配置'; -comment on column wf_definition_config.id is '主键'; -comment on column wf_definition_config.table_name is '表名'; -comment on column wf_definition_config.definition_id is '流程定义ID'; -comment on column wf_definition_config.process_key is '流程KEY'; -comment on column wf_definition_config.version is '流程版本'; -comment on column wf_definition_config.tenant_id is '租户id'; -comment on column wf_definition_config.remark is '备注'; -comment on column wf_definition_config.create_dept is '创建部门'; -comment on column wf_definition_config.create_by is '创建者'; -comment on column wf_definition_config.create_time is '创建时间'; -comment on column wf_definition_config.update_by is '修改者'; -comment on column wf_definition_config.update_time is '修改时间'; - -alter table wf_definition_config - owner to postgres; -create unique index uni_definition_id - on wf_definition_config (definition_id); - -create table wf_form_manage -( - id bigint not null - constraint pk_wf_form_manage - primary key, - form_name varchar(255) not null, - form_type varchar(255) not null, - router varchar(255) not null, - remark varchar(500), - tenant_id varchar(20), - create_dept bigint, - create_by bigint, - create_time timestamp, - update_by bigint, - update_time timestamp -); - -comment on table wf_form_manage is '表单管理'; -comment on column wf_form_manage.id is '主键'; -comment on column wf_form_manage.form_name is '表单名称'; -comment on column wf_form_manage.form_type is '表单类型'; -comment on column wf_form_manage.router is '路由地址/表单ID'; -comment on column wf_form_manage.remark is '备注'; -comment on column wf_form_manage.tenant_id is '租户id'; -comment on column wf_form_manage.create_dept is '创建部门'; -comment on column wf_form_manage.create_by is '创建者'; -comment on column wf_form_manage.create_time is '创建时间'; -comment on column wf_form_manage.update_by is '修改者'; -comment on column wf_form_manage.update_time is '修改时间'; - -insert into wf_form_manage(id, form_name, form_type, router, remark, tenant_id, create_dept, create_by, create_time, update_by, update_time) VALUES (1, '请假申请', 'static', '/workflow/leaveEdit/index', NULL, '000000', 103, 1, now(), 1, now()); - -create table wf_node_config -( - id bigint not null - constraint pk_wf_node_config - primary key, - form_id bigint, - form_type varchar(255), - node_name varchar(255) not null, - node_id varchar(255) not null, - definition_id varchar(255) not null, - apply_user_task char(1) default '0', - tenant_id varchar(20), - create_dept bigint, - create_by bigint, - create_time timestamp, - update_by bigint, - update_time timestamp -); - -comment on table wf_node_config is '节点配置'; -comment on column wf_node_config.id is '主键'; -comment on column wf_node_config.form_id is '表单id'; -comment on column wf_node_config.form_type is '表单类型'; -comment on column wf_node_config.node_id is '节点id'; -comment on column wf_node_config.node_name is '节点名称'; -comment on column wf_node_config.definition_id is '流程定义id'; -comment on column wf_node_config.apply_user_task is '是否为申请人节点 (0是 1否)'; -comment on column wf_node_config.tenant_id is '租户id'; -comment on column wf_node_config.create_dept is '创建部门'; -comment on column wf_node_config.create_by is '创建者'; -comment on column wf_node_config.create_time is '创建时间'; -comment on column wf_node_config.update_by is '修改者'; -comment on column wf_node_config.update_time is '修改时间'; - -INSERT INTO sys_menu(menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (11638, '请假申请', 5, 1, 'leave', 'workflow/leave/index', 1, 0, 'C', '0', '0', 'workflow:leave:list', '#', 103, 1, now(), NULL, NULL, '请假申请菜单'); -INSERT INTO sys_menu(menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (11639, '请假申请查询', 11638, 1, '#', '', 1, 0, 'F', '0', '0', 'workflow:leave:query', '#', 103, 1, now(), NULL, NULL, ''); -INSERT INTO sys_menu(menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (11640, '请假申请新增', 11638, 2, '#', '', 1, 0, 'F', '0', '0', 'workflow:leave:add', '#', 103, 1, now(), NULL, NULL, ''); -INSERT INTO sys_menu(menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (11641, '请假申请修改', 11638, 3, '#', '', 1, 0, 'F', '0', '0', 'workflow:leave:edit', '#', 103, 1, now(), NULL, NULL, ''); -INSERT INTO sys_menu(menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (11642, '请假申请删除', 11638, 4, '#', '', 1, 0, 'F', '0', '0', 'workflow:leave:remove', '#', 103, 1, now(), NULL, NULL, ''); -INSERT INTO sys_menu(menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (11643, '请假申请导出', 11638, 5, '#', '', 1, 0, 'F', '0', '0', 'workflow:leave:export', '#', 103, 1, now(), NULL, NULL, ''); - -INSERT INTO sys_dict_type(dict_id, tenant_id, dict_name, dict_type, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (13, '000000', '业务状态', 'wf_business_status', 103, 1, now(), NULL, NULL, '业务状态列表'); -INSERT INTO sys_dict_type(dict_id, tenant_id, dict_name, dict_type, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (14, '000000', '表单类型', 'wf_form_type', 103, 1, now(), NULL, NULL, '表单类型列表'); - -INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (39, '000000', 1, '已撤销', 'cancel', 'wf_business_status', '', 'danger', 'N', 103, 1, now(), NULL, NULL, '已撤销'); -INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (40, '000000', 2, '草稿', 'draft', 'wf_business_status', '', 'info', 'N', 103, 1, now(), NULL, NULL, '草稿'); -INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (41, '000000', 3, '待审核', 'waiting', 'wf_business_status', '', 'primary', 'N', 103, 1,now(), NULL, NULL, '待审核'); -INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (42, '000000', 4, '已完成', 'finish', 'wf_business_status', '', 'success', 'N', 103, 1, now(), NULL, NULL, '已完成'); -INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (43, '000000', 5, '已作废', 'invalid', 'wf_business_status', '', 'danger', 'N', 103, 1, now(), NULL, NULL, '已作废'); -INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (44, '000000', 6, '已退回', 'back', 'wf_business_status', '', 'danger', 'N', 103, 1, now(), NULL, NULL, '已退回'); -INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (45, '000000', 7, '已终止', 'termination', 'wf_business_status', '', 'danger', 'N', 103, 1,now(), NULL, NULL, '已终止'); -INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (46, '000000', 1, '自定义表单', 'static', 'wf_form_type', '', 'success', 'N', 103, 1, now(), NULL, NULL, '自定义表单'); -INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (47, '000000', 2, '动态表单', 'dynamic', 'wf_form_type', '', 'primary', 'N', 103, 1, now(), NULL, NULL, '动态表单'); - --- 表单管理 SQL -insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) -values(11628, '表单管理', '11616', '5', 'formManage', 'workflow/formManage/index', 1, 0, 'C', '0', '0', 'workflow:formManage:list', 'tree-table', 103, 1, now(), null, null, '表单管理菜单'); - --- 表单管理按钮 SQL -insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) -values(11644, '表单管理查询', 11628, '1', '#', '', 1, 0, 'F', '0', '0', 'workflow:formManage:query', '', 103, 1, now(), null, null, ''); - -insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) -values(11645, '表单管理新增', 11628, '2', '#', '', 1, 0, 'F', '0', '0', 'workflow:formManage:add', '', 103, 1, now(), null, null, ''); - -insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) -values(11646, '表单管理修改', 11628, '3', '#', '', 1, 0, 'F', '0', '0', 'workflow:formManage:edit', '', 103, 1, now(), null, null, ''); - -insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) -values(11647, '表单管理删除', 11628, '4', '#', '', 1, 0, 'F', '0', '0', 'workflow:formManage:remove', '', 103, 1, now(), null, null, ''); - -insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) -values(11648, '表单管理导出', 11628, '5', '#', '', 1, 0, 'F', '0', '0', 'workflow:formManage:export', 'tree-table', 103, 1, now(), null, null, ''); diff --git a/im-admin/script/sql/ry_job.sql b/im-admin/script/sql/ry_job.sql deleted file mode 100644 index 396798e..0000000 --- a/im-admin/script/sql/ry_job.sql +++ /dev/null @@ -1,515 +0,0 @@ -SET NAMES utf8mb4; - -CREATE TABLE `sj_namespace` -( - `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', - `name` varchar(64) NOT NULL COMMENT '名称', - `unique_id` varchar(64) NOT NULL COMMENT '唯一id', - `description` varchar(256) NOT NULL DEFAULT '' COMMENT '描述', - `deleted` tinyint(4) NOT NULL DEFAULT 0 COMMENT '逻辑删除 1、删除', - `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', - PRIMARY KEY (`id`), - KEY `idx_name` (`name`), - UNIQUE KEY `uk_unique_id` (`unique_id`) -) ENGINE = InnoDB - DEFAULT CHARSET = utf8mb4 COMMENT ='命名空间'; - -INSERT INTO `sj_namespace` VALUES (1, 'Development', 'dev', '', 0, now(), now()); -INSERT INTO `sj_namespace` VALUES (2, 'Production', 'prod', '', 0, now(), now()); - -CREATE TABLE `sj_group_config` -( - `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', - `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', - `group_name` varchar(64) NOT NULL DEFAULT '' COMMENT '组名称', - `description` varchar(256) NOT NULL DEFAULT '' COMMENT '组描述', - `token` varchar(64) NOT NULL DEFAULT 'SJ_cKqBTPzCsWA3VyuCfFoccmuIEGXjr5KT' COMMENT 'token', - `group_status` tinyint(4) NOT NULL DEFAULT 0 COMMENT '组状态 0、未启用 1、启用', - `version` int(11) NOT NULL COMMENT '版本号', - `group_partition` int(11) NOT NULL COMMENT '分区', - `id_generator_mode` tinyint(4) NOT NULL DEFAULT 1 COMMENT '唯一id生成模式 默认号段模式', - `init_scene` tinyint(4) NOT NULL DEFAULT 0 COMMENT '是否初始化场景 0:否 1:是', - `bucket_index` int(11) NOT NULL DEFAULT 0 COMMENT 'bucket', - `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', - PRIMARY KEY (`id`), - UNIQUE KEY `uk_namespace_id_group_name` (`namespace_id`, `group_name`) -) ENGINE = InnoDB - AUTO_INCREMENT = 0 - DEFAULT CHARSET = utf8mb4 COMMENT ='组配置'; - -INSERT INTO `sj_group_config` VALUES (1, 'dev', 'ruoyi_group', '', 'SJ_cKqBTPzCsWA3VyuCfFoccmuIEGXjr5KT', 1, 1, 0, 1, 1, 4, now(), now()); -INSERT INTO `sj_group_config` VALUES (2, 'prod', 'ruoyi_group', '', 'SJ_cKqBTPzCsWA3VyuCfFoccmuIEGXjr5KT', 1, 1, 0, 1, 1, 4, now(), now()); - -CREATE TABLE `sj_notify_config` -( - `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', - `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', - `group_name` varchar(64) NOT NULL COMMENT '组名称', - `business_id` varchar(64) NOT NULL COMMENT '业务id (job_id或workflow_id或scene_name)', - `system_task_type` tinyint(4) NOT NULL DEFAULT 3 COMMENT '任务类型 1. 重试任务 2. 重试回调 3、JOB任务 4、WORKFLOW任务', - `notify_status` tinyint(4) NOT NULL DEFAULT 0 COMMENT '通知状态 0、未启用 1、启用', - `recipient_ids` varchar(128) NOT NULL COMMENT '接收人id列表', - `notify_threshold` int(11) NOT NULL DEFAULT 0 COMMENT '通知阈值', - `notify_scene` tinyint(4) NOT NULL DEFAULT 0 COMMENT '通知场景', - `rate_limiter_status` tinyint(4) NOT NULL DEFAULT 0 COMMENT '限流状态 0、未启用 1、启用', - `rate_limiter_threshold` int(11) NOT NULL DEFAULT 0 COMMENT '每秒限流阈值', - `description` varchar(256) NOT NULL DEFAULT '' COMMENT '描述', - `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', - PRIMARY KEY (`id`), - KEY `idx_namespace_id_group_name_scene_name` (`namespace_id`, `group_name`, `business_id`) -) ENGINE = InnoDB - AUTO_INCREMENT = 0 - DEFAULT CHARSET = utf8mb4 COMMENT ='通知配置'; - -CREATE TABLE `sj_notify_recipient` -( - `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', - `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', - `recipient_name` varchar(64) NOT NULL COMMENT '接收人名称', - `notify_type` tinyint(4) NOT NULL DEFAULT 0 COMMENT '通知类型 1、钉钉 2、邮件 3、企业微信 4 飞书 5 webhook', - `notify_attribute` varchar(512) NOT NULL COMMENT '配置属性', - `description` varchar(256) NOT NULL DEFAULT '' COMMENT '描述', - `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', - PRIMARY KEY (`id`), - KEY `idx_namespace_id` (`namespace_id`) -) ENGINE = InnoDB - AUTO_INCREMENT = 0 - DEFAULT CHARSET = utf8mb4 COMMENT ='告警通知接收人'; - -CREATE TABLE `sj_retry_dead_letter_0` -( - `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', - `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', - `unique_id` varchar(64) NOT NULL COMMENT '同组下id唯一', - `group_name` varchar(64) NOT NULL COMMENT '组名称', - `scene_name` varchar(64) NOT NULL COMMENT '场景名称', - `idempotent_id` varchar(64) NOT NULL COMMENT '幂等id', - `biz_no` varchar(64) NOT NULL DEFAULT '' COMMENT '业务编号', - `executor_name` varchar(512) NOT NULL DEFAULT '' COMMENT '执行器名称', - `args_str` text NOT NULL COMMENT '执行方法参数', - `ext_attrs` text NOT NULL COMMENT '扩展字段', - `task_type` tinyint(4) NOT NULL DEFAULT 1 COMMENT '任务类型 1、重试数据 2、回调数据', - `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - PRIMARY KEY (`id`), - KEY `idx_namespace_id_group_name_scene_name` (`namespace_id`, `group_name`, `scene_name`), - KEY `idx_idempotent_id` (`idempotent_id`), - KEY `idx_biz_no` (`biz_no`), - KEY `idx_create_dt` (`create_dt`), - UNIQUE KEY `uk_namespace_id_group_name_unique_id` (`namespace_id`, `group_name`, `unique_id`) -) ENGINE = InnoDB - AUTO_INCREMENT = 0 - DEFAULT CHARSET = utf8mb4 COMMENT ='死信队列表'; - -CREATE TABLE `sj_retry_task_0` -( - `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', - `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', - `unique_id` varchar(64) NOT NULL COMMENT '同组下id唯一', - `group_name` varchar(64) NOT NULL COMMENT '组名称', - `scene_name` varchar(64) NOT NULL COMMENT '场景名称', - `idempotent_id` varchar(64) NOT NULL COMMENT '幂等id', - `biz_no` varchar(64) NOT NULL DEFAULT '' COMMENT '业务编号', - `executor_name` varchar(512) NOT NULL DEFAULT '' COMMENT '执行器名称', - `args_str` text NOT NULL COMMENT '执行方法参数', - `ext_attrs` text NOT NULL COMMENT '扩展字段', - `next_trigger_at` datetime NOT NULL COMMENT '下次触发时间', - `retry_count` int(11) NOT NULL DEFAULT 0 COMMENT '重试次数', - `retry_status` tinyint(4) NOT NULL DEFAULT 0 COMMENT '重试状态 0、重试中 1、成功 2、最大重试次数', - `task_type` tinyint(4) NOT NULL DEFAULT 1 COMMENT '任务类型 1、重试数据 2、回调数据', - `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', - PRIMARY KEY (`id`), - KEY `idx_namespace_id_group_name_scene_name` (`namespace_id`, `group_name`, `scene_name`), - KEY `idx_namespace_id_group_name_task_type` (`namespace_id`, `group_name`, `task_type`), - KEY `idx_namespace_id_group_name_retry_status` (`namespace_id`, `group_name`, `retry_status`), - KEY `idx_idempotent_id` (`idempotent_id`), - KEY `idx_biz_no` (`biz_no`), - KEY `idx_create_dt` (`create_dt`), - UNIQUE KEY `uk_name_unique_id` (`namespace_id`, `group_name`, `unique_id`) -) ENGINE = InnoDB - AUTO_INCREMENT = 0 - DEFAULT CHARSET = utf8mb4 COMMENT ='任务表'; - -CREATE TABLE `sj_retry_task_log` -( - `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', - `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', - `unique_id` varchar(64) NOT NULL COMMENT '同组下id唯一', - `group_name` varchar(64) NOT NULL COMMENT '组名称', - `scene_name` varchar(64) NOT NULL COMMENT '场景名称', - `idempotent_id` varchar(64) NOT NULL COMMENT '幂等id', - `biz_no` varchar(64) NOT NULL DEFAULT '' COMMENT '业务编号', - `executor_name` varchar(512) NOT NULL DEFAULT '' COMMENT '执行器名称', - `args_str` text NOT NULL COMMENT '执行方法参数', - `ext_attrs` text NOT NULL COMMENT '扩展字段', - `retry_status` tinyint(4) NOT NULL DEFAULT 0 COMMENT '重试状态 0、重试中 1、成功 2、最大次数', - `task_type` tinyint(4) NOT NULL DEFAULT 1 COMMENT '任务类型 1、重试数据 2、回调数据', - `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', - PRIMARY KEY (`id`), - KEY `idx_group_name_scene_name` (`namespace_id`, `group_name`, `scene_name`), - KEY `idx_retry_status` (`retry_status`), - KEY `idx_idempotent_id` (`idempotent_id`), - KEY `idx_unique_id` (`unique_id`), - KEY `idx_biz_no` (`biz_no`), - KEY `idx_create_dt` (`create_dt`) -) ENGINE = InnoDB - AUTO_INCREMENT = 0 - DEFAULT CHARSET = utf8mb4 COMMENT ='任务日志基础信息表'; - -CREATE TABLE `sj_retry_task_log_message` -( - `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', - `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', - `group_name` varchar(64) NOT NULL COMMENT '组名称', - `unique_id` varchar(64) NOT NULL COMMENT '同组下id唯一', - `message` longtext NOT NULL COMMENT '异常信息', - `log_num` int(11) NOT NULL DEFAULT 1 COMMENT '日志数量', - `real_time` bigint(13) NOT NULL DEFAULT 0 COMMENT '上报时间', - `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - PRIMARY KEY (`id`), - KEY `idx_namespace_id_group_name_scene_name` (`namespace_id`, `group_name`, `unique_id`), - KEY `idx_create_dt` (`create_dt`) -) ENGINE = InnoDB - AUTO_INCREMENT = 0 - DEFAULT CHARSET = utf8mb4 COMMENT ='任务调度日志信息记录表'; - -CREATE TABLE `sj_retry_scene_config` -( - `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', - `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', - `scene_name` varchar(64) NOT NULL COMMENT '场景名称', - `group_name` varchar(64) NOT NULL COMMENT '组名称', - `scene_status` tinyint(4) NOT NULL DEFAULT 0 COMMENT '组状态 0、未启用 1、启用', - `max_retry_count` int(11) NOT NULL DEFAULT 5 COMMENT '最大重试次数', - `back_off` tinyint(4) NOT NULL DEFAULT 1 COMMENT '1、默认等级 2、固定间隔时间 3、CRON 表达式', - `trigger_interval` varchar(16) NOT NULL DEFAULT '' COMMENT '间隔时长', - `deadline_request` bigint(20) unsigned NOT NULL DEFAULT 60000 COMMENT 'Deadline Request 调用链超时 单位毫秒', - `executor_timeout` int(11) unsigned NOT NULL DEFAULT 5 COMMENT '任务执行超时时间,单位秒', - `route_key` tinyint(4) NOT NULL DEFAULT 4 COMMENT '路由策略', - `description` varchar(256) NOT NULL DEFAULT '' COMMENT '描述', - `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', - PRIMARY KEY (`id`), - UNIQUE KEY `uk_namespace_id_group_name_scene_name` (`namespace_id`, `group_name`, `scene_name`) -) ENGINE = InnoDB - AUTO_INCREMENT = 0 - DEFAULT CHARSET = utf8mb4 COMMENT ='场景配置'; - -CREATE TABLE `sj_server_node` -( - `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', - `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', - `group_name` varchar(64) NOT NULL COMMENT '组名称', - `host_id` varchar(64) NOT NULL COMMENT '主机id', - `host_ip` varchar(64) NOT NULL COMMENT '机器ip', - `host_port` int(16) NOT NULL COMMENT '机器端口', - `expire_at` datetime NOT NULL COMMENT '过期时间', - `node_type` tinyint(4) NOT NULL COMMENT '节点类型 1、客户端 2、是服务端', - `ext_attrs` varchar(256) NULL DEFAULT '' COMMENT '扩展字段', - `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', - PRIMARY KEY (`id`), - KEY `idx_namespace_id_group_name` (`namespace_id`, `group_name`), - KEY `idx_expire_at_node_type` (`expire_at`, `node_type`), - UNIQUE KEY `uk_host_id_host_ip` (`host_id`, `host_ip`) -) ENGINE = InnoDB - AUTO_INCREMENT = 0 - DEFAULT CHARSET = utf8mb4 COMMENT ='服务器节点'; - -CREATE TABLE `sj_distributed_lock` -( - `name` varchar(64) NOT NULL COMMENT '锁名称', - `lock_until` timestamp(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3) COMMENT '锁定时长', - `locked_at` timestamp(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT '锁定时间', - `locked_by` varchar(255) NOT NULL COMMENT '锁定者', - `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间', - PRIMARY KEY (`name`) -) ENGINE = InnoDB - AUTO_INCREMENT = 0 - DEFAULT CHARSET = utf8mb4 COMMENT ='锁定表'; - -CREATE TABLE `sj_system_user` -( - `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', - `username` varchar(64) NOT NULL COMMENT '账号', - `password` varchar(128) NOT NULL COMMENT '密码', - `role` tinyint(4) NOT NULL DEFAULT 0 COMMENT '角色:1-普通用户、2-管理员', - `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', - PRIMARY KEY (`id`), - UNIQUE KEY `uk_username` (`username`) USING BTREE -) ENGINE = InnoDB - DEFAULT CHARSET = utf8mb4 COMMENT ='系统用户表'; - --- pwd: admin -INSERT INTO `sj_system_user` VALUES (1, 'admin', '465c194afb65670f38322df087f0a9bb225cc257e43eb4ac5a0c98ef5b3173ac', 2, now(), now()); - -CREATE TABLE `sj_system_user_permission` -( - `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', - `group_name` varchar(64) NOT NULL COMMENT '组名称', - `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', - `system_user_id` bigint(20) NOT NULL COMMENT '系统用户id', - `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', - PRIMARY KEY (`id`), - UNIQUE KEY `uk_namespace_id_group_name_system_user_id` (`namespace_id`, `group_name`, `system_user_id`) -) ENGINE = InnoDB - DEFAULT CHARSET = utf8mb4 COMMENT ='系统用户权限表'; - -CREATE TABLE `sj_sequence_alloc` -( - `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', - `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', - `group_name` varchar(64) NOT NULL DEFAULT '' COMMENT '组名称', - `max_id` bigint(20) NOT NULL DEFAULT 1 COMMENT '最大id', - `step` int(11) NOT NULL DEFAULT 100 COMMENT '步长', - `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - PRIMARY KEY (`id`), - UNIQUE KEY `uk_namespace_id_group_name` (`namespace_id`, `group_name`) -) ENGINE = InnoDB - DEFAULT CHARSET = utf8mb4 COMMENT ='号段模式序号ID分配表'; - --- 分布式调度DDL -CREATE TABLE `sj_job` -( - `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', - `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', - `group_name` varchar(64) NOT NULL COMMENT '组名称', - `job_name` varchar(64) NOT NULL COMMENT '名称', - `args_str` text DEFAULT NULL COMMENT '执行方法参数', - `args_type` tinyint(4) NOT NULL DEFAULT 1 COMMENT '参数类型 ', - `next_trigger_at` bigint(13) NOT NULL COMMENT '下次触发时间', - `job_status` tinyint(4) NOT NULL DEFAULT 1 COMMENT '任务状态 0、关闭、1、开启', - `task_type` tinyint(4) NOT NULL DEFAULT 1 COMMENT '任务类型 1、集群 2、广播 3、切片', - `route_key` tinyint(4) NOT NULL DEFAULT 4 COMMENT '路由策略', - `executor_type` tinyint(4) NOT NULL DEFAULT 1 COMMENT '执行器类型', - `executor_info` varchar(255) DEFAULT NULL COMMENT '执行器名称', - `trigger_type` tinyint(4) NOT NULL COMMENT '触发类型 1.CRON 表达式 2. 固定时间', - `trigger_interval` varchar(255) NOT NULL COMMENT '间隔时长', - `block_strategy` tinyint(4) NOT NULL DEFAULT 1 COMMENT '阻塞策略 1、丢弃 2、覆盖 3、并行', - `executor_timeout` int(11) NOT NULL DEFAULT 0 COMMENT '任务执行超时时间,单位秒', - `max_retry_times` int(11) NOT NULL DEFAULT 0 COMMENT '最大重试次数', - `parallel_num` int(11) NOT NULL DEFAULT 1 COMMENT '并行数', - `retry_interval` int(11) NOT NULL DEFAULT 0 COMMENT '重试间隔(s)', - `bucket_index` int(11) NOT NULL DEFAULT 0 COMMENT 'bucket', - `resident` tinyint(4) NOT NULL DEFAULT 0 COMMENT '是否是常驻任务', - `description` varchar(256) NOT NULL DEFAULT '' COMMENT '描述', - `ext_attrs` varchar(256) NULL DEFAULT '' COMMENT '扩展字段', - `deleted` tinyint(4) NOT NULL DEFAULT 0 COMMENT '逻辑删除 1、删除', - `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', - PRIMARY KEY (`id`), - KEY `idx_namespace_id_group_name` (`namespace_id`, `group_name`), - KEY `idx_job_status_bucket_index` (`job_status`, `bucket_index`), - KEY `idx_create_dt` (`create_dt`) -) ENGINE = InnoDB - AUTO_INCREMENT = 0 - DEFAULT CHARSET = utf8mb4 COMMENT ='任务信息'; - -INSERT INTO `sj_job` VALUES (1, 'dev', 'ruoyi_group', 'demo-job', null, 1, 1710344035622, 1, 1, 4, 1, 'testJobExecutor', 2, '60', 1, 60, 3, 1, 1, 116, 0, '', '', 0 , now(), now()); - -CREATE TABLE `sj_job_log_message` -( - `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', - `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', - `group_name` varchar(64) NOT NULL COMMENT '组名称', - `job_id` bigint(20) NOT NULL COMMENT '任务信息id', - `task_batch_id` bigint(20) NOT NULL COMMENT '任务批次id', - `task_id` bigint(20) NOT NULL COMMENT '调度任务id', - `message` longtext NOT NULL COMMENT '调度信息', - `log_num` int(11) NOT NULL DEFAULT 1 COMMENT '日志数量', - `real_time` bigint(13) NOT NULL DEFAULT 0 COMMENT '上报时间', - `ext_attrs` varchar(256) NULL DEFAULT '' COMMENT '扩展字段', - `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - PRIMARY KEY (`id`), - KEY `idx_task_batch_id_task_id` (`task_batch_id`, `task_id`), - KEY `idx_create_dt` (`create_dt`), - KEY `idx_namespace_id_group_name` (`namespace_id`, `group_name`) -) ENGINE = InnoDB - AUTO_INCREMENT = 0 - DEFAULT CHARSET = utf8mb4 COMMENT ='调度日志'; - -CREATE TABLE `sj_job_task` -( - `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', - `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', - `group_name` varchar(64) NOT NULL COMMENT '组名称', - `job_id` bigint(20) NOT NULL COMMENT '任务信息id', - `task_batch_id` bigint(20) NOT NULL COMMENT '调度任务id', - `parent_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '父执行器id', - `task_status` tinyint NOT NULL DEFAULT 0 COMMENT '执行的状态 0、失败 1、成功', - `retry_count` int(11) NOT NULL DEFAULT 0 COMMENT '重试次数', - `mr_stage` tinyint DEFAULT NULL COMMENT '动态分片所处阶段 1:map 2:reduce 3:mergeReduce', - `leaf` tinyint NOT NULL DEFAULT '1' COMMENT '叶子节点', - `task_name` varchar(255) NOT NULL DEFAULT '' COMMENT '任务名称', - `client_info` varchar(128) DEFAULT NULL COMMENT '客户端地址 clientId#ip:port', - `wf_context` text DEFAULT NULL COMMENT '工作流全局上下文', - `result_message` text NOT NULL COMMENT '执行结果', - `args_str` text DEFAULT NULL COMMENT '执行方法参数', - `args_type` tinyint NOT NULL DEFAULT 1 COMMENT '参数类型 ', - `ext_attrs` varchar(256) NULL DEFAULT '' COMMENT '扩展字段', - `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', - PRIMARY KEY (`id`), - KEY `idx_task_batch_id_task_status` (`task_batch_id`, `task_status`), - KEY `idx_create_dt` (`create_dt`), - KEY `idx_namespace_id_group_name` (`namespace_id`, `group_name`) -) ENGINE = InnoDB - AUTO_INCREMENT = 0 - DEFAULT CHARSET = utf8mb4 COMMENT ='任务实例'; - -CREATE TABLE `sj_job_task_batch` -( - `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', - `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', - `group_name` varchar(64) NOT NULL COMMENT '组名称', - `job_id` bigint(20) NOT NULL COMMENT '任务id', - `workflow_node_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '工作流节点id', - `parent_workflow_node_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '工作流任务父批次id', - `workflow_task_batch_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '工作流任务批次id', - `task_batch_status` tinyint(4) NOT NULL DEFAULT 0 COMMENT '任务批次状态 0、失败 1、成功', - `operation_reason` tinyint(4) NOT NULL DEFAULT 0 COMMENT '操作原因', - `execution_at` bigint(13) NOT NULL DEFAULT 0 COMMENT '任务执行时间', - `system_task_type` tinyint(4) NOT NULL DEFAULT 3 COMMENT '任务类型 3、JOB任务 4、WORKFLOW任务', - `parent_id` varchar(64) NOT NULL DEFAULT '' COMMENT '父节点', - `ext_attrs` varchar(256) NULL DEFAULT '' COMMENT '扩展字段', - `deleted` tinyint(4) NOT NULL DEFAULT 0 COMMENT '逻辑删除 1、删除', - `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', - PRIMARY KEY (`id`), - KEY `idx_job_id_task_batch_status` (`job_id`, `task_batch_status`), - KEY `idx_create_dt` (`create_dt`), - KEY `idx_namespace_id_group_name` (`namespace_id`, `group_name`), - KEY `idx_workflow_task_batch_id_workflow_node_id` (`workflow_task_batch_id`, `workflow_node_id`) -) ENGINE = InnoDB - AUTO_INCREMENT = 0 - DEFAULT CHARSET = utf8mb4 COMMENT ='任务批次'; - -CREATE TABLE `sj_job_summary` -( - `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', - `namespace_id` VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', - `group_name` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '组名称', - `business_id` bigint NOT NULL COMMENT '业务id (job_id或workflow_id)', - `system_task_type` tinyint(4) NOT NULL DEFAULT 3 COMMENT '任务类型 3、JOB任务 4、WORKFLOW任务', - `trigger_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '统计时间', - `success_num` int NOT NULL DEFAULT 0 COMMENT '执行成功-日志数量', - `fail_num` int NOT NULL DEFAULT 0 COMMENT '执行失败-日志数量', - `fail_reason` varchar(512) NOT NULL DEFAULT '' COMMENT '失败原因', - `stop_num` int NOT NULL DEFAULT 0 COMMENT '执行失败-日志数量', - `stop_reason` varchar(512) NOT NULL DEFAULT '' COMMENT '失败原因', - `cancel_num` int NOT NULL DEFAULT 0 COMMENT '执行失败-日志数量', - `cancel_reason` varchar(512) NOT NULL DEFAULT '' COMMENT '失败原因', - `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', - PRIMARY KEY (`id`), - KEY `idx_namespace_id_group_name_business_id` (`namespace_id`, `group_name`, business_id), - UNIQUE KEY `uk_trigger_at_system_task_type_business_id` (`trigger_at`, `system_task_type`, `business_id`) USING BTREE -) ENGINE = InnoDB - AUTO_INCREMENT = 1 - DEFAULT CHARSET = utf8mb4 COMMENT ='DashBoard_Job'; - -CREATE TABLE `sj_retry_summary` -( - `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', - `namespace_id` VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', - `group_name` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '组名称', - `scene_name` VARCHAR(50) NOT NULL DEFAULT '' COMMENT '场景名称', - `trigger_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '统计时间', - `running_num` int NOT NULL DEFAULT 0 COMMENT '重试中-日志数量', - `finish_num` int NOT NULL DEFAULT 0 COMMENT '重试完成-日志数量', - `max_count_num` int NOT NULL DEFAULT 0 COMMENT '重试到达最大次数-日志数量', - `suspend_num` int NOT NULL DEFAULT 0 COMMENT '暂停重试-日志数量', - `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', - PRIMARY KEY (`id`), - KEY `idx_trigger_at` (`trigger_at`), - UNIQUE KEY `uk_scene_name_trigger_at` (`namespace_id`, `group_name`, `scene_name`, `trigger_at`) USING BTREE -) ENGINE = InnoDB - AUTO_INCREMENT = 1 - DEFAULT CHARSET = utf8mb4 COMMENT ='DashBoard_Retry'; - -CREATE TABLE `sj_workflow` -( - `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', - `workflow_name` varchar(64) NOT NULL COMMENT '工作流名称', - `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', - `group_name` varchar(64) NOT NULL COMMENT '组名称', - `workflow_status` tinyint(4) NOT NULL DEFAULT 1 COMMENT '工作流状态 0、关闭、1、开启', - `trigger_type` tinyint(4) NOT NULL COMMENT '触发类型 1.CRON 表达式 2. 固定时间', - `trigger_interval` varchar(255) NOT NULL COMMENT '间隔时长', - `next_trigger_at` bigint(13) NOT NULL COMMENT '下次触发时间', - `block_strategy` tinyint(4) NOT NULL DEFAULT 1 COMMENT '阻塞策略 1、丢弃 2、覆盖 3、并行', - `executor_timeout` int(11) NOT NULL DEFAULT 0 COMMENT '任务执行超时时间,单位秒', - `description` varchar(256) NOT NULL DEFAULT '' COMMENT '描述', - `flow_info` text DEFAULT NULL COMMENT '流程信息', - `wf_context` text DEFAULT NULL COMMENT '上下文', - `bucket_index` int(11) NOT NULL DEFAULT 0 COMMENT 'bucket', - `version` int(11) NOT NULL COMMENT '版本号', - `ext_attrs` varchar(256) NULL DEFAULT '' COMMENT '扩展字段', - `deleted` tinyint(4) NOT NULL DEFAULT 0 COMMENT '逻辑删除 1、删除', - `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', - PRIMARY KEY (`id`), - KEY `idx_create_dt` (`create_dt`), - KEY `idx_namespace_id_group_name` (`namespace_id`, `group_name`) -) ENGINE = InnoDB - AUTO_INCREMENT = 0 - DEFAULT CHARSET = utf8mb4 COMMENT ='工作流'; - -CREATE TABLE `sj_workflow_node` -( - `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', - `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', - `node_name` varchar(64) NOT NULL COMMENT '节点名称', - `group_name` varchar(64) NOT NULL COMMENT '组名称', - `job_id` bigint(20) NOT NULL COMMENT '任务信息id', - `workflow_id` bigint(20) NOT NULL COMMENT '工作流ID', - `node_type` tinyint(4) NOT NULL DEFAULT 1 COMMENT '1、任务节点 2、条件节点', - `expression_type` tinyint(4) NOT NULL DEFAULT 0 COMMENT '1、SpEl、2、Aviator 3、QL', - `fail_strategy` tinyint(4) NOT NULL DEFAULT 1 COMMENT '失败策略 1、跳过 2、阻塞', - `workflow_node_status` tinyint(4) NOT NULL DEFAULT 1 COMMENT '工作流节点状态 0、关闭、1、开启', - `priority_level` int(11) NOT NULL DEFAULT 1 COMMENT '优先级', - `node_info` text DEFAULT NULL COMMENT '节点信息 ', - `version` int(11) NOT NULL COMMENT '版本号', - `ext_attrs` varchar(256) NULL DEFAULT '' COMMENT '扩展字段', - `deleted` tinyint(4) NOT NULL DEFAULT 0 COMMENT '逻辑删除 1、删除', - `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', - PRIMARY KEY (`id`), - KEY `idx_create_dt` (`create_dt`), - KEY `idx_namespace_id_group_name` (`namespace_id`, `group_name`) -) ENGINE = InnoDB - AUTO_INCREMENT = 0 - DEFAULT CHARSET = utf8mb4 COMMENT ='工作流节点'; - -CREATE TABLE `sj_workflow_task_batch` -( - `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', - `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', - `group_name` varchar(64) NOT NULL COMMENT '组名称', - `workflow_id` bigint(20) NOT NULL COMMENT '工作流任务id', - `task_batch_status` tinyint(4) NOT NULL DEFAULT 0 COMMENT '任务批次状态 0、失败 1、成功', - `operation_reason` tinyint(4) NOT NULL DEFAULT 0 COMMENT '操作原因', - `flow_info` text DEFAULT NULL COMMENT '流程信息', - `wf_context` text DEFAULT NULL COMMENT '全局上下文', - `execution_at` bigint(13) NOT NULL DEFAULT 0 COMMENT '任务执行时间', - `ext_attrs` varchar(256) NULL DEFAULT '' COMMENT '扩展字段', - `version` int(11) NOT NULL DEFAULT 1 COMMENT '版本号', - `deleted` tinyint(4) NOT NULL DEFAULT 0 COMMENT '逻辑删除 1、删除', - `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', - PRIMARY KEY (`id`), - KEY `idx_job_id_task_batch_status` (`workflow_id`, `task_batch_status`), - KEY `idx_create_dt` (`create_dt`), - KEY `idx_namespace_id_group_name` (`namespace_id`, `group_name`) -) ENGINE = InnoDB - AUTO_INCREMENT = 0 - DEFAULT CHARSET = utf8mb4 COMMENT ='工作流批次'; diff --git a/im-admin/script/sql/ry_workflow.sql b/im-admin/script/sql/ry_workflow.sql deleted file mode 100644 index e8dc798..0000000 --- a/im-admin/script/sql/ry_workflow.sql +++ /dev/null @@ -1,176 +0,0 @@ -insert into sys_menu values('11616', '工作流' , '0', '6', 'workflow', '', '', '1', '0', 'M', '0', '0', '', 'workflow', 103, 1, sysdate(), NULL, NULL, ''); -insert into sys_menu values('11617', '模型管理', '11616', '2', 'model', 'workflow/model/index', '', '1', '1', 'C', '0', '0', 'workflow:model:list', 'model', 103, 1, sysdate(), NULL, NULL, ''); -insert into sys_menu values('11618', '我的任务', '0', '7', 'task', '', '', '1', '0', 'M', '0', '0', '', 'my-task', 103, 1, sysdate(), NULL, NULL, ''); -insert into sys_menu values('11619', '我的待办', '11618', '2', 'taskWaiting', 'workflow/task/taskWaiting', '', '1', '1', 'C', '0', '0', '', 'waiting', 103, 1, sysdate(), NULL, NULL, ''); -insert into sys_menu values('11632', '我的已办', '11618', '3', 'taskFinish', 'workflow/task/taskFinish', '', '1', '1', 'C', '0', '0', '', 'finish', 103, 1, sysdate(), NULL, NULL, ''); -insert into sys_menu values('11633', '我的抄送', '11618', '4', 'taskCopyList', 'workflow/task/taskCopyList', '', '1', '1', 'C', '0', '0', '', 'my-copy', 103, 1, sysdate(), NULL, NULL, ''); -insert into sys_menu values('11620', '流程定义', '11616', '3', 'processDefinition', 'workflow/processDefinition/index', '', '1', '1', 'C', '0', '0', '', 'process-definition', 103, 1, sysdate(), NULL, NULL, ''); -insert into sys_menu values('11621', '流程实例', '11630', '1', 'processInstance', 'workflow/processInstance/index', '', '1', '1', 'C', '0', '0', '', 'tree-table', 103, 1, sysdate(), NULL, NULL, ''); -insert into sys_menu values('11622', '流程分类', '11616', '1', 'category', 'workflow/category/index', '', '1', '0', 'C', '0', '0', 'workflow:category:list', 'category', 103, 1, sysdate(), NULL, NULL, ''); -insert into sys_menu values('11629', '我发起的', '11618', '1', 'myDocument', 'workflow/task/myDocument', '', '1', '1', 'C', '0', '0', '', 'guide', 103, 1, sysdate(), NULL, NULL, ''); -insert into sys_menu values('11630', '流程监控', '11616', '4', 'monitor', '', '', '1', '0', 'M', '0', '0', '', 'monitor', 103, 1, sysdate(), NULL, NULL, ''); -insert into sys_menu values('11631', '待办任务', '11630', '2', 'allTaskWaiting', 'workflow/task/allTaskWaiting', '', '1', '1', 'C', '0', '0', '', 'waiting', 103, 1, sysdate(), NULL, NULL, ''); - - --- 流程分类管理相关按钮 -insert into sys_menu values ('11623', '流程分类查询', '11622', '1', '#', '', '', 1, 0, 'F', '0', '0', 'workflow:category:query', '#', 103, 1, sysdate(), null, null, ''); -insert into sys_menu values ('11624', '流程分类新增', '11622', '2', '#', '', '', 1, 0, 'F', '0', '0', 'workflow:category:add', '#', 103, 1, sysdate(), null, null, ''); -insert into sys_menu values ('11625', '流程分类修改', '11622', '3', '#', '', '', 1, 0, 'F', '0', '0', 'workflow:category:edit', '#', 103, 1, sysdate(), null, null, ''); -insert into sys_menu values ('11626', '流程分类删除', '11622', '4', '#', '', '', 1, 0, 'F', '0', '0', 'workflow:category:remove','#', 103, 1, sysdate(), null, null, ''); -insert into sys_menu values ('11627', '流程分类导出', '11622', '5', '#', '', '', 1, 0, 'F', '0', '0', 'workflow:category:export','#', 103, 1, sysdate(), null, null, ''); --- 请假单信息 -create table test_leave -( - id bigint not null comment '主键', - leave_type varchar(255) not null comment '请假类型', - start_date datetime not null comment '开始时间', - end_date datetime not null comment '结束时间', - leave_days int(10) not null comment '请假天数', - remark varchar(255) null comment '请假原因', - status varchar(255) null comment '状态', - create_dept bigint null comment '创建部门', - create_by bigint null comment '创建者', - create_time datetime null comment '创建时间', - update_by bigint null comment '更新者', - update_time datetime null comment '更新时间', - tenant_id varchar(20) null comment '租户编号', - PRIMARY KEY (id) USING BTREE -) ENGINE = InnoDB COMMENT = '请假申请表'; - --- 流程分类信息表 -create table wf_category -( - id bigint not null comment '主键' - primary key, - category_name varchar(255) null comment '分类名称', - category_code varchar(255) null comment '分类编码', - parent_id bigint null comment '父级id', - sort_num int(19) null comment '排序', - tenant_id varchar(20) null comment '租户编号', - create_dept bigint null comment '创建部门', - create_by bigint null comment '创建者', - create_time datetime null comment '创建时间', - update_by bigint null comment '更新者', - update_time datetime null comment '更新时间', - constraint uni_category_code - unique (category_code) -) engine=innodb comment= '流程分类'; -INSERT INTO wf_category values (1, 'OA', 'OA', 0, 0, '000000', 103, 1, sysdate(), 1, sysdate()); - -create table wf_task_back_node -( - id bigint not null - primary key, - node_id varchar(255) not null comment '节点id', - node_name varchar(255) not null comment '节点名称', - order_no int not null comment '排序', - instance_id varchar(255) null comment '流程实例id', - task_type varchar(255) not null comment '节点类型', - assignee varchar(2000) not null comment '审批人', - tenant_id varchar(20) null comment '租户编号', - create_dept bigint null comment '创建部门', - create_by bigint null comment '创建者', - create_time datetime null comment '创建时间', - update_by bigint null comment '更新者', - update_time datetime null comment '更新时间' -) - comment '节点审批记录'; - -create table wf_definition_config -( - id bigint not null comment '主键' - primary key, - table_name varchar(255) not null comment '表名', - definition_id varchar(255) not null comment '流程定义ID', - process_key varchar(255) not null comment '流程KEY', - version int(10) not null comment '流程版本', - create_dept bigint null comment '创建部门', - create_by bigint null comment '创建者', - create_time datetime null comment '创建时间', - update_by bigint null comment '更新者', - update_time datetime null comment '更新时间', - remark varchar(500) default '' null comment '备注', - tenant_id varchar(20) null comment '租户编号', - constraint uni_definition_id - unique (definition_id) -) - comment '流程定义配置'; - -create table wf_form_manage -( - id bigint not null comment '主键' - primary key, - form_name varchar(255) not null comment '表单名称', - form_type varchar(255) not null comment '表单类型', - router varchar(255) not null comment '路由地址/表单ID', - remark varchar(500) null comment '备注', - tenant_id varchar(20) null comment '租户编号', - create_dept bigint null comment '创建部门', - create_by bigint null comment '创建者', - create_time datetime null comment '创建时间', - update_by bigint null comment '更新者', - update_time datetime null comment '更新时间' -) - comment '表单管理'; - -insert into wf_form_manage(id, form_name, form_type, router, remark, tenant_id, create_dept, create_by, create_time, update_by, update_time) VALUES (1, '请假申请', 'static', '/workflow/leaveEdit/index', NULL, '000000', 103, 1, sysdate(), 1, sysdate()); - -create table wf_node_config -( - id bigint not null comment '主键' - primary key, - form_id bigint null comment '表单id', - form_type varchar(255) null comment '表单类型', - node_name varchar(255) not null comment '节点名称', - node_id varchar(255) not null comment '节点id', - definition_id varchar(255) not null comment '流程定义id', - apply_user_task char(1) default '0' comment '是否为申请人节点 (0是 1否)', - create_dept bigint null comment '创建部门', - create_by bigint null comment '创建者', - create_time datetime null comment '创建时间', - update_by bigint null comment '更新者', - update_time datetime null comment '更新时间', - tenant_id varchar(20) null comment '租户编号' -) - comment '节点配置'; - - -INSERT INTO sys_menu(menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (11638, '请假申请', 5, 1, 'leave', 'workflow/leave/index', 1, 0, 'C', '0', '0', 'workflow:leave:list', '#', 103, 1, sysdate(), NULL, NULL, '请假申请菜单'); -INSERT INTO sys_menu(menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (11639, '请假申请查询', 11638, 1, '#', '', 1, 0, 'F', '0', '0', 'workflow:leave:query', '#', 103, 1, sysdate(), NULL, NULL, ''); -INSERT INTO sys_menu(menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (11640, '请假申请新增', 11638, 2, '#', '', 1, 0, 'F', '0', '0', 'workflow:leave:add', '#', 103, 1, sysdate(), NULL, NULL, ''); -INSERT INTO sys_menu(menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (11641, '请假申请修改', 11638, 3, '#', '', 1, 0, 'F', '0', '0', 'workflow:leave:edit', '#', 103, 1, sysdate(), NULL, NULL, ''); -INSERT INTO sys_menu(menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (11642, '请假申请删除', 11638, 4, '#', '', 1, 0, 'F', '0', '0', 'workflow:leave:remove', '#', 103, 1, sysdate(), NULL, NULL, ''); -INSERT INTO sys_menu(menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (11643, '请假申请导出', 11638, 5, '#', '', 1, 0, 'F', '0', '0', 'workflow:leave:export', '#', 103, 1, sysdate(), NULL, NULL, ''); - -INSERT INTO sys_dict_type(dict_id, tenant_id, dict_name, dict_type, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (13, '000000', '业务状态', 'wf_business_status', 103, 1, sysdate(), NULL, NULL, '业务状态列表'); -INSERT INTO sys_dict_type(dict_id, tenant_id, dict_name, dict_type, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (14, '000000', '表单类型', 'wf_form_type', 103, 1, sysdate(), NULL, NULL, '表单类型列表'); - -INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (39, '000000', 1, '已撤销', 'cancel', 'wf_business_status', '', 'danger', 'N', 103, 1, sysdate(), NULL, NULL, '已撤销'); -INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (40, '000000', 2, '草稿', 'draft', 'wf_business_status', '', 'info', 'N', 103, 1, sysdate(), NULL, NULL, '草稿'); -INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (41, '000000', 3, '待审核', 'waiting', 'wf_business_status', '', 'primary', 'N', 103, 1,sysdate(), NULL, NULL, '待审核'); -INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (42, '000000', 4, '已完成', 'finish', 'wf_business_status', '', 'success', 'N', 103, 1, sysdate(), NULL, NULL, '已完成'); -INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (43, '000000', 5, '已作废', 'invalid', 'wf_business_status', '', 'danger', 'N', 103, 1, sysdate(), NULL, NULL, '已作废'); -INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (44, '000000', 6, '已退回', 'back', 'wf_business_status', '', 'danger', 'N', 103, 1, sysdate(), NULL, NULL, '已退回'); -INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (45, '000000', 7, '已终止', 'termination', 'wf_business_status', '', 'danger', 'N', 103, 1,sysdate(), NULL, NULL, '已终止'); -INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (46, '000000', 1, '自定义表单', 'static', 'wf_form_type', '', 'success', 'N', 103, 1, sysdate(), NULL, NULL, '自定义表单'); -INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (47, '000000', 2, '动态表单', 'dynamic', 'wf_form_type', '', 'primary', 'N', 103, 1, sysdate(), NULL, NULL, '动态表单'); - --- 表单管理 SQL -insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) -values(11628, '表单管理', '11616', '5', 'formManage', 'workflow/formManage/index', 1, 0, 'C', '0', '0', 'workflow:formManage:list', 'tree-table', 103, 1, sysdate(), null, null, '表单管理菜单'); - --- 表单管理按钮 SQL -insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) -values(11644, '表单管理查询', 11628, '1', '#', '', 1, 0, 'F', '0', '0', 'workflow:formManage:query', '', 103, 1, sysdate(), null, null, ''); - -insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) -values(11645, '表单管理新增', 11628, '2', '#', '', 1, 0, 'F', '0', '0', 'workflow:formManage:add', '', 103, 1, sysdate(), null, null, ''); - -insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) -values(11646, '表单管理修改', 11628, '3', '#', '', 1, 0, 'F', '0', '0', 'workflow:formManage:edit', '', 103, 1, sysdate(), null, null, ''); - -insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) -values(11647, '表单管理删除', 11628, '4', '#', '', 1, 0, 'F', '0', '0', 'workflow:formManage:remove', '', 103, 1, sysdate(), null, null, ''); - -insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) -values(11648, '表单管理导出', 11628, '5', '#', '', 1, 0, 'F', '0', '0', 'workflow:formManage:export', 'tree-table', 103, 1, sysdate(), null, null, ''); diff --git a/im-admin/script/sql/sqlserver/sqlserver_ry_job.sql b/im-admin/script/sql/sqlserver/sqlserver_ry_job.sql deleted file mode 100644 index bcf87f6..0000000 --- a/im-admin/script/sql/sqlserver/sqlserver_ry_job.sql +++ /dev/null @@ -1,2747 +0,0 @@ -/* - SnailJob Database Transfer Tool - Source Server Type : MySQL - Target Server Type : Microsoft SQL Server - Date: 2024-07-06 12:55:47 -*/ - - --- sj_namespace -CREATE TABLE sj_namespace -( - id bigint NOT NULL PRIMARY KEY IDENTITY, - name nvarchar(64) NOT NULL, - unique_id nvarchar(64) NOT NULL, - description nvarchar(256) NOT NULL DEFAULT '', - deleted tinyint NOT NULL DEFAULT 0, - create_dt datetime2 NOT NULL DEFAULT CURRENT_TIMESTAMP, - update_dt datetime2 NOT NULL DEFAULT CURRENT_TIMESTAMP -) -GO - -CREATE INDEX idx_sj_namespace_01 ON sj_namespace (name) -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'主键', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_namespace', - 'COLUMN', N'id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'名称', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_namespace', - 'COLUMN', N'name' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'唯一id', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_namespace', - 'COLUMN', N'unique_id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'描述', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_namespace', - 'COLUMN', N'description' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'逻辑删除 1、删除', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_namespace', - 'COLUMN', N'deleted' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'创建时间', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_namespace', - 'COLUMN', N'create_dt' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'修改时间', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_namespace', - 'COLUMN', N'update_dt' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'命名空间', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_namespace' -GO - -INSERT INTO sj_namespace(name, unique_id, description, deleted, create_dt, update_dt) VALUES (N'Development', N'dev', N'', 0, getdate(), getdate()) -GO -INSERT INTO sj_namespace(name, unique_id, description, deleted, create_dt, update_dt) VALUES (N'Production', N'prod', N'', 0, getdate(), getdate()) -GO - --- sj_group_config -CREATE TABLE sj_group_config -( - id bigint NOT NULL PRIMARY KEY IDENTITY, - namespace_id nvarchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name nvarchar(64) NOT NULL DEFAULT '', - description nvarchar(256) NOT NULL DEFAULT '', - token nvarchar(64) NOT NULL DEFAULT 'SJ_cKqBTPzCsWA3VyuCfFoccmuIEGXjr5KT', - group_status tinyint NOT NULL DEFAULT 0, - version int NOT NULL, - group_partition int NOT NULL, - id_generator_mode tinyint NOT NULL DEFAULT 1, - init_scene tinyint NOT NULL DEFAULT 0, - bucket_index int NOT NULL DEFAULT 0, - create_dt datetime2 NOT NULL DEFAULT CURRENT_TIMESTAMP, - update_dt datetime2 NOT NULL DEFAULT CURRENT_TIMESTAMP -) -GO - -CREATE UNIQUE INDEX uk_sj_group_config_01 ON sj_group_config (namespace_id, group_name) -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'主键', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_group_config', - 'COLUMN', N'id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'命名空间id', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_group_config', - 'COLUMN', N'namespace_id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'组名称', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_group_config', - 'COLUMN', N'group_name' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'组描述', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_group_config', - 'COLUMN', N'description' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'token', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_group_config', - 'COLUMN', N'token' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'组状态 0、未启用 1、启用', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_group_config', - 'COLUMN', N'group_status' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'版本号', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_group_config', - 'COLUMN', N'version' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'分区', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_group_config', - 'COLUMN', N'group_partition' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'唯一id生成模式 默认号段模式', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_group_config', - 'COLUMN', N'id_generator_mode' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'是否初始化场景 0:否 1:是', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_group_config', - 'COLUMN', N'init_scene' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'bucket', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_group_config', - 'COLUMN', N'bucket_index' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'创建时间', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_group_config', - 'COLUMN', N'create_dt' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'修改时间', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_group_config', - 'COLUMN', N'update_dt' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'组配置', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_group_config' -GO - -INSERT INTO sj_group_config(namespace_id, group_name, description, token, group_status, version, group_partition, id_generator_mode, init_scene, bucket_index, create_dt, update_dt) VALUES (N'dev', N'ruoyi_group', N'', N'SJ_cKqBTPzCsWA3VyuCfFoccmuIEGXjr5KT', N'1', N'1', N'0', N'1', N'1', N'4', getdate(), getdate()) -GO -INSERT INTO sj_group_config(namespace_id, group_name, description, token, group_status, version, group_partition, id_generator_mode, init_scene, bucket_index, create_dt, update_dt) VALUES (N'prod', N'ruoyi_group', N'', N'SJ_cKqBTPzCsWA3VyuCfFoccmuIEGXjr5KT', N'1', N'1', N'0', N'1', N'1', N'4', getdate(), getdate()) -GO - --- sj_notify_config -CREATE TABLE sj_notify_config -( - id bigint NOT NULL PRIMARY KEY IDENTITY, - namespace_id nvarchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name nvarchar(64) NOT NULL, - business_id nvarchar(64) NOT NULL, - system_task_type tinyint NOT NULL DEFAULT 3, - notify_status tinyint NOT NULL DEFAULT 0, - recipient_ids nvarchar(128) NOT NULL, - notify_threshold int NOT NULL DEFAULT 0, - notify_scene tinyint NOT NULL DEFAULT 0, - rate_limiter_status tinyint NOT NULL DEFAULT 0, - rate_limiter_threshold int NOT NULL DEFAULT 0, - description nvarchar(256) NOT NULL DEFAULT '', - create_dt datetime2 NOT NULL DEFAULT CURRENT_TIMESTAMP, - update_dt datetime2 NOT NULL DEFAULT CURRENT_TIMESTAMP -) -GO - -CREATE INDEX idx_sj_notify_config_01 ON sj_notify_config (namespace_id, group_name, business_id) -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'主键', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_notify_config', - 'COLUMN', N'id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'命名空间id', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_notify_config', - 'COLUMN', N'namespace_id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'组名称', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_notify_config', - 'COLUMN', N'group_name' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'业务id ( job_id或workflow_id或scene_name ) ', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_notify_config', - 'COLUMN', N'business_id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'任务类型 1. 重试任务 2. 重试回调 3、JOB任务 4、WORKFLOW任务', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_notify_config', - 'COLUMN', N'system_task_type' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'通知状态 0、未启用 1、启用', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_notify_config', - 'COLUMN', N'notify_status' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'接收人id列表', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_notify_config', - 'COLUMN', N'recipient_ids' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'通知阈值', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_notify_config', - 'COLUMN', N'notify_threshold' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'通知场景', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_notify_config', - 'COLUMN', N'notify_scene' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'限流状态 0、未启用 1、启用', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_notify_config', - 'COLUMN', N'rate_limiter_status' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'每秒限流阈值', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_notify_config', - 'COLUMN', N'rate_limiter_threshold' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'描述', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_notify_config', - 'COLUMN', N'description' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'创建时间', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_notify_config', - 'COLUMN', N'create_dt' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'修改时间', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_notify_config', - 'COLUMN', N'update_dt' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'通知配置', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_notify_config' -GO - --- sj_notify_recipient -CREATE TABLE sj_notify_recipient -( - id bigint NOT NULL PRIMARY KEY IDENTITY, - namespace_id nvarchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - recipient_name nvarchar(64) NOT NULL, - notify_type tinyint NOT NULL DEFAULT 0, - notify_attribute nvarchar(512) NOT NULL, - description nvarchar(256) NOT NULL DEFAULT '', - create_dt datetime2 NOT NULL DEFAULT CURRENT_TIMESTAMP, - update_dt datetime2 NOT NULL DEFAULT CURRENT_TIMESTAMP -) -GO - -CREATE INDEX idx_sj_notify_recipient_01 ON sj_notify_recipient (namespace_id) -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'主键', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_notify_recipient', - 'COLUMN', N'id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'命名空间id', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_notify_recipient', - 'COLUMN', N'namespace_id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'接收人名称', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_notify_recipient', - 'COLUMN', N'recipient_name' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'通知类型 1、钉钉 2、邮件 3、企业微信 4 飞书 5 webhook', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_notify_recipient', - 'COLUMN', N'notify_type' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'配置属性', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_notify_recipient', - 'COLUMN', N'notify_attribute' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'描述', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_notify_recipient', - 'COLUMN', N'description' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'创建时间', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_notify_recipient', - 'COLUMN', N'create_dt' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'修改时间', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_notify_recipient', - 'COLUMN', N'update_dt' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'告警通知接收人', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_notify_recipient' -GO - --- sj_retry_dead_letter_0 -CREATE TABLE sj_retry_dead_letter_0 -( - id bigint NOT NULL PRIMARY KEY IDENTITY, - namespace_id nvarchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - unique_id nvarchar(64) NOT NULL, - group_name nvarchar(64) NOT NULL, - scene_name nvarchar(64) NOT NULL, - idempotent_id nvarchar(64) NOT NULL, - biz_no nvarchar(64) NOT NULL DEFAULT '', - executor_name nvarchar(512) NOT NULL DEFAULT '', - args_str nvarchar(max) NOT NULL, - ext_attrs nvarchar(max) NOT NULL, - task_type tinyint NOT NULL DEFAULT 1, - create_dt datetime2 NOT NULL DEFAULT CURRENT_TIMESTAMP -) -GO - -CREATE UNIQUE INDEX uk_sj_retry_dead_letter_0_01 ON sj_retry_dead_letter_0 (namespace_id, group_name, unique_id) -GO - -CREATE INDEX idx_sj_retry_dead_letter_0_01 ON sj_retry_dead_letter_0 (namespace_id, group_name, scene_name) -GO -CREATE INDEX idx_sj_retry_dead_letter_0_02 ON sj_retry_dead_letter_0 (idempotent_id) -GO -CREATE INDEX idx_sj_retry_dead_letter_0_03 ON sj_retry_dead_letter_0 (biz_no) -GO -CREATE INDEX idx_sj_retry_dead_letter_0_04 ON sj_retry_dead_letter_0 (create_dt) -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'主键', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_dead_letter_0', - 'COLUMN', N'id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'命名空间id', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_dead_letter_0', - 'COLUMN', N'namespace_id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'同组下id唯一', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_dead_letter_0', - 'COLUMN', N'unique_id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'组名称', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_dead_letter_0', - 'COLUMN', N'group_name' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'场景名称', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_dead_letter_0', - 'COLUMN', N'scene_name' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'幂等id', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_dead_letter_0', - 'COLUMN', N'idempotent_id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'业务编号', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_dead_letter_0', - 'COLUMN', N'biz_no' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'执行器名称', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_dead_letter_0', - 'COLUMN', N'executor_name' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'执行方法参数', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_dead_letter_0', - 'COLUMN', N'args_str' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'扩展字段', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_dead_letter_0', - 'COLUMN', N'ext_attrs' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'任务类型 1、重试数据 2、回调数据', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_dead_letter_0', - 'COLUMN', N'task_type' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'创建时间', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_dead_letter_0', - 'COLUMN', N'create_dt' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'死信队列表', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_dead_letter_0' -GO - --- sj_retry_task_0 -CREATE TABLE sj_retry_task_0 -( - id bigint NOT NULL PRIMARY KEY IDENTITY, - namespace_id nvarchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - unique_id nvarchar(64) NOT NULL, - group_name nvarchar(64) NOT NULL, - scene_name nvarchar(64) NOT NULL, - idempotent_id nvarchar(64) NOT NULL, - biz_no nvarchar(64) NOT NULL DEFAULT '', - executor_name nvarchar(512) NOT NULL DEFAULT '', - args_str nvarchar(max) NOT NULL, - ext_attrs nvarchar(max) NOT NULL, - next_trigger_at datetime2 NOT NULL, - retry_count int NOT NULL DEFAULT 0, - retry_status tinyint NOT NULL DEFAULT 0, - task_type tinyint NOT NULL DEFAULT 1, - create_dt datetime2 NOT NULL DEFAULT CURRENT_TIMESTAMP, - update_dt datetime2 NOT NULL DEFAULT CURRENT_TIMESTAMP -) -GO - -CREATE UNIQUE INDEX uk_sj_retry_task_0_01 ON sj_retry_task_0 (namespace_id, group_name, unique_id) -GO - -CREATE INDEX idx_sj_retry_task_0_01 ON sj_retry_task_0 (namespace_id, group_name, scene_name) -GO -CREATE INDEX idx_sj_retry_task_0_02 ON sj_retry_task_0 (namespace_id, group_name, task_type) -GO -CREATE INDEX idx_sj_retry_task_0_03 ON sj_retry_task_0 (namespace_id, group_name, retry_status) -GO -CREATE INDEX idx_sj_retry_task_0_04 ON sj_retry_task_0 (idempotent_id) -GO -CREATE INDEX idx_sj_retry_task_0_05 ON sj_retry_task_0 (biz_no) -GO -CREATE INDEX idx_sj_retry_task_0_06 ON sj_retry_task_0 (create_dt) -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'主键', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_task_0', - 'COLUMN', N'id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'命名空间id', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_task_0', - 'COLUMN', N'namespace_id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'同组下id唯一', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_task_0', - 'COLUMN', N'unique_id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'组名称', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_task_0', - 'COLUMN', N'group_name' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'场景名称', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_task_0', - 'COLUMN', N'scene_name' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'幂等id', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_task_0', - 'COLUMN', N'idempotent_id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'业务编号', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_task_0', - 'COLUMN', N'biz_no' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'执行器名称', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_task_0', - 'COLUMN', N'executor_name' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'执行方法参数', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_task_0', - 'COLUMN', N'args_str' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'扩展字段', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_task_0', - 'COLUMN', N'ext_attrs' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'下次触发时间', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_task_0', - 'COLUMN', N'next_trigger_at' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'重试次数', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_task_0', - 'COLUMN', N'retry_count' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'重试状态 0、重试中 1、成功 2、最大重试次数', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_task_0', - 'COLUMN', N'retry_status' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'任务类型 1、重试数据 2、回调数据', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_task_0', - 'COLUMN', N'task_type' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'创建时间', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_task_0', - 'COLUMN', N'create_dt' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'修改时间', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_task_0', - 'COLUMN', N'update_dt' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'任务表', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_task_0' -GO - --- sj_retry_task_log -CREATE TABLE sj_retry_task_log -( - id bigint NOT NULL PRIMARY KEY IDENTITY, - namespace_id nvarchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - unique_id nvarchar(64) NOT NULL, - group_name nvarchar(64) NOT NULL, - scene_name nvarchar(64) NOT NULL, - idempotent_id nvarchar(64) NOT NULL, - biz_no nvarchar(64) NOT NULL DEFAULT '', - executor_name nvarchar(512) NOT NULL DEFAULT '', - args_str nvarchar(max) NOT NULL, - ext_attrs nvarchar(max) NOT NULL, - retry_status tinyint NOT NULL DEFAULT 0, - task_type tinyint NOT NULL DEFAULT 1, - create_dt datetime2 NOT NULL DEFAULT CURRENT_TIMESTAMP, - update_dt datetime2 NOT NULL DEFAULT CURRENT_TIMESTAMP -) -GO - -CREATE INDEX idx_sj_retry_task_log_01 ON sj_retry_task_log (namespace_id, group_name, scene_name) -GO -CREATE INDEX idx_sj_retry_task_log_02 ON sj_retry_task_log (retry_status) -GO -CREATE INDEX idx_sj_retry_task_log_03 ON sj_retry_task_log (idempotent_id) -GO -CREATE INDEX idx_sj_retry_task_log_04 ON sj_retry_task_log (unique_id) -GO -CREATE INDEX idx_sj_retry_task_log_05 ON sj_retry_task_log (biz_no) -GO -CREATE INDEX idx_sj_retry_task_log_06 ON sj_retry_task_log (create_dt) -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'主键', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_task_log', - 'COLUMN', N'id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'命名空间id', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_task_log', - 'COLUMN', N'namespace_id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'同组下id唯一', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_task_log', - 'COLUMN', N'unique_id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'组名称', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_task_log', - 'COLUMN', N'group_name' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'场景名称', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_task_log', - 'COLUMN', N'scene_name' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'幂等id', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_task_log', - 'COLUMN', N'idempotent_id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'业务编号', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_task_log', - 'COLUMN', N'biz_no' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'执行器名称', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_task_log', - 'COLUMN', N'executor_name' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'执行方法参数', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_task_log', - 'COLUMN', N'args_str' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'扩展字段', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_task_log', - 'COLUMN', N'ext_attrs' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'重试状态 0、重试中 1、成功 2、最大次数', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_task_log', - 'COLUMN', N'retry_status' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'任务类型 1、重试数据 2、回调数据', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_task_log', - 'COLUMN', N'task_type' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'创建时间', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_task_log', - 'COLUMN', N'create_dt' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'修改时间', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_task_log', - 'COLUMN', N'update_dt' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'任务日志基础信息表', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_task_log' -GO - --- sj_retry_task_log_message -CREATE TABLE sj_retry_task_log_message -( - id bigint NOT NULL PRIMARY KEY IDENTITY, - namespace_id nvarchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name nvarchar(64) NOT NULL, - unique_id nvarchar(64) NOT NULL, - message nvarchar(max) NOT NULL, - log_num int NOT NULL DEFAULT 1, - real_time bigint NOT NULL DEFAULT 0, - create_dt datetime2 NOT NULL DEFAULT CURRENT_TIMESTAMP -) -GO - -CREATE INDEX idx_sj_retry_task_log_message_01 ON sj_retry_task_log_message (namespace_id, group_name, unique_id) -GO -CREATE INDEX idx_sj_retry_task_log_message_02 ON sj_retry_task_log_message (create_dt) -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'主键', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_task_log_message', - 'COLUMN', N'id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'命名空间id', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_task_log_message', - 'COLUMN', N'namespace_id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'组名称', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_task_log_message', - 'COLUMN', N'group_name' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'同组下id唯一', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_task_log_message', - 'COLUMN', N'unique_id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'异常信息', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_task_log_message', - 'COLUMN', N'message' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'日志数量', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_task_log_message', - 'COLUMN', N'log_num' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'上报时间', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_task_log_message', - 'COLUMN', N'real_time' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'创建时间', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_task_log_message', - 'COLUMN', N'create_dt' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'任务调度日志信息记录表', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_task_log_message' -GO - --- sj_retry_scene_config -CREATE TABLE sj_retry_scene_config -( - id bigint NOT NULL PRIMARY KEY IDENTITY, - namespace_id nvarchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - scene_name nvarchar(64) NOT NULL, - group_name nvarchar(64) NOT NULL, - scene_status tinyint NOT NULL DEFAULT 0, - max_retry_count int NOT NULL DEFAULT 5, - back_off tinyint NOT NULL DEFAULT 1, - trigger_interval nvarchar(16) NOT NULL DEFAULT '', - deadline_request bigint NOT NULL DEFAULT 60000, - executor_timeout int NOT NULL DEFAULT 5, - route_key tinyint NOT NULL DEFAULT 4, - description nvarchar(256) NOT NULL DEFAULT '', - create_dt datetime2 NOT NULL DEFAULT CURRENT_TIMESTAMP, - update_dt datetime2 NOT NULL DEFAULT CURRENT_TIMESTAMP -) -GO - -CREATE UNIQUE INDEX uk_sj_retry_scene_config_01 ON sj_retry_scene_config (namespace_id, group_name, scene_name) -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'主键', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_scene_config', - 'COLUMN', N'id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'命名空间id', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_scene_config', - 'COLUMN', N'namespace_id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'场景名称', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_scene_config', - 'COLUMN', N'scene_name' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'组名称', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_scene_config', - 'COLUMN', N'group_name' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'组状态 0、未启用 1、启用', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_scene_config', - 'COLUMN', N'scene_status' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'最大重试次数', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_scene_config', - 'COLUMN', N'max_retry_count' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'1、默认等级 2、固定间隔时间 3、CRON 表达式', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_scene_config', - 'COLUMN', N'back_off' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'间隔时长', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_scene_config', - 'COLUMN', N'trigger_interval' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'Deadline Request 调用链超时 单位毫秒', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_scene_config', - 'COLUMN', N'deadline_request' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'任务执行超时时间,单位秒', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_scene_config', - 'COLUMN', N'executor_timeout' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'路由策略', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_scene_config', - 'COLUMN', N'route_key' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'描述', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_scene_config', - 'COLUMN', N'description' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'创建时间', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_scene_config', - 'COLUMN', N'create_dt' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'修改时间', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_scene_config', - 'COLUMN', N'update_dt' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'场景配置', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_scene_config' -GO - --- sj_server_node -CREATE TABLE sj_server_node -( - id bigint NOT NULL PRIMARY KEY IDENTITY, - namespace_id nvarchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name nvarchar(64) NOT NULL, - host_id nvarchar(64) NOT NULL, - host_ip nvarchar(64) NOT NULL, - host_port int NOT NULL, - expire_at datetime2 NOT NULL, - node_type tinyint NOT NULL, - ext_attrs nvarchar(256) NULL DEFAULT '', - create_dt datetime2 NOT NULL DEFAULT CURRENT_TIMESTAMP, - update_dt datetime2 NOT NULL DEFAULT CURRENT_TIMESTAMP -) -GO - -CREATE UNIQUE INDEX uk_sj_server_node_01 ON sj_server_node (host_id, host_ip) -GO - -CREATE INDEX idx_sj_server_node_01 ON sj_server_node (namespace_id, group_name) -GO -CREATE INDEX idx_sj_server_node_02 ON sj_server_node (expire_at, node_type) -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'主键', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_server_node', - 'COLUMN', N'id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'命名空间id', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_server_node', - 'COLUMN', N'namespace_id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'组名称', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_server_node', - 'COLUMN', N'group_name' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'主机id', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_server_node', - 'COLUMN', N'host_id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'机器ip', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_server_node', - 'COLUMN', N'host_ip' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'机器端口', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_server_node', - 'COLUMN', N'host_port' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'过期时间', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_server_node', - 'COLUMN', N'expire_at' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'节点类型 1、客户端 2、是服务端', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_server_node', - 'COLUMN', N'node_type' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'扩展字段', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_server_node', - 'COLUMN', N'ext_attrs' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'创建时间', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_server_node', - 'COLUMN', N'create_dt' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'修改时间', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_server_node', - 'COLUMN', N'update_dt' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'服务器节点', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_server_node' -GO - --- sj_distributed_lock -CREATE TABLE sj_distributed_lock -( - name nvarchar(64) NOT NULL PRIMARY KEY, - lock_until datetime2 NOT NULL DEFAULT CURRENT_TIMESTAMP, - locked_at datetime2 NOT NULL DEFAULT CURRENT_TIMESTAMP, - locked_by nvarchar(255) NOT NULL, - create_dt datetime2 NOT NULL DEFAULT CURRENT_TIMESTAMP, - update_dt datetime2 NOT NULL DEFAULT CURRENT_TIMESTAMP -) -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'锁名称', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_distributed_lock', - 'COLUMN', N'name' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'锁定时长', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_distributed_lock', - 'COLUMN', N'lock_until' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'锁定时间', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_distributed_lock', - 'COLUMN', N'locked_at' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'锁定者', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_distributed_lock', - 'COLUMN', N'locked_by' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'创建时间', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_distributed_lock', - 'COLUMN', N'create_dt' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'修改时间', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_distributed_lock', - 'COLUMN', N'update_dt' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'锁定表', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_distributed_lock' -GO - --- sj_system_user -CREATE TABLE sj_system_user -( - id bigint NOT NULL PRIMARY KEY IDENTITY, - username nvarchar(64) NOT NULL, - password nvarchar(128) NOT NULL, - role tinyint NOT NULL DEFAULT 0, - create_dt datetime2 NOT NULL DEFAULT CURRENT_TIMESTAMP, - update_dt datetime2 NOT NULL DEFAULT CURRENT_TIMESTAMP -) -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'主键', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_system_user', - 'COLUMN', N'id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'账号', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_system_user', - 'COLUMN', N'username' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'密码', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_system_user', - 'COLUMN', N'password' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'角色:1-普通用户、2-管理员', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_system_user', - 'COLUMN', N'role' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'创建时间', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_system_user', - 'COLUMN', N'create_dt' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'修改时间', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_system_user', - 'COLUMN', N'update_dt' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'系统用户表', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_system_user' -GO - --- pwd: admin -INSERT INTO sj_system_user(username, password, role, create_dt, update_dt) VALUES (N'admin', N'465c194afb65670f38322df087f0a9bb225cc257e43eb4ac5a0c98ef5b3173ac', N'2', getdate(), getdate()) -GO - --- sj_system_user_permission -CREATE TABLE sj_system_user_permission -( - id bigint NOT NULL PRIMARY KEY IDENTITY, - group_name nvarchar(64) NOT NULL, - namespace_id nvarchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - system_user_id bigint NOT NULL, - create_dt datetime2 NOT NULL DEFAULT CURRENT_TIMESTAMP, - update_dt datetime2 NOT NULL DEFAULT CURRENT_TIMESTAMP -) -GO - -CREATE UNIQUE INDEX uk_sj_system_user_permission_01 ON sj_system_user_permission (namespace_id, group_name, system_user_id) -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'主键', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_system_user_permission', - 'COLUMN', N'id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'组名称', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_system_user_permission', - 'COLUMN', N'group_name' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'命名空间id', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_system_user_permission', - 'COLUMN', N'namespace_id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'系统用户id', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_system_user_permission', - 'COLUMN', N'system_user_id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'创建时间', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_system_user_permission', - 'COLUMN', N'create_dt' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'修改时间', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_system_user_permission', - 'COLUMN', N'update_dt' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'系统用户权限表', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_system_user_permission' -GO - --- sj_sequence_alloc -CREATE TABLE sj_sequence_alloc -( - id bigint NOT NULL PRIMARY KEY IDENTITY, - namespace_id nvarchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name nvarchar(64) NOT NULL DEFAULT '', - max_id bigint NOT NULL DEFAULT 1, - step int NOT NULL DEFAULT 100, - update_dt datetime2 NOT NULL DEFAULT CURRENT_TIMESTAMP -) -GO - -CREATE UNIQUE INDEX uk_sj_sequence_alloc_01 ON sj_sequence_alloc (namespace_id, group_name) -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'主键', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_sequence_alloc', - 'COLUMN', N'id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'命名空间id', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_sequence_alloc', - 'COLUMN', N'namespace_id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'组名称', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_sequence_alloc', - 'COLUMN', N'group_name' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'最大id', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_sequence_alloc', - 'COLUMN', N'max_id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'步长', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_sequence_alloc', - 'COLUMN', N'step' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'更新时间', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_sequence_alloc', - 'COLUMN', N'update_dt' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'号段模式序号ID分配表', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_sequence_alloc' -GO - --- sj_job -CREATE TABLE sj_job -( - id bigint NOT NULL PRIMARY KEY IDENTITY, - namespace_id nvarchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name nvarchar(64) NOT NULL, - job_name nvarchar(64) NOT NULL, - args_str nvarchar(max) NULL DEFAULT NULL, - args_type tinyint NOT NULL DEFAULT 1, - next_trigger_at bigint NOT NULL, - job_status tinyint NOT NULL DEFAULT 1, - task_type tinyint NOT NULL DEFAULT 1, - route_key tinyint NOT NULL DEFAULT 4, - executor_type tinyint NOT NULL DEFAULT 1, - executor_info nvarchar(255) NULL DEFAULT NULL, - trigger_type tinyint NOT NULL, - trigger_interval nvarchar(255) NOT NULL, - block_strategy tinyint NOT NULL DEFAULT 1, - executor_timeout int NOT NULL DEFAULT 0, - max_retry_times int NOT NULL DEFAULT 0, - parallel_num int NOT NULL DEFAULT 1, - retry_interval int NOT NULL DEFAULT 0, - bucket_index int NOT NULL DEFAULT 0, - resident tinyint NOT NULL DEFAULT 0, - description nvarchar(256) NOT NULL DEFAULT '', - ext_attrs nvarchar(256) NULL DEFAULT '', - deleted tinyint NOT NULL DEFAULT 0, - create_dt datetime2 NOT NULL DEFAULT CURRENT_TIMESTAMP, - update_dt datetime2 NOT NULL DEFAULT CURRENT_TIMESTAMP -) -GO - -CREATE INDEX idx_sj_job_01 ON sj_job (namespace_id, group_name) -GO -CREATE INDEX idx_sj_job_02 ON sj_job (job_status, bucket_index) -GO -CREATE INDEX idx_sj_job_03 ON sj_job (create_dt) -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'主键', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job', - 'COLUMN', N'id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'命名空间id', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job', - 'COLUMN', N'namespace_id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'组名称', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job', - 'COLUMN', N'group_name' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'名称', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job', - 'COLUMN', N'job_name' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'执行方法参数', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job', - 'COLUMN', N'args_str' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'参数类型 ', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job', - 'COLUMN', N'args_type' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'下次触发时间', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job', - 'COLUMN', N'next_trigger_at' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'任务状态 0、关闭、1、开启', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job', - 'COLUMN', N'job_status' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'任务类型 1、集群 2、广播 3、切片', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job', - 'COLUMN', N'task_type' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'路由策略', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job', - 'COLUMN', N'route_key' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'执行器类型', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job', - 'COLUMN', N'executor_type' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'执行器名称', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job', - 'COLUMN', N'executor_info' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'触发类型 1.CRON 表达式 2. 固定时间', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job', - 'COLUMN', N'trigger_type' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'间隔时长', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job', - 'COLUMN', N'trigger_interval' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'阻塞策略 1、丢弃 2、覆盖 3、并行', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job', - 'COLUMN', N'block_strategy' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'任务执行超时时间,单位秒', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job', - 'COLUMN', N'executor_timeout' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'最大重试次数', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job', - 'COLUMN', N'max_retry_times' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'并行数', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job', - 'COLUMN', N'parallel_num' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'重试间隔 ( s ) ', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job', - 'COLUMN', N'retry_interval' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'bucket', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job', - 'COLUMN', N'bucket_index' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'是否是常驻任务', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job', - 'COLUMN', N'resident' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'描述', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job', - 'COLUMN', N'description' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'扩展字段', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job', - 'COLUMN', N'ext_attrs' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'逻辑删除 1、删除', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job', - 'COLUMN', N'deleted' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'创建时间', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job', - 'COLUMN', N'create_dt' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'修改时间', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job', - 'COLUMN', N'update_dt' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'任务信息', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job' -GO - -INSERT INTO sj_job (namespace_id, group_name, job_name, args_str, args_type, next_trigger_at, job_status, task_type, route_key, executor_type, executor_info, trigger_type, trigger_interval, block_strategy,executor_timeout, max_retry_times, parallel_num, retry_interval, bucket_index, resident, description, ext_attrs, deleted, create_dt, update_dt) VALUES (N'dev', N'ruoyi_group', N'demo-job', null, 1, 1710344035622, 1, 1, 4, 1, N'testJobExecutor', 2, N'60', 1, 60, 3, 1, 1, 116, 0, N'', N'', 0, getdate(), getdate()) -GO - --- sj_job_log_message -CREATE TABLE sj_job_log_message -( - id bigint NOT NULL PRIMARY KEY IDENTITY, - namespace_id nvarchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name nvarchar(64) NOT NULL, - job_id bigint NOT NULL, - task_batch_id bigint NOT NULL, - task_id bigint NOT NULL, - message nvarchar(max) NOT NULL, - log_num int NOT NULL DEFAULT 1, - real_time bigint NOT NULL DEFAULT 0, - ext_attrs nvarchar(256) NULL DEFAULT '', - create_dt datetime2 NOT NULL DEFAULT CURRENT_TIMESTAMP -) -GO - -CREATE INDEX idx_sj_job_log_message_01 ON sj_job_log_message (task_batch_id, task_id) -GO -CREATE INDEX idx_sj_job_log_message_02 ON sj_job_log_message (create_dt) -GO -CREATE INDEX idx_sj_job_log_message_03 ON sj_job_log_message (namespace_id, group_name) -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'主键', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job_log_message', - 'COLUMN', N'id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'命名空间id', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job_log_message', - 'COLUMN', N'namespace_id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'组名称', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job_log_message', - 'COLUMN', N'group_name' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'任务信息id', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job_log_message', - 'COLUMN', N'job_id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'任务批次id', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job_log_message', - 'COLUMN', N'task_batch_id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'调度任务id', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job_log_message', - 'COLUMN', N'task_id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'调度信息', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job_log_message', - 'COLUMN', N'message' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'日志数量', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job_log_message', - 'COLUMN', N'log_num' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'上报时间', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job_log_message', - 'COLUMN', N'real_time' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'扩展字段', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job_log_message', - 'COLUMN', N'ext_attrs' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'创建时间', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job_log_message', - 'COLUMN', N'create_dt' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'调度日志', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job_log_message' -GO - --- sj_job_task -CREATE TABLE sj_job_task -( - id bigint NOT NULL PRIMARY KEY IDENTITY, - namespace_id nvarchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name nvarchar(64) NOT NULL, - job_id bigint NOT NULL, - task_batch_id bigint NOT NULL, - parent_id bigint NOT NULL DEFAULT 0, - task_status tinyint NOT NULL DEFAULT 0, - retry_count int NOT NULL DEFAULT 0, - mr_stage tinyint NULL DEFAULT NULL, - leaf tinyint NOT NULL DEFAULT '1', - task_name nvarchar(255) NOT NULL DEFAULT '', - client_info nvarchar(128) NULL DEFAULT NULL, - wf_context nvarchar(max) NULL DEFAULT NULL, - result_message nvarchar(max) NOT NULL, - args_str nvarchar(max) NULL DEFAULT NULL, - args_type tinyint NOT NULL DEFAULT 1, - ext_attrs nvarchar(256) NULL DEFAULT '', - create_dt datetime2 NOT NULL DEFAULT CURRENT_TIMESTAMP, - update_dt datetime2 NOT NULL DEFAULT CURRENT_TIMESTAMP -) -GO - -CREATE INDEX idx_sj_job_task_01 ON sj_job_task (task_batch_id, task_status) -GO -CREATE INDEX idx_sj_job_task_02 ON sj_job_task (create_dt) -GO -CREATE INDEX idx_sj_job_task_03 ON sj_job_task (namespace_id, group_name) -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'主键', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job_task', - 'COLUMN', N'id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'命名空间id', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job_task', - 'COLUMN', N'namespace_id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'组名称', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job_task', - 'COLUMN', N'group_name' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'任务信息id', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job_task', - 'COLUMN', N'job_id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'调度任务id', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job_task', - 'COLUMN', N'task_batch_id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'父执行器id', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job_task', - 'COLUMN', N'parent_id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'执行的状态 0、失败 1、成功', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job_task', - 'COLUMN', N'task_status' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'重试次数', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job_task', - 'COLUMN', N'retry_count' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'动态分片所处阶段 1:map 2:reduce 3:mergeReduce', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job_task', - 'COLUMN', N'mr_stage' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'叶子节点', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job_task', - 'COLUMN', N'leaf' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'任务名称', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job_task', - 'COLUMN', N'task_name' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'客户端地址 clientId#ip:port', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job_task', - 'COLUMN', N'client_info' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'工作流全局上下文', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job_task', - 'COLUMN', N'wf_context' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'执行结果', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job_task', - 'COLUMN', N'result_message' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'执行方法参数', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job_task', - 'COLUMN', N'args_str' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'参数类型 ', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job_task', - 'COLUMN', N'args_type' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'扩展字段', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job_task', - 'COLUMN', N'ext_attrs' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'创建时间', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job_task', - 'COLUMN', N'create_dt' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'修改时间', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job_task', - 'COLUMN', N'update_dt' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'任务实例', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job_task' -GO - --- sj_job_task_batch -CREATE TABLE sj_job_task_batch -( - id bigint NOT NULL PRIMARY KEY IDENTITY, - namespace_id nvarchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name nvarchar(64) NOT NULL, - job_id bigint NOT NULL, - workflow_node_id bigint NOT NULL DEFAULT 0, - parent_workflow_node_id bigint NOT NULL DEFAULT 0, - workflow_task_batch_id bigint NOT NULL DEFAULT 0, - task_batch_status tinyint NOT NULL DEFAULT 0, - operation_reason tinyint NOT NULL DEFAULT 0, - execution_at bigint NOT NULL DEFAULT 0, - system_task_type tinyint NOT NULL DEFAULT 3, - parent_id nvarchar(64) NOT NULL DEFAULT '', - ext_attrs nvarchar(256) NULL DEFAULT '', - deleted tinyint NOT NULL DEFAULT 0, - create_dt datetime2 NOT NULL DEFAULT CURRENT_TIMESTAMP, - update_dt datetime2 NOT NULL DEFAULT CURRENT_TIMESTAMP -) -GO - -CREATE INDEX idx_sj_job_task_batch_01 ON sj_job_task_batch (job_id, task_batch_status) -GO -CREATE INDEX idx_sj_job_task_batch_02 ON sj_job_task_batch (create_dt) -GO -CREATE INDEX idx_sj_job_task_batch_03 ON sj_job_task_batch (namespace_id, group_name) -GO -CREATE INDEX idx_sj_job_task_batch_04 ON sj_job_task_batch (workflow_task_batch_id, workflow_node_id) -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'主键', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job_task_batch', - 'COLUMN', N'id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'命名空间id', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job_task_batch', - 'COLUMN', N'namespace_id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'组名称', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job_task_batch', - 'COLUMN', N'group_name' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'任务id', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job_task_batch', - 'COLUMN', N'job_id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'工作流节点id', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job_task_batch', - 'COLUMN', N'workflow_node_id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'工作流任务父批次id', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job_task_batch', - 'COLUMN', N'parent_workflow_node_id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'工作流任务批次id', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job_task_batch', - 'COLUMN', N'workflow_task_batch_id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'任务批次状态 0、失败 1、成功', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job_task_batch', - 'COLUMN', N'task_batch_status' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'操作原因', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job_task_batch', - 'COLUMN', N'operation_reason' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'任务执行时间', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job_task_batch', - 'COLUMN', N'execution_at' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'任务类型 3、JOB任务 4、WORKFLOW任务', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job_task_batch', - 'COLUMN', N'system_task_type' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'父节点', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job_task_batch', - 'COLUMN', N'parent_id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'扩展字段', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job_task_batch', - 'COLUMN', N'ext_attrs' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'逻辑删除 1、删除', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job_task_batch', - 'COLUMN', N'deleted' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'创建时间', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job_task_batch', - 'COLUMN', N'create_dt' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'修改时间', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job_task_batch', - 'COLUMN', N'update_dt' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'任务批次', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job_task_batch' -GO - --- sj_job_summary -CREATE TABLE sj_job_summary -( - id bigint NOT NULL PRIMARY KEY IDENTITY, - namespace_id nvarchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name nvarchar(64) NOT NULL DEFAULT '', - business_id bigint NOT NULL, - system_task_type tinyint NOT NULL DEFAULT 3, - trigger_at datetime2 NOT NULL DEFAULT CURRENT_TIMESTAMP, - success_num int NOT NULL DEFAULT 0, - fail_num int NOT NULL DEFAULT 0, - fail_reason nvarchar(512) NOT NULL DEFAULT '', - stop_num int NOT NULL DEFAULT 0, - stop_reason nvarchar(512) NOT NULL DEFAULT '', - cancel_num int NOT NULL DEFAULT 0, - cancel_reason nvarchar(512) NOT NULL DEFAULT '', - create_dt datetime2 NOT NULL DEFAULT CURRENT_TIMESTAMP, - update_dt datetime2 NOT NULL DEFAULT CURRENT_TIMESTAMP -) -GO - -CREATE UNIQUE INDEX uk_sj_job_summary_01 ON sj_job_summary (trigger_at, system_task_type, business_id) -GO - -CREATE INDEX idx_sj_job_summary_01 ON sj_job_summary (namespace_id, group_name, business_id) -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'主键', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job_summary', - 'COLUMN', N'id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'命名空间id', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job_summary', - 'COLUMN', N'namespace_id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'组名称', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job_summary', - 'COLUMN', N'group_name' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'业务id ( job_id或workflow_id ) ', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job_summary', - 'COLUMN', N'business_id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'任务类型 3、JOB任务 4、WORKFLOW任务', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job_summary', - 'COLUMN', N'system_task_type' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'统计时间', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job_summary', - 'COLUMN', N'trigger_at' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'执行成功-日志数量', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job_summary', - 'COLUMN', N'success_num' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'执行失败-日志数量', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job_summary', - 'COLUMN', N'fail_num' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'失败原因', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job_summary', - 'COLUMN', N'fail_reason' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'执行失败-日志数量', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job_summary', - 'COLUMN', N'stop_num' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'失败原因', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job_summary', - 'COLUMN', N'stop_reason' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'执行失败-日志数量', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job_summary', - 'COLUMN', N'cancel_num' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'失败原因', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job_summary', - 'COLUMN', N'cancel_reason' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'创建时间', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job_summary', - 'COLUMN', N'create_dt' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'修改时间', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job_summary', - 'COLUMN', N'update_dt' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'DashBoard_Job', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_job_summary' -GO - --- sj_retry_summary -CREATE TABLE sj_retry_summary -( - id bigint NOT NULL PRIMARY KEY IDENTITY, - namespace_id nvarchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name nvarchar(64) NOT NULL DEFAULT '', - scene_name nvarchar(50) NOT NULL DEFAULT '', - trigger_at datetime2 NOT NULL DEFAULT CURRENT_TIMESTAMP, - running_num int NOT NULL DEFAULT 0, - finish_num int NOT NULL DEFAULT 0, - max_count_num int NOT NULL DEFAULT 0, - suspend_num int NOT NULL DEFAULT 0, - create_dt datetime2 NOT NULL DEFAULT CURRENT_TIMESTAMP, - update_dt datetime2 NOT NULL DEFAULT CURRENT_TIMESTAMP -) -GO - -CREATE UNIQUE INDEX uk_sj_retry_summary_01 ON sj_retry_summary (namespace_id, group_name, scene_name, trigger_at) -GO - -CREATE INDEX idx_sj_retry_summary_01 ON sj_retry_summary (trigger_at) -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'主键', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_summary', - 'COLUMN', N'id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'命名空间id', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_summary', - 'COLUMN', N'namespace_id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'组名称', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_summary', - 'COLUMN', N'group_name' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'场景名称', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_summary', - 'COLUMN', N'scene_name' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'统计时间', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_summary', - 'COLUMN', N'trigger_at' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'重试中-日志数量', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_summary', - 'COLUMN', N'running_num' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'重试完成-日志数量', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_summary', - 'COLUMN', N'finish_num' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'重试到达最大次数-日志数量', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_summary', - 'COLUMN', N'max_count_num' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'暂停重试-日志数量', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_summary', - 'COLUMN', N'suspend_num' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'创建时间', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_summary', - 'COLUMN', N'create_dt' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'修改时间', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_summary', - 'COLUMN', N'update_dt' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'DashBoard_Retry', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_retry_summary' -GO - --- sj_workflow -CREATE TABLE sj_workflow -( - id bigint NOT NULL PRIMARY KEY IDENTITY, - workflow_name nvarchar(64) NOT NULL, - namespace_id nvarchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name nvarchar(64) NOT NULL, - workflow_status tinyint NOT NULL DEFAULT 1, - trigger_type tinyint NOT NULL, - trigger_interval nvarchar(255) NOT NULL, - next_trigger_at bigint NOT NULL, - block_strategy tinyint NOT NULL DEFAULT 1, - executor_timeout int NOT NULL DEFAULT 0, - description nvarchar(256) NOT NULL DEFAULT '', - flow_info nvarchar(max) NULL DEFAULT NULL, - wf_context nvarchar(max) NULL DEFAULT NULL, - bucket_index int NOT NULL DEFAULT 0, - version int NOT NULL, - ext_attrs nvarchar(256) NULL DEFAULT '', - deleted tinyint NOT NULL DEFAULT 0, - create_dt datetime2 NOT NULL DEFAULT CURRENT_TIMESTAMP, - update_dt datetime2 NOT NULL DEFAULT CURRENT_TIMESTAMP -) -GO - -CREATE INDEX idx_sj_workflow_01 ON sj_workflow (create_dt) -GO -CREATE INDEX idx_sj_workflow_02 ON sj_workflow (namespace_id, group_name) -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'主键', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_workflow', - 'COLUMN', N'id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'工作流名称', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_workflow', - 'COLUMN', N'workflow_name' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'命名空间id', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_workflow', - 'COLUMN', N'namespace_id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'组名称', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_workflow', - 'COLUMN', N'group_name' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'工作流状态 0、关闭、1、开启', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_workflow', - 'COLUMN', N'workflow_status' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'触发类型 1.CRON 表达式 2. 固定时间', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_workflow', - 'COLUMN', N'trigger_type' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'间隔时长', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_workflow', - 'COLUMN', N'trigger_interval' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'下次触发时间', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_workflow', - 'COLUMN', N'next_trigger_at' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'阻塞策略 1、丢弃 2、覆盖 3、并行', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_workflow', - 'COLUMN', N'block_strategy' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'任务执行超时时间,单位秒', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_workflow', - 'COLUMN', N'executor_timeout' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'描述', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_workflow', - 'COLUMN', N'description' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'流程信息', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_workflow', - 'COLUMN', N'flow_info' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'上下文', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_workflow', - 'COLUMN', N'wf_context' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'bucket', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_workflow', - 'COLUMN', N'bucket_index' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'版本号', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_workflow', - 'COLUMN', N'version' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'扩展字段', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_workflow', - 'COLUMN', N'ext_attrs' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'逻辑删除 1、删除', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_workflow', - 'COLUMN', N'deleted' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'创建时间', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_workflow', - 'COLUMN', N'create_dt' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'修改时间', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_workflow', - 'COLUMN', N'update_dt' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'工作流', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_workflow' -GO - --- sj_workflow_node -CREATE TABLE sj_workflow_node -( - id bigint NOT NULL PRIMARY KEY IDENTITY, - namespace_id nvarchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - node_name nvarchar(64) NOT NULL, - group_name nvarchar(64) NOT NULL, - job_id bigint NOT NULL, - workflow_id bigint NOT NULL, - node_type tinyint NOT NULL DEFAULT 1, - expression_type tinyint NOT NULL DEFAULT 0, - fail_strategy tinyint NOT NULL DEFAULT 1, - workflow_node_status tinyint NOT NULL DEFAULT 1, - priority_level int NOT NULL DEFAULT 1, - node_info nvarchar(max) NULL DEFAULT NULL, - version int NOT NULL, - ext_attrs nvarchar(256) NULL DEFAULT '', - deleted tinyint NOT NULL DEFAULT 0, - create_dt datetime2 NOT NULL DEFAULT CURRENT_TIMESTAMP, - update_dt datetime2 NOT NULL DEFAULT CURRENT_TIMESTAMP -) -GO - -CREATE INDEX idx_sj_workflow_node_01 ON sj_workflow_node (create_dt) -GO -CREATE INDEX idx_sj_workflow_node_02 ON sj_workflow_node (namespace_id, group_name) -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'主键', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_workflow_node', - 'COLUMN', N'id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'命名空间id', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_workflow_node', - 'COLUMN', N'namespace_id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'节点名称', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_workflow_node', - 'COLUMN', N'node_name' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'组名称', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_workflow_node', - 'COLUMN', N'group_name' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'任务信息id', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_workflow_node', - 'COLUMN', N'job_id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'工作流ID', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_workflow_node', - 'COLUMN', N'workflow_id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'1、任务节点 2、条件节点', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_workflow_node', - 'COLUMN', N'node_type' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'1、SpEl、2、Aviator 3、QL', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_workflow_node', - 'COLUMN', N'expression_type' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'失败策略 1、跳过 2、阻塞', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_workflow_node', - 'COLUMN', N'fail_strategy' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'工作流节点状态 0、关闭、1、开启', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_workflow_node', - 'COLUMN', N'workflow_node_status' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'优先级', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_workflow_node', - 'COLUMN', N'priority_level' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'节点信息 ', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_workflow_node', - 'COLUMN', N'node_info' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'版本号', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_workflow_node', - 'COLUMN', N'version' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'扩展字段', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_workflow_node', - 'COLUMN', N'ext_attrs' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'逻辑删除 1、删除', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_workflow_node', - 'COLUMN', N'deleted' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'创建时间', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_workflow_node', - 'COLUMN', N'create_dt' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'修改时间', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_workflow_node', - 'COLUMN', N'update_dt' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'工作流节点', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_workflow_node' -GO - --- sj_workflow_task_batch -CREATE TABLE sj_workflow_task_batch -( - id bigint NOT NULL PRIMARY KEY IDENTITY, - namespace_id nvarchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name nvarchar(64) NOT NULL, - workflow_id bigint NOT NULL, - task_batch_status tinyint NOT NULL DEFAULT 0, - operation_reason tinyint NOT NULL DEFAULT 0, - flow_info nvarchar(max) NULL DEFAULT NULL, - wf_context nvarchar(max) NULL DEFAULT NULL, - execution_at bigint NOT NULL DEFAULT 0, - ext_attrs nvarchar(256) NULL DEFAULT '', - version int NOT NULL DEFAULT 1, - deleted tinyint NOT NULL DEFAULT 0, - create_dt datetime2 NOT NULL DEFAULT CURRENT_TIMESTAMP, - update_dt datetime2 NOT NULL DEFAULT CURRENT_TIMESTAMP -) -GO - -CREATE INDEX idx_sj_workflow_task_batch_01 ON sj_workflow_task_batch (workflow_id, task_batch_status) -GO -CREATE INDEX idx_sj_workflow_task_batch_02 ON sj_workflow_task_batch (create_dt) -GO -CREATE INDEX idx_sj_workflow_task_batch_03 ON sj_workflow_task_batch (namespace_id, group_name) -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'主键', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_workflow_task_batch', - 'COLUMN', N'id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'命名空间id', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_workflow_task_batch', - 'COLUMN', N'namespace_id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'组名称', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_workflow_task_batch', - 'COLUMN', N'group_name' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'工作流任务id', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_workflow_task_batch', - 'COLUMN', N'workflow_id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'任务批次状态 0、失败 1、成功', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_workflow_task_batch', - 'COLUMN', N'task_batch_status' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'操作原因', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_workflow_task_batch', - 'COLUMN', N'operation_reason' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'流程信息', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_workflow_task_batch', - 'COLUMN', N'flow_info' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'全局上下文', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_workflow_task_batch', - 'COLUMN', N'wf_context' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'任务执行时间', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_workflow_task_batch', - 'COLUMN', N'execution_at' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'扩展字段', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_workflow_task_batch', - 'COLUMN', N'ext_attrs' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'版本号', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_workflow_task_batch', - 'COLUMN', N'version' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'逻辑删除 1、删除', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_workflow_task_batch', - 'COLUMN', N'deleted' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'创建时间', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_workflow_task_batch', - 'COLUMN', N'create_dt' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'修改时间', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_workflow_task_batch', - 'COLUMN', N'update_dt' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'工作流批次', - 'SCHEMA', N'dbo', - 'TABLE', N'sj_workflow_task_batch' -GO - diff --git a/im-admin/script/sql/sqlserver/sqlserver_ry_vue_5.X.sql b/im-admin/script/sql/sqlserver/sqlserver_ry_vue_5.X.sql deleted file mode 100644 index ad9a0b5..0000000 --- a/im-admin/script/sql/sqlserver/sqlserver_ry_vue_5.X.sql +++ /dev/null @@ -1,3549 +0,0 @@ -create table sys_social -( - id bigint NOT NULL, - user_id bigint NOT NULL, - tenant_id nvarchar(20) NULL, - auth_id nvarchar(255) NOT NULL, - source nvarchar(255) NOT NULL, - open_id nvarchar(255) NULL, - user_name nvarchar(30) NOT NULL, - nick_name nvarchar(30) DEFAULT ('') NULL, - email nvarchar(255) DEFAULT ('') NULL, - avatar nvarchar(500) DEFAULT ('') NULL, - access_token nvarchar(255) NOT NULL, - expire_in bigint NULL, - refresh_token nvarchar(255) NULL, - access_code nvarchar(255) NULL, - union_id nvarchar(255) NULL, - scope nvarchar(255) NULL, - token_type nvarchar(255) NULL, - id_token nvarchar(2000) NULL, - mac_algorithm nvarchar(255) NULL, - mac_key nvarchar(255) NULL, - code nvarchar(255) NULL, - oauth_token nvarchar(255) NULL, - oauth_token_secret nvarchar(255) NULL, - create_dept bigint, - create_by bigint, - create_time datetime2(7), - update_by bigint, - update_time datetime2(7), - del_flag nchar DEFAULT ('0') NULL, - CONSTRAINT PK__sys_social__B21E8F2427725F8A PRIMARY KEY CLUSTERED (id) - WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) - ON [PRIMARY] -) -ON [PRIMARY] -GO - -EXEC sys.sp_addextendedproperty - 'MS_Description', N'id' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_social', - 'COLUMN', N'id' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'用户ID' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_social', - 'COLUMN', N'user_id' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'租户id' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_social', - 'COLUMN', N'tenant_id' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'平台+平台唯一id' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_social', - 'COLUMN', N'auth_id' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'用户来源' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_social', - 'COLUMN', N'source' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'平台编号唯一id' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_social', - 'COLUMN', N'open_id' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'登录账号' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_social', - 'COLUMN', N'user_name' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'用户昵称' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_social', - 'COLUMN', N'nick_name' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'用户邮箱' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_social', - 'COLUMN', N'email' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'头像地址' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_social', - 'COLUMN', N'avatar' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'用户的授权令牌' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_social', - 'COLUMN', N'access_token' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'用户的授权令牌的有效期,部分平台可能没有' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_social', - 'COLUMN', N'expire_in' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'刷新令牌,部分平台可能没有' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_social', - 'COLUMN', N'refresh_token' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'平台的授权信息,部分平台可能没有' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_social', - 'COLUMN', N'access_code' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'用户的 unionid' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_social', - 'COLUMN', N'union_id' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'授予的权限,部分平台可能没有' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_social', - 'COLUMN', N'scope' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'个别平台的授权信息,部分平台可能没有' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_social', - 'COLUMN', N'token_type' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'id token,部分平台可能没有' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_social', - 'COLUMN', N'id_token' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'小米平台用户的附带属性,部分平台可能没有' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_social', - 'COLUMN', N'mac_algorithm' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'小米平台用户的附带属性,部分平台可能没有' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_social', - 'COLUMN', N'mac_key' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'用户的授权code,部分平台可能没有' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_social', - 'COLUMN', N'code' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'Twitter平台用户的附带属性,部分平台可能没有' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_social', - 'COLUMN', N'oauth_token' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'Twitter平台用户的附带属性,部分平台可能没有' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_social', - 'COLUMN', N'oauth_token_secret' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'删除标志(0代表存在 2代表删除)' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_social', - 'COLUMN', N'del_flag' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'创建部门' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_social', - 'COLUMN', N'create_dept' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'创建者' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_social', - 'COLUMN', N'create_by' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'创建时间' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_social', - 'COLUMN', N'create_time' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'更新者' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_social', - 'COLUMN', N'update_by' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'更新时间' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_social', - 'COLUMN', N'update_time' -GO - - -CREATE TABLE sys_tenant -( - id bigint NOT NULL, - tenant_id nvarchar(20) NOT NULL, - contact_user_name nvarchar(20) NULL, - contact_phone nvarchar(20) NULL, - company_name nvarchar(50) NULL, - license_number nvarchar(30) NULL, - address nvarchar(200) NULL, - intro nvarchar(200) NULL, - domain nvarchar(200) NULL, - remark nvarchar(200) NULL, - package_id bigint NULL, - expire_time datetime2(7) NULL, - account_count int DEFAULT ((-1)) NULL, - status nchar(1) DEFAULT ('0') NULL, - del_flag nchar(1) DEFAULT ('0') NULL, - create_dept bigint NULL, - create_by bigint NULL, - create_time datetime2(7) NULL, - update_by bigint NULL, - update_time datetime2(7) NULL, - CONSTRAINT PK__sys_tenant__B21E8F2427725F8A PRIMARY KEY CLUSTERED (id) - WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) - ON [PRIMARY] -) -ON [PRIMARY] -GO - -EXEC sys.sp_addextendedproperty - 'MS_Description', N'id' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_tenant', - 'COLUMN', N'id' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'租户编号' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_tenant', - 'COLUMN', N'tenant_id' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'联系人' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_tenant', - 'COLUMN', N'contact_user_name' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'联系电话' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_tenant', - 'COLUMN', N'contact_phone' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'企业名称' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_tenant', - 'COLUMN', N'company_name' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'统一社会信用代码' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_tenant', - 'COLUMN', N'license_number' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'地址' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_tenant', - 'COLUMN', N'address' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'企业简介' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_tenant', - 'COLUMN', N'intro' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'域名' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_tenant', - 'COLUMN', N'domain' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'备注' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_tenant', - 'COLUMN', N'remark' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'租户套餐编号' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_tenant', - 'COLUMN', N'package_id' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'过期时间' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_tenant', - 'COLUMN', N'expire_time' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'用户数量(-1不限制)' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_tenant', - 'COLUMN', N'account_count' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'租户状态(0正常 1停用)' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_tenant', - 'COLUMN', N'status' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'删除标志(0代表存在 2代表删除)' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_tenant', - 'COLUMN', N'del_flag' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'创建部门' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_tenant', - 'COLUMN', N'create_dept' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'创建者' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_tenant', - 'COLUMN', N'create_by' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'创建时间' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_tenant', - 'COLUMN', N'create_time' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'更新者' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_tenant', - 'COLUMN', N'update_by' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'更新时间' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_tenant', - 'COLUMN', N'update_time' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'租户表' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_tenant' -GO - -INSERT sys_tenant VALUES (1, N'000000', N'管理组', N'15888888888', N'XXX有限公司', NULL, NULL, N'多租户通用后台管理管理系统', NULL, NULL, NULL, NULL, -1, N'0', N'0', 103, 1, getdate(), NULL, NULL) -GO - - -CREATE TABLE sys_tenant_package -( - package_id bigint NOT NULL, - package_name nvarchar(20) NOT NULL, - menu_ids nvarchar(20) NULL, - remark nvarchar(200) NULL, - menu_check_strictly tinyint DEFAULT ((1)) NULL, - status nchar(1) DEFAULT ('0') NULL, - del_flag nchar(1) DEFAULT ('0') NULL, - create_dept bigint NULL, - create_by bigint NULL, - create_time datetime2(7) NULL, - update_by bigint NULL, - update_time datetime2(7) NULL, - CONSTRAINT PK__sys_tenant_package__B21E8F2427725F8A PRIMARY KEY CLUSTERED (package_id) - WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) - ON [PRIMARY] -) -ON [PRIMARY] -GO - -EXEC sys.sp_addextendedproperty - 'MS_Description', N'租户套餐id' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_tenant_package', - 'COLUMN', N'package_id' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'套餐名称' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_tenant_package', - 'COLUMN', N'package_name' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'关联菜单id' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_tenant_package', - 'COLUMN', N'menu_ids' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'备注' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_tenant_package', - 'COLUMN', N'remark' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'租户状态(0正常 1停用)' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_tenant_package', - 'COLUMN', N'status' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'删除标志(0代表存在 2代表删除)' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_tenant_package', - 'COLUMN', N'del_flag' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'创建部门' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_tenant_package', - 'COLUMN', N'create_dept' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'创建者' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_tenant_package', - 'COLUMN', N'create_by' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'创建时间' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_tenant_package', - 'COLUMN', N'create_time' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'更新者' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_tenant_package', - 'COLUMN', N'update_by' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'更新时间' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_tenant_package', - 'COLUMN', N'update_time' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'租户套餐表' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_tenant_package' -GO - - -CREATE TABLE gen_table -( - table_id bigint NOT NULL, - data_name nvarchar(200) DEFAULT '' NULL, - table_name nvarchar(200) DEFAULT '' NULL, - table_comment nvarchar(500) DEFAULT '' NULL, - sub_table_name nvarchar(64) NULL, - sub_table_fk_name nvarchar(64) NULL, - class_name nvarchar(100) DEFAULT '' NULL, - tpl_category nvarchar(200) DEFAULT ('crud') NULL, - package_name nvarchar(100) NULL, - module_name nvarchar(30) NULL, - business_name nvarchar(30) NULL, - function_name nvarchar(50) NULL, - function_author nvarchar(50) NULL, - gen_type nchar(1) DEFAULT ('0') NULL, - gen_path nvarchar(200) DEFAULT ('/') NULL, - options nvarchar(1000) NULL, - create_dept bigint NULL, - create_by bigint NULL, - create_time datetime2(7) NULL, - update_by bigint NULL, - update_time datetime2(7) NULL, - remark nvarchar(500) NULL, - CONSTRAINT PK__gen_tabl__B21E8F2427725F8A PRIMARY KEY CLUSTERED (table_id) - WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) - ON [PRIMARY] -) -ON [PRIMARY] -GO - -EXEC sys.sp_addextendedproperty - 'MS_Description', N'编号' , - 'SCHEMA', N'dbo', - 'TABLE', N'gen_table', - 'COLUMN', N'table_id' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'数据源名称' , - 'SCHEMA', N'dbo', - 'TABLE', N'gen_table', - 'COLUMN', N'data_name' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'表名称' , - 'SCHEMA', N'dbo', - 'TABLE', N'gen_table', - 'COLUMN', N'table_name' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'表描述' , - 'SCHEMA', N'dbo', - 'TABLE', N'gen_table', - 'COLUMN', N'table_comment' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'关联子表的表名' , - 'SCHEMA', N'dbo', - 'TABLE', N'gen_table', - 'COLUMN', N'sub_table_name' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'子表关联的外键名' , - 'SCHEMA', N'dbo', - 'TABLE', N'gen_table', - 'COLUMN', N'sub_table_fk_name' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'实体类名称' , - 'SCHEMA', N'dbo', - 'TABLE', N'gen_table', - 'COLUMN', N'class_name' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'使用的模板(crud单表操作 tree树表操作)' , - 'SCHEMA', N'dbo', - 'TABLE', N'gen_table', - 'COLUMN', N'tpl_category' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'生成包路径' , - 'SCHEMA', N'dbo', - 'TABLE', N'gen_table', - 'COLUMN', N'package_name' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'生成模块名' , - 'SCHEMA', N'dbo', - 'TABLE', N'gen_table', - 'COLUMN', N'module_name' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'生成业务名' , - 'SCHEMA', N'dbo', - 'TABLE', N'gen_table', - 'COLUMN', N'business_name' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'生成功能名' , - 'SCHEMA', N'dbo', - 'TABLE', N'gen_table', - 'COLUMN', N'function_name' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'生成功能作者' , - 'SCHEMA', N'dbo', - 'TABLE', N'gen_table', - 'COLUMN', N'function_author' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'生成代码方式(0zip压缩包 1自定义路径)' , - 'SCHEMA', N'dbo', - 'TABLE', N'gen_table', - 'COLUMN', N'gen_type' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'生成路径(不填默认项目路径)' , - 'SCHEMA', N'dbo', - 'TABLE', N'gen_table', - 'COLUMN', N'gen_path' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'其它生成选项' , - 'SCHEMA', N'dbo', - 'TABLE', N'gen_table', - 'COLUMN', N'options' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'创建部门' , - 'SCHEMA', N'dbo', - 'TABLE', N'gen_table', - 'COLUMN', N'create_dept' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'创建者' , - 'SCHEMA', N'dbo', - 'TABLE', N'gen_table', - 'COLUMN', N'create_by' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'创建时间' , - 'SCHEMA', N'dbo', - 'TABLE', N'gen_table', - 'COLUMN', N'create_time' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'更新者' , - 'SCHEMA', N'dbo', - 'TABLE', N'gen_table', - 'COLUMN', N'update_by' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'更新时间' , - 'SCHEMA', N'dbo', - 'TABLE', N'gen_table', - 'COLUMN', N'update_time' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'备注' , - 'SCHEMA', N'dbo', - 'TABLE', N'gen_table', - 'COLUMN', N'remark' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'代码生成业务表' , - 'SCHEMA', N'dbo', - 'TABLE', N'gen_table' -GO - -CREATE TABLE gen_table_column -( - column_id bigint NOT NULL, - table_id bigint NULL, - column_name nvarchar(200) NULL, - column_comment nvarchar(500) NULL, - column_type nvarchar(100) NULL, - java_type nvarchar(500) NULL, - java_field nvarchar(200) NULL, - is_pk nchar(1) NULL, - is_increment nchar(1) NULL, - is_required nchar(1) NULL, - is_insert nchar(1) NULL, - is_edit nchar(1) NULL, - is_list nchar(1) NULL, - is_query nchar(1) NULL, - query_type nvarchar(200) DEFAULT ('EQ') NULL, - html_type nvarchar(200) NULL, - dict_type nvarchar(200) DEFAULT '' NULL, - sort int NULL, - create_dept bigint NULL, - create_by bigint NULL, - create_time datetime2(7) NULL, - update_by bigint NULL, - update_time datetime2(7) NULL, - CONSTRAINT PK__gen_tabl__E301851F2E68B4E8 PRIMARY KEY CLUSTERED (column_id) - WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) - ON [PRIMARY] -) -ON [PRIMARY] -GO - -EXEC sys.sp_addextendedproperty - 'MS_Description', N'编号' , - 'SCHEMA', N'dbo', - 'TABLE', N'gen_table_column', - 'COLUMN', N'column_id' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'归属表编号' , - 'SCHEMA', N'dbo', - 'TABLE', N'gen_table_column', - 'COLUMN', N'table_id' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'列名称' , - 'SCHEMA', N'dbo', - 'TABLE', N'gen_table_column', - 'COLUMN', N'column_name' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'列描述' , - 'SCHEMA', N'dbo', - 'TABLE', N'gen_table_column', - 'COLUMN', N'column_comment' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'列类型' , - 'SCHEMA', N'dbo', - 'TABLE', N'gen_table_column', - 'COLUMN', N'column_type' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'JAVA类型' , - 'SCHEMA', N'dbo', - 'TABLE', N'gen_table_column', - 'COLUMN', N'java_type' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'JAVA字段名' , - 'SCHEMA', N'dbo', - 'TABLE', N'gen_table_column', - 'COLUMN', N'java_field' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'是否主键(1是)' , - 'SCHEMA', N'dbo', - 'TABLE', N'gen_table_column', - 'COLUMN', N'is_pk' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'是否自增(1是)' , - 'SCHEMA', N'dbo', - 'TABLE', N'gen_table_column', - 'COLUMN', N'is_increment' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'是否必填(1是)' , - 'SCHEMA', N'dbo', - 'TABLE', N'gen_table_column', - 'COLUMN', N'is_required' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'是否为插入字段(1是)' , - 'SCHEMA', N'dbo', - 'TABLE', N'gen_table_column', - 'COLUMN', N'is_insert' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'是否编辑字段(1是)' , - 'SCHEMA', N'dbo', - 'TABLE', N'gen_table_column', - 'COLUMN', N'is_edit' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'是否列表字段(1是)' , - 'SCHEMA', N'dbo', - 'TABLE', N'gen_table_column', - 'COLUMN', N'is_list' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'是否查询字段(1是)' , - 'SCHEMA', N'dbo', - 'TABLE', N'gen_table_column', - 'COLUMN', N'is_query' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'查询方式(等于、不等于、大于、小于、范围)' , - 'SCHEMA', N'dbo', - 'TABLE', N'gen_table_column', - 'COLUMN', N'query_type' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'显示类型(文本框、文本域、下拉框、复选框、单选框、日期控件)' , - 'SCHEMA', N'dbo', - 'TABLE', N'gen_table_column', - 'COLUMN', N'html_type' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'字典类型' , - 'SCHEMA', N'dbo', - 'TABLE', N'gen_table_column', - 'COLUMN', N'dict_type' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'排序' , - 'SCHEMA', N'dbo', - 'TABLE', N'gen_table_column', - 'COLUMN', N'sort' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'创建部门' , - 'SCHEMA', N'dbo', - 'TABLE', N'gen_table_column', - 'COLUMN', N'create_dept' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'创建者' , - 'SCHEMA', N'dbo', - 'TABLE', N'gen_table_column', - 'COLUMN', N'create_by' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'创建时间' , - 'SCHEMA', N'dbo', - 'TABLE', N'gen_table_column', - 'COLUMN', N'create_time' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'更新者' , - 'SCHEMA', N'dbo', - 'TABLE', N'gen_table_column', - 'COLUMN', N'update_by' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'更新时间' , - 'SCHEMA', N'dbo', - 'TABLE', N'gen_table_column', - 'COLUMN', N'update_time' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'代码生成业务表字段' , - 'SCHEMA', N'dbo', - 'TABLE', N'gen_table_column' -GO - -CREATE TABLE sys_config -( - config_id bigint NOT NULL, - tenant_id nvarchar(20) DEFAULT '000000' NULL, - config_name nvarchar(100) DEFAULT '' NULL, - config_key nvarchar(100) DEFAULT '' NULL, - config_value nvarchar(500) DEFAULT '' NULL, - config_type nchar(1) DEFAULT ('N') NULL, - create_dept bigint NULL, - create_by bigint NULL, - create_time datetime2(7) NULL, - update_by bigint NULL, - update_time datetime2(7) NULL, - remark nvarchar(500) NULL, - CONSTRAINT PK__sys_conf__4AD1BFF182643682 PRIMARY KEY CLUSTERED (config_id) - WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) - ON [PRIMARY] -) -ON [PRIMARY] -GO - -EXEC sys.sp_addextendedproperty - 'MS_Description', N'参数主键' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_config', - 'COLUMN', N'config_id' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'租户编号' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_config', - 'COLUMN', N'tenant_id' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'参数名称' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_config', - 'COLUMN', N'config_name' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'参数键名' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_config', - 'COLUMN', N'config_key' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'参数键值' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_config', - 'COLUMN', N'config_value' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'系统内置(Y是 N否)' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_config', - 'COLUMN', N'config_type' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'创建部门' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_config', - 'COLUMN', N'create_dept' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'创建者' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_config', - 'COLUMN', N'create_by' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'创建时间' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_config', - 'COLUMN', N'create_time' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'更新者' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_config', - 'COLUMN', N'update_by' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'更新时间' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_config', - 'COLUMN', N'update_time' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'备注' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_config', - 'COLUMN', N'remark' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'参数配置表' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_config' -GO - -INSERT sys_config VALUES (1, N'000000', N'主框架页-默认皮肤样式名称', N'sys.index.skinName', N'skin-blue', N'Y', 103, 1, getdate(), NULL, NULL, N'蓝色 skin-blue、绿色 skin-green、紫色 skin-purple、红色 skin-red、黄色 skin-yellow') -GO -INSERT sys_config VALUES (2, N'000000', N'用户管理-账号初始密码', N'sys.user.initPassword', N'123456', N'Y', 103, 1, getdate(), NULL, NULL, N'初始化密码 123456') -GO -INSERT sys_config VALUES (3, N'000000', N'主框架页-侧边栏主题', N'sys.index.sideTheme', N'theme-dark', N'Y', 103, 1, getdate(), NULL, NULL, N'深色主题theme-dark,浅色主题theme-light') -GO -INSERT sys_config VALUES (5, N'000000', N'账号自助-是否开启用户注册功能', N'sys.account.registerUser', N'false', N'Y', 103, 1, getdate(), NULL, NULL, N'是否开启注册用户功能(true开启,false关闭)') -GO -INSERT sys_config VALUES (11, N'000000', N'OSS预览列表资源开关', N'sys.oss.previewListResource', N'true', N'Y', 103, 1, getdate(), NULL, NULL, N'true:开启, false:关闭'); -GO - -CREATE TABLE sys_dept -( - dept_id bigint NOT NULL, - tenant_id nvarchar(20) DEFAULT ('000000') NULL, - parent_id bigint DEFAULT ((0)) NULL, - ancestors nvarchar(500)DEFAULT '' NULL, - dept_name nvarchar(30) NULL, - dept_category nvarchar(100) DEFAULT '' NULL, - order_num int DEFAULT ((0)) NULL, - leader bigint NULL, - phone nvarchar(11) NULL, - email nvarchar(50) NULL, - status nchar(1) DEFAULT ('0') NULL, - del_flag nchar(1) DEFAULT ('0') NULL, - create_dept bigint NULL, - create_by bigint NULL, - create_time datetime2(7) NULL, - update_by bigint NULL, - update_time datetime2(7) NULL, - CONSTRAINT PK__sys_dept__DCA659747DE13804 PRIMARY KEY CLUSTERED (dept_id) - WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) - ON [PRIMARY] -) -ON [PRIMARY] -GO - -EXEC sys.sp_addextendedproperty - 'MS_Description', N'部门id' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_dept', - 'COLUMN', N'dept_id' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'租户编号' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_dept', - 'COLUMN', N'tenant_id' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'父部门id' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_dept', - 'COLUMN', N'parent_id' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'祖级列表' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_dept', - 'COLUMN', N'ancestors' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'部门名称' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_dept', - 'COLUMN', N'dept_name' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'部门类别编码' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_dept', - 'COLUMN', N'dept_category' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'显示顺序' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_dept', - 'COLUMN', N'order_num' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'负责人' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_dept', - 'COLUMN', N'leader' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'联系电话' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_dept', - 'COLUMN', N'phone' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'邮箱' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_dept', - 'COLUMN', N'email' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'部门状态(0正常 1停用)' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_dept', - 'COLUMN', N'status' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'删除标志(0代表存在 2代表删除)' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_dept', - 'COLUMN', N'del_flag' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'创建部门' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_dept', - 'COLUMN', N'create_dept' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'创建者' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_dept', - 'COLUMN', N'create_by' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'创建时间' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_dept', - 'COLUMN', N'create_time' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'更新者' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_dept', - 'COLUMN', N'update_by' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'更新时间' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_dept', - 'COLUMN', N'update_time' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'部门表' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_dept' -GO - -INSERT sys_dept VALUES (100, N'000000', 0, N'0', N'XXX科技', NULL, 0, NULL, N'15888888888', N'xxx@qq.com', N'0', N'0', 103, 1, getdate(), NULL, NULL) -GO -INSERT sys_dept VALUES (101, N'000000', 100, N'0,100', N'深圳总公司', NULL, 1, NULL, N'15888888888', N'xxx@qq.com', N'0', N'0', 103, 1, getdate(), NULL, NULL) -GO -INSERT sys_dept VALUES (102, N'000000', 100, N'0,100', N'长沙分公司', NULL, 2, NULL, N'15888888888', N'xxx@qq.com', N'0', N'0', 103, 1, getdate(), NULL, NULL) -GO -INSERT sys_dept VALUES (103, N'000000', 101, N'0,100,101', N'研发部门', NULL, 1, 1, N'15888888888', N'xxx@qq.com', N'0', N'0', 103, 1, getdate(), NULL, NULL) -GO -INSERT sys_dept VALUES (104, N'000000', 101, N'0,100,101', N'市场部门', NULL, 2, NULL, N'15888888888', N'xxx@qq.com', N'0', N'0', 103, 1, getdate(), NULL, NULL) -GO -INSERT sys_dept VALUES (105, N'000000', 101, N'0,100,101', N'测试部门', NULL, 3, NULL, N'15888888888', N'xxx@qq.com', N'0', N'0', 103, 1, getdate(), NULL, NULL) -GO -INSERT sys_dept VALUES (106, N'000000', 101, N'0,100,101', N'财务部门', NULL, 4, NULL, N'15888888888', N'xxx@qq.com', N'0', N'0', 103, 1, getdate(), NULL, NULL) -GO -INSERT sys_dept VALUES (107, N'000000', 101, N'0,100,101', N'运维部门', NULL, 5, NULL, N'15888888888', N'xxx@qq.com', N'0', N'0', 103, 1, getdate(), NULL, NULL) -GO -INSERT sys_dept VALUES (108, N'000000', 102, N'0,100,102', N'市场部门', NULL, 1, NULL, N'15888888888', N'xxx@qq.com', N'0', N'0', 103, 1, getdate(), NULL, NULL) -GO -INSERT sys_dept VALUES (109, N'000000', 102, N'0,100,102', N'财务部门', NULL, 2, NULL, N'15888888888', N'xxx@qq.com', N'0', N'0', 103, 1, getdate(), NULL, NULL) -GO - -CREATE TABLE sys_dict_data -( - dict_code bigint NOT NULL, - tenant_id nvarchar(20) DEFAULT ('000000') NULL, - dict_sort int DEFAULT ((0)) NULL, - dict_label nvarchar(100) DEFAULT '' NULL, - dict_value nvarchar(100) DEFAULT '' NULL, - dict_type nvarchar(100) DEFAULT '' NULL, - css_class nvarchar(100) NULL, - list_class nvarchar(100) NULL, - is_default nchar(1) DEFAULT ('N') NULL, - create_dept bigint NULL, - create_by bigint NULL, - create_time datetime2(7) NULL, - update_by bigint NULL, - update_time datetime2(7) NULL, - remark nvarchar(500) NULL, - CONSTRAINT PK__sys_dict__19CBC34B661AF3B3 PRIMARY KEY CLUSTERED (dict_code) - WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) - ON [PRIMARY] -) -ON [PRIMARY] -GO - -EXEC sys.sp_addextendedproperty - 'MS_Description', N'字典编码' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_dict_data', - 'COLUMN', N'dict_code' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'字典编码' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_dict_data', - 'COLUMN', N'tenant_id' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'字典排序' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_dict_data', - 'COLUMN', N'dict_sort' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'字典标签' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_dict_data', - 'COLUMN', N'dict_label' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'字典键值' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_dict_data', - 'COLUMN', N'dict_value' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'字典类型' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_dict_data', - 'COLUMN', N'dict_type' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'样式属性(其他样式扩展)' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_dict_data', - 'COLUMN', N'css_class' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'表格回显样式' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_dict_data', - 'COLUMN', N'list_class' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'是否默认(Y是 N否)' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_dict_data', - 'COLUMN', N'is_default' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'创建部门' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_dict_data', - 'COLUMN', N'create_dept' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'创建者' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_dict_data', - 'COLUMN', N'create_by' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'创建时间' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_dict_data', - 'COLUMN', N'create_time' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'更新者' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_dict_data', - 'COLUMN', N'update_by' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'更新时间' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_dict_data', - 'COLUMN', N'update_time' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'备注' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_dict_data', - 'COLUMN', N'remark' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'字典数据表' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_dict_data' -GO - -INSERT sys_dict_data VALUES (1, N'000000', 1, N'男', N'0', N'sys_user_sex', N'', N'', N'Y', 103, 1, getdate(), NULL, NULL, N'性别男') -GO -INSERT sys_dict_data VALUES (2, N'000000', 2, N'女', N'1', N'sys_user_sex', N'', N'', N'N', 103, 1, getdate(), NULL, NULL, N'性别女') -GO -INSERT sys_dict_data VALUES (3, N'000000', 3, N'未知', N'2', N'sys_user_sex', N'', N'', N'N', 103, 1, getdate(), NULL, NULL, N'性别未知') -GO -INSERT sys_dict_data VALUES (4, N'000000', 1, N'显示', N'0', N'sys_show_hide', N'', N'primary', N'Y', 103, 1, getdate(), NULL, NULL, N'显示菜单') -GO -INSERT sys_dict_data VALUES (5, N'000000', 2, N'隐藏', N'1', N'sys_show_hide', N'', N'danger', N'N', 103, 1, getdate(), NULL, NULL, N'隐藏菜单') -GO -INSERT sys_dict_data VALUES (6, N'000000', 1, N'正常', N'0', N'sys_normal_disable', N'', N'primary', N'Y', 103, 1, getdate(), NULL, NULL, N'正常状态') -GO -INSERT sys_dict_data VALUES (7, N'000000', 2, N'停用', N'1', N'sys_normal_disable', N'', N'danger', N'N', 103, 1, getdate(), NULL, NULL, N'停用状态') -GO -INSERT sys_dict_data VALUES (8, N'000000', 1, N'正常', N'0', N'sys_job_status', N'', N'primary', N'Y', 103, 1, getdate(), NULL, NULL, N'正常状态') -GO -INSERT sys_dict_data VALUES (9, N'000000', 2, N'暂停', N'1', N'sys_job_status', N'', N'danger', N'N', 103, 1, getdate(), NULL, NULL, N'停用状态') -GO -INSERT sys_dict_data VALUES (10, N'000000', 1, N'默认', N'DEFAULT', N'sys_job_group', N'', N'', N'Y', 103, 1, getdate(), NULL, NULL, N'默认分组') -GO -INSERT sys_dict_data VALUES (11, N'000000', 2, N'系统', N'SYSTEM', N'sys_job_group', N'', N'', N'N', 103, 1, getdate(), NULL, NULL, N'系统分组') -GO -INSERT sys_dict_data VALUES (12, N'000000', 1, N'是', N'Y', N'sys_yes_no', N'', N'primary', N'Y', 103, 1, getdate(), NULL, NULL, N'系统默认是') -GO -INSERT sys_dict_data VALUES (13, N'000000', 2, N'否', N'N', N'sys_yes_no', N'', N'danger', N'N', 103, 1, getdate(), NULL, NULL, N'系统默认否') -GO -INSERT sys_dict_data VALUES (14, N'000000', 1, N'通知', N'1', N'sys_notice_type', N'', N'warning', N'Y', 103, 1, getdate(), NULL, NULL, N'通知') -GO -INSERT sys_dict_data VALUES (15, N'000000', 2, N'公告', N'2', N'sys_notice_type', N'', N'success', N'N', 103, 1, getdate(), NULL, NULL, N'公告') -GO -INSERT sys_dict_data VALUES (16, N'000000', 1, N'正常', N'0', N'sys_notice_status', N'', N'primary', N'Y', 103, 1, getdate(), NULL, NULL, N'正常状态') -GO -INSERT sys_dict_data VALUES (17, N'000000', 2, N'关闭', N'1', N'sys_notice_status', N'', N'danger', N'N', 103, 1, getdate(), NULL, NULL, N'关闭状态') -GO -INSERT sys_dict_data VALUES (29, N'000000', 99, N'其他', N'0', N'sys_oper_type', N'', N'info', N'N', 103, 1, getdate(), NULL, NULL, N'其他操作'); -GO -INSERT sys_dict_data VALUES (18, N'000000', 1, N'新增', N'1', N'sys_oper_type', N'', N'info', N'N', 103, 1, getdate(), NULL, NULL, N'新增操作') -GO -INSERT sys_dict_data VALUES (19, N'000000', 2, N'修改', N'2', N'sys_oper_type', N'', N'info', N'N', 103, 1, getdate(), NULL, NULL, N'修改操作') -GO -INSERT sys_dict_data VALUES (20, N'000000', 3, N'删除', N'3', N'sys_oper_type', N'', N'danger', N'N', 103, 1, getdate(), NULL, NULL, N'删除操作') -GO -INSERT sys_dict_data VALUES (21, N'000000', 4, N'授权', N'4', N'sys_oper_type', N'', N'primary', N'N', 103, 1, getdate(), NULL, NULL, N'授权操作') -GO -INSERT sys_dict_data VALUES (22, N'000000', 5, N'导出', N'5', N'sys_oper_type', N'', N'warning', N'N', 103, 1, getdate(), NULL, NULL, N'导出操作') -GO -INSERT sys_dict_data VALUES (23, N'000000', 6, N'导入', N'6', N'sys_oper_type', N'', N'warning', N'N', 103, 1, getdate(), NULL, NULL, N'导入操作') -GO -INSERT sys_dict_data VALUES (24, N'000000', 7, N'强退', N'7', N'sys_oper_type', N'', N'danger', N'N', 103, 1, getdate(), NULL, NULL, N'强退操作') -GO -INSERT sys_dict_data VALUES (25, N'000000', 8, N'生成代码', N'8', N'sys_oper_type', N'', N'warning', N'N', 103, 1, getdate(), NULL, NULL, N'生成操作') -GO -INSERT sys_dict_data VALUES (26, N'000000', 9, N'清空数据', N'9', N'sys_oper_type', N'', N'danger', N'N', 103, 1, getdate(), NULL, NULL, N'清空操作') -GO -INSERT sys_dict_data VALUES (27, N'000000', 1, N'成功', N'0', N'sys_common_status', N'', N'primary', N'N', 103, 1, getdate(), NULL, NULL, N'正常状态') -GO -INSERT sys_dict_data VALUES (28, N'000000', 2, N'失败', N'1', N'sys_common_status', N'', N'danger', N'N', 103, 1, getdate(), NULL, NULL, N'停用状态') -GO -INSERT sys_dict_data VALUES (30, N'000000', 0, N'密码认证', N'password', N'sys_grant_type', N'', N'default', N'N', 103, 1, getdate(), NULL, NULL, N'密码认证') -GO -INSERT sys_dict_data VALUES (31, N'000000', 0, N'短信认证', N'sms', N'sys_grant_type', N'', N'default', N'N', 103, 1, getdate(), NULL, NULL, N'短信认证') -GO -INSERT sys_dict_data VALUES (32, N'000000', 0, N'邮件认证', N'email', N'sys_grant_type', N'', N'default', N'N', 103, 1, getdate(), NULL, NULL, N'邮件认证') -GO -INSERT sys_dict_data VALUES (33, N'000000', 0, N'小程序认证', N'xcx', N'sys_grant_type', N'', N'default', N'N', 103, 1, getdate(), NULL, NULL, N'小程序认证') -GO -INSERT sys_dict_data VALUES (34, N'000000', 0, N'三方登录认证', N'`social`', N'sys_grant_type', N'', N'default', N'N', 103, 1, getdate(), NULL, NULL, N'三方登录认证') -GO -INSERT sys_dict_data VALUES (35, N'000000', 0, N'PC', N'`pc`', N'sys_device_type', N'', N'default', N'N', 103, 1, getdate(), NULL, NULL, N'PC') -GO -INSERT sys_dict_data VALUES (36, N'000000', 0, N'安卓', N'`android`', N'sys_device_type', N'', N'default', N'N', 103, 1, getdate(), NULL, NULL, N'安卓') -GO -INSERT sys_dict_data VALUES (37, N'000000', 0, N'iOS', N'`ios`', N'sys_device_type', N'', N'default', N'N', 103, 1, getdate(), NULL, NULL, N'iOS') -GO -INSERT sys_dict_data VALUES (38, N'000000', 0, N'小程序', N'`xcx`', N'sys_device_type', N'', N'default', N'N', 103, 1, getdate(), NULL, NULL, N'小程序') -GO - -CREATE TABLE sys_dict_type -( - dict_id bigint NOT NULL, - tenant_id nvarchar(20) DEFAULT ('000000') NULL, - dict_name nvarchar(100) DEFAULT '' NULL, - dict_type nvarchar(100) DEFAULT '' NULL, - create_dept bigint NULL, - create_by bigint NULL, - create_time datetime2(7) NULL, - update_by bigint NULL, - update_time datetime2(7) NULL, - remark nvarchar(500) NULL, - CONSTRAINT PK__sys_dict__3BD4186C409C5391 PRIMARY KEY CLUSTERED (dict_id) - WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) - ON [PRIMARY] -) -ON [PRIMARY] -GO - -CREATE NONCLUSTERED INDEX sys_dict_type_index1 ON sys_dict_type (tenant_id, dict_type) -GO - -EXEC sys.sp_addextendedproperty - 'MS_Description', N'字典主键' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_dict_type', - 'COLUMN', N'dict_id' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'字典主键' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_dict_type', - 'COLUMN', N'tenant_id' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'字典名称' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_dict_type', - 'COLUMN', N'dict_name' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'字典类型' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_dict_type', - 'COLUMN', N'dict_type' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'创建部门' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_dict_type', - 'COLUMN', N'create_dept' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'创建者' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_dict_type', - 'COLUMN', N'create_by' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'创建时间' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_dict_type', - 'COLUMN', N'create_time' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'更新者' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_dict_type', - 'COLUMN', N'update_by' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'更新时间' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_dict_type', - 'COLUMN', N'update_time' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'备注' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_dict_type', - 'COLUMN', N'remark' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'字典类型表' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_dict_type' -GO - -INSERT sys_dict_type VALUES (1, N'000000', N'用户性别', N'sys_user_sex', 103, 1, getdate(), NULL, NULL, N'用户性别列表') -GO -INSERT sys_dict_type VALUES (2, N'000000', N'菜单状态', N'sys_show_hide', 103, 1, getdate(), NULL, NULL, N'菜单状态列表') -GO -INSERT sys_dict_type VALUES (3, N'000000', N'系统开关', N'sys_normal_disable', 103, 1, getdate(), NULL, NULL, N'系统开关列表') -GO -INSERT sys_dict_type VALUES (4, N'000000', N'任务状态', N'sys_job_status', 103, 1, getdate(), NULL, NULL, N'任务状态列表') -GO -INSERT sys_dict_type VALUES (5, N'000000', N'任务分组', N'sys_job_group', 103, 1, getdate(), NULL, NULL, N'任务分组列表') -GO -INSERT sys_dict_type VALUES (6, N'000000', N'系统是否', N'sys_yes_no', 103, 1, getdate(), NULL, NULL, N'系统是否列表') -GO -INSERT sys_dict_type VALUES (7, N'000000', N'通知类型', N'sys_notice_type', 103, 1, getdate(), NULL, NULL, N'通知类型列表') -GO -INSERT sys_dict_type VALUES (8, N'000000', N'通知状态', N'sys_notice_status', 103, 1, getdate(), NULL, NULL, N'通知状态列表') -GO -INSERT sys_dict_type VALUES (9, N'000000', N'操作类型', N'sys_oper_type', 103, 1, getdate(), NULL, NULL, N'操作类型列表') -GO -INSERT sys_dict_type VALUES (10, N'000000', N'系统状态', N'sys_common_status', 103, 1, getdate(), NULL, NULL, N'登录状态列表') -GO -INSERT sys_dict_type VALUES (11, N'000000', N'授权类型', N'sys_grant_type', 103, 1, getdate(), NULL, NULL, N'认证授权类型') -GO -INSERT sys_dict_type VALUES (12, N'000000', N'设备类型', N'sys_device_type', 103, 1, getdate(), NULL, NULL, N'客户端设备类型') -GO - -CREATE TABLE sys_logininfor -( - info_id bigint NOT NULL, - tenant_id nvarchar(20) DEFAULT ('000000') NULL, - user_name nvarchar(50) DEFAULT '' NULL, - client_key nvarchar(32) DEFAULT '' NULL, - device_type nvarchar(32) DEFAULT '' NULL, - ipaddr nvarchar(128) DEFAULT '' NULL, - login_location nvarchar(255) DEFAULT '' NULL, - browser nvarchar(50) DEFAULT '' NULL, - os nvarchar(50) DEFAULT '' NULL, - status nchar(1) DEFAULT ('0') NULL, - msg nvarchar(255) DEFAULT '' NULL, - login_time datetime2(7) NULL, - CONSTRAINT PK__sys_logi__3D8A9C1A1854AE10 PRIMARY KEY CLUSTERED (info_id) - WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) - ON [PRIMARY] -) -ON [PRIMARY] -GO - -CREATE NONCLUSTERED INDEX idx_sys_logininfor_s ON sys_logininfor (status) -GO -CREATE NONCLUSTERED INDEX idx_sys_logininfor_lt ON sys_logininfor (login_time) -GO - -EXEC sys.sp_addextendedproperty - 'MS_Description', N'访问ID' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_logininfor', - 'COLUMN', N'info_id' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'租户编号' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_logininfor', - 'COLUMN', N'tenant_id' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'用户账号' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_logininfor', - 'COLUMN', N'user_name' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'客户端' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_logininfor', - 'COLUMN', N'client_key' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'设备类型' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_logininfor', - 'COLUMN', N'device_type' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'登录IP地址' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_logininfor', - 'COLUMN', N'ipaddr' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'登录地点' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_logininfor', - 'COLUMN', N'login_location' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'浏览器类型' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_logininfor', - 'COLUMN', N'browser' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'操作系统' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_logininfor', - 'COLUMN', N'os' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'登录状态(0成功 1失败)' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_logininfor', - 'COLUMN', N'status' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'提示消息' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_logininfor', - 'COLUMN', N'msg' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'访问时间' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_logininfor', - 'COLUMN', N'login_time' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'系统访问记录' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_logininfor' -GO - -CREATE TABLE sys_menu -( - menu_id bigint NOT NULL, - menu_name nvarchar(50) NOT NULL, - parent_id bigint DEFAULT ((0)) NULL, - order_num int DEFAULT ((0)) NULL, - path nvarchar(200) DEFAULT '' NULL, - component nvarchar(255) NULL, - query_param nvarchar(255) NULL, - is_frame int DEFAULT ((1)) NULL, - is_cache int DEFAULT ((0)) NULL, - menu_type nchar(1) DEFAULT '' NULL, - visible nchar(1) DEFAULT ((0)) NULL, - status nchar(1) DEFAULT ((0)) NULL, - perms nvarchar(100) NULL, - icon nvarchar(100) DEFAULT ('#') NULL, - create_dept bigint NULL, - create_by bigint NULL, - create_time datetime2(7) NULL, - update_by bigint NULL, - update_time datetime2(7) NULL, - remark nvarchar(500) DEFAULT '' NULL, - CONSTRAINT PK__sys_menu__4CA0FADCF8545C58 PRIMARY KEY CLUSTERED (menu_id) - WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) - ON [PRIMARY] -) -ON [PRIMARY] -GO - -EXEC sys.sp_addextendedproperty - 'MS_Description', N'菜单ID' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_menu', - 'COLUMN', N'menu_id' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'菜单名称' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_menu', - 'COLUMN', N'menu_name' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'父菜单ID' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_menu', - 'COLUMN', N'parent_id' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'显示顺序' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_menu', - 'COLUMN', N'order_num' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'路由地址' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_menu', - 'COLUMN', N'path' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'组件路径' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_menu', - 'COLUMN', N'component' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'路由参数' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_menu', - 'COLUMN', N'query_param' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'是否为外链(0是 1否)' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_menu', - 'COLUMN', N'is_frame' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'是否缓存(0缓存 1不缓存)' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_menu', - 'COLUMN', N'is_cache' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'菜单类型(M目录 C菜单 F按钮)' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_menu', - 'COLUMN', N'menu_type' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'显示状态(0显示 1隐藏)' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_menu', - 'COLUMN', N'visible' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'菜单状态(0正常 1停用)' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_menu', - 'COLUMN', N'status' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'权限标识' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_menu', - 'COLUMN', N'perms' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'菜单图标' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_menu', - 'COLUMN', N'icon' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'创建部门' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_menu', - 'COLUMN', N'create_dept' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'创建者' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_menu', - 'COLUMN', N'create_by' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'创建时间' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_menu', - 'COLUMN', N'create_time' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'更新者' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_menu', - 'COLUMN', N'update_by' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'更新时间' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_menu', - 'COLUMN', N'update_time' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'备注' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_menu', - 'COLUMN', N'remark' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'菜单权限表' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_menu' -GO - -INSERT sys_menu VALUES (1, N'系统管理', 0, 1, N'system', NULL, N'', 1, 0, N'M', N'0', N'0', N'', N'system', 103, 1, getdate(), NULL, NULL, N'系统管理目录') -GO -INSERT sys_menu VALUES (6, N'租户管理', 0, 2, N'tenant', NULL, N'', 1, 0, N'M', N'0', N'0', N'', N'chart', 103, 1, getdate(), NULL, NULL, N'租户管理目录') -GO -INSERT sys_menu VALUES (2, N'系统监控', 0, 3, N'monitor', NULL, N'', 1, 0, N'M', N'0', N'0', N'', N'monitor', 103, 1, getdate(), NULL, NULL, N'系统监控目录') -GO -INSERT sys_menu VALUES (3, N'系统工具', 0, 4, N'tool', NULL, N'', 1, 0, N'M', N'0', N'0', N'', N'tool', 103, 1, getdate(), NULL, NULL, N'系统工具目录') -GO -INSERT sys_menu VALUES (4, N'PLUS官网', 0, 5, N'https://gitee.com/dromara/RuoYi-Vue-Plus', null, N'', 0, 0, N'M', N'0', N'0', N'', N'guide', 103, 1, getdate(), null, null, N'RuoYi-Vue-Plus官网地址'); -GO -INSERT sys_menu VALUES (5, N'测试菜单', 0, 5, N'demo', NULL, N'', 1, 0, N'M', N'0', N'0', NULL, N'star', 103, 1, getdate(), NULL, NULL, N''); -GO -INSERT sys_menu VALUES (100, N'用户管理', 1, 1, N'user', N'system/user/index', N'', 1, 0, N'C', N'0', N'0', N'system:user:list', N'user', 103, 1, getdate(), NULL, NULL, N'用户管理菜单') -GO -INSERT sys_menu VALUES (101, N'角色管理', 1, 2, N'role', N'system/role/index', N'', 1, 0, N'C', N'0', N'0', N'system:role:list', N'peoples', 103, 1, getdate(), NULL, NULL, N'角色管理菜单') -GO -INSERT sys_menu VALUES (102, N'菜单管理', 1, 3, N'menu', N'system/menu/index', N'', 1, 0, N'C', N'0', N'0', N'system:menu:list', N'tree-table', 103, 1, getdate(), NULL, NULL, N'菜单管理菜单') -GO -INSERT sys_menu VALUES (103, N'部门管理', 1, 4, N'dept', N'system/dept/index', N'', 1, 0, N'C', N'0', N'0', N'system:dept:list', N'tree', 103, 1, getdate(), NULL, NULL, N'部门管理菜单') -GO -INSERT sys_menu VALUES (104, N'岗位管理', 1, 5, N'post', N'system/post/index', N'', 1, 0, N'C', N'0', N'0', N'system:post:list', N'post', 103, 1, getdate(), NULL, NULL, N'岗位管理菜单') -GO -INSERT sys_menu VALUES (105, N'字典管理', 1, 6, N'dict', N'system/dict/index', N'', 1, 0, N'C', N'0', N'0', N'system:dict:list', N'dict', 103, 1, getdate(), NULL, NULL, N'字典管理菜单') -GO -INSERT sys_menu VALUES (106, N'参数设置', 1, 7, N'config', N'system/config/index', N'', 1, 0, N'C', N'0', N'0', N'system:config:list', N'edit', 103, 1, getdate(), NULL, NULL, N'参数设置菜单') -GO -INSERT sys_menu VALUES (107, N'通知公告', 1, 8, N'notice', N'system/notice/index', N'', 1, 0, N'C', N'0', N'0', N'system:notice:list', N'message', 103, 1, getdate(), NULL, NULL, N'通知公告菜单') -GO -INSERT sys_menu VALUES (108, N'日志管理', 1, 9, N'log', N'', N'', 1, 0, N'M', N'0', N'0', N'', N'log', 103, 1, getdate(), NULL, NULL, N'日志管理菜单') -GO -INSERT sys_menu VALUES (109, N'在线用户', 2, 1, N'online', N'monitor/online/index', N'', 1, 0, N'C', N'0', N'0', N'monitor:online:list', N'online', 103, 1, getdate(), NULL, NULL, N'在线用户菜单') -GO -INSERT sys_menu VALUES (113, N'缓存监控', 2, 5, N'cache', N'monitor/cache/index', N'', 1, 0, N'C', N'0', N'0', N'monitor:cache:list', N'redis', 103, 1, getdate(), NULL, NULL, N'缓存监控菜单') -GO -INSERT sys_menu VALUES (115, N'代码生成', 3, 2, N'gen', N'tool/gen/index', N'', 1, 0, N'C', N'0', N'0', N'tool:gen:list', N'code', 103, 1, getdate(), NULL, NULL, N'代码生成菜单') -GO -INSERT sys_menu VALUES (121, N'租户管理', 6, 1, N'tenant', N'system/tenant/index', N'', 1, 0, N'C', N'0', N'0', N'system:tenant:list', N'code', 103, 1, getdate(), NULL, NULL, N'租户管理菜单') -GO -INSERT sys_menu VALUES (122, N'租户套餐管理', 6, 2, N'tenantPackage', N'system/tenantPackage/index', N'', 1, 0, N'C', N'0', N'0', N'system:tenantPackage:list', N'code', 103, 1, getdate(), NULL, NULL, N'租户套餐管理菜单') -GO -INSERT sys_menu VALUES (123, N'客户端管理', 1, 11, N'client', N'system/client/index', N'', 1, 0, N'C', N'0', N'0', N'system:client:list', N'international', 103, 1, getdate(), NULL, NULL, N'客户端管理菜单') -GO -INSERT sys_menu VALUES (117, N'Admin监控', 2, 5, N'Admin', N'monitor/admin/index', N'', 1, 0, N'C', N'0', N'0', N'monitor:admin:list', N'dashboard', 103, 1, getdate(), NULL, NULL, N'Admin监控菜单'); -GO -INSERT sys_menu VALUES (118, N'文件管理', 1, 10, N'oss', N'system/oss/index', N'', 1, 0, N'C', '0', N'0', N'system:oss:list', N'upload', 103, 1, getdate(), NULL, NULL, N'文件管理菜单'); -GO -INSERT sys_menu VALUES (120, N'任务调度中心', 2, 5, N'snailjob', N'monitor/snailjob/index', N'', 1, 0, N'C', N'0', N'0', N'monitor:snailjob:list', N'job', 103, 1, getdate(), NULL, NULL, N'SnailJob控制台菜单'); -GO -INSERT sys_menu VALUES (500, N'操作日志', 108, 1, N'operlog', N'monitor/operlog/index', N'', 1, 0, N'C', N'0', N'0', N'monitor:operlog:list', N'form', 103, 1, getdate(), NULL, NULL, N'操作日志菜单') -GO -INSERT sys_menu VALUES (501, N'登录日志', 108, 2, N'logininfor', N'monitor/logininfor/index', N'', 1, 0, N'C', N'0', N'0', N'monitor:logininfor:list', N'logininfor', 103, 1, getdate(), NULL, NULL, N'登录日志菜单') -GO -INSERT sys_menu VALUES (1001, N'用户查询', 100, 1, N'', N'', N'', 1, 0, N'F', N'0', N'0', N'system:user:query', N'#', 103, 1, getdate(), NULL, NULL, N'') -GO -INSERT sys_menu VALUES (1002, N'用户新增', 100, 2, N'', N'', N'', 1, 0, N'F', N'0', N'0', N'system:user:add', N'#', 103, 1, getdate(), NULL, NULL, N'') -GO -INSERT sys_menu VALUES (1003, N'用户修改', 100, 3, N'', N'', N'', 1, 0, N'F', N'0', N'0', N'system:user:edit', N'#', 103, 1, getdate(), NULL, NULL, N'') -GO -INSERT sys_menu VALUES (1004, N'用户删除', 100, 4, N'', N'', N'', 1, 0, N'F', N'0', N'0', N'system:user:remove', N'#', 103, 1, getdate(), NULL, NULL, N'') -GO -INSERT sys_menu VALUES (1005, N'用户导出', 100, 5, N'', N'', N'', 1, 0, N'F', N'0', N'0', N'system:user:export', N'#', 103, 1, getdate(), NULL, NULL, N'') -GO -INSERT sys_menu VALUES (1006, N'用户导入', 100, 6, N'', N'', N'', 1, 0, N'F', N'0', N'0', N'system:user:import', N'#', 103, 1, getdate(), NULL, NULL, N'') -GO -INSERT sys_menu VALUES (1007, N'重置密码', 100, 7, N'', N'', N'', 1, 0, N'F', N'0', N'0', N'system:user:resetPwd', N'#', 103, 1, getdate(), NULL, NULL, N'') -GO -INSERT sys_menu VALUES (1008, N'角色查询', 101, 1, N'', N'', N'', 1, 0, N'F', N'0', N'0', N'system:role:query', N'#', 103, 1, getdate(), NULL, NULL, N'') -GO -INSERT sys_menu VALUES (1009, N'角色新增', 101, 2, N'', N'', N'', 1, 0, N'F', N'0', N'0', N'system:role:add', N'#', 103, 1, getdate(), NULL, NULL, N'') -GO -INSERT sys_menu VALUES (1010, N'角色修改', 101, 3, N'', N'', N'', 1, 0, N'F', N'0', N'0', N'system:role:edit', N'#', 103, 1, getdate(), NULL, NULL, N'') -GO -INSERT sys_menu VALUES (1011, N'角色删除', 101, 4, N'', N'', N'', 1, 0, N'F', N'0', N'0', N'system:role:remove', N'#', 103, 1, getdate(), NULL, NULL, N'') -GO -INSERT sys_menu VALUES (1012, N'角色导出', 101, 5, N'', N'', N'', 1, 0, N'F', N'0', N'0', N'system:role:export', N'#', 103, 1, getdate(), NULL, NULL, N'') -GO -INSERT sys_menu VALUES (1013, N'菜单查询', 102, 1, N'', N'', N'', 1, 0, N'F', N'0', N'0', N'system:menu:query', N'#', 103, 1, getdate(), NULL, NULL, N'') -GO -INSERT sys_menu VALUES (1014, N'菜单新增', 102, 2, N'', N'', N'', 1, 0, N'F', N'0', N'0', N'system:menu:add', N'#', 103, 1, getdate(), NULL, NULL, N'') -GO -INSERT sys_menu VALUES (1015, N'菜单修改', 102, 3, N'', N'', N'', 1, 0, N'F', N'0', N'0', N'system:menu:edit', N'#', 103, 1, getdate(), NULL, NULL, N'') -GO -INSERT sys_menu VALUES (1016, N'菜单删除', 102, 4, N'', N'', N'', 1, 0, N'F', N'0', N'0', N'system:menu:remove', N'#', 103, 1, getdate(), NULL, NULL, N'') -GO -INSERT sys_menu VALUES (1017, N'部门查询', 103, 1, N'', N'', N'', 1, 0, N'F', N'0', N'0', N'system:dept:query', N'#', 103, 1, getdate(), NULL, NULL, N'') -GO -INSERT sys_menu VALUES (1018, N'部门新增', 103, 2, N'', N'', N'', 1, 0, N'F', N'0', N'0', N'system:dept:add', N'#', 103, 1, getdate(), NULL, NULL, N'') -GO -INSERT sys_menu VALUES (1019, N'部门修改', 103, 3, N'', N'', N'', 1, 0, N'F', N'0', N'0', N'system:dept:edit', N'#', 103, 1, getdate(), NULL, NULL, N'') -GO -INSERT sys_menu VALUES (1020, N'部门删除', 103, 4, N'', N'', N'', 1, 0, N'F', N'0', N'0', N'system:dept:remove', N'#', 103, 1, getdate(), NULL, NULL, N'') -GO -INSERT sys_menu VALUES (1021, N'岗位查询', 104, 1, N'', N'', N'', 1, 0, N'F', N'0', N'0', N'system:post:query', N'#', 103, 1, getdate(), NULL, NULL, N'') -GO -INSERT sys_menu VALUES (1022, N'岗位新增', 104, 2, N'', N'', N'', 1, 0, N'F', N'0', N'0', N'system:post:add', N'#', 103, 1, getdate(), NULL, NULL, N'') -GO -INSERT sys_menu VALUES (1023, N'岗位修改', 104, 3, N'', N'', N'', 1, 0, N'F', N'0', N'0', N'system:post:edit', N'#', 103, 1, getdate(), NULL, NULL, N'') -GO -INSERT sys_menu VALUES (1024, N'岗位删除', 104, 4, N'', N'', N'', 1, 0, N'F', N'0', N'0', N'system:post:remove', N'#', 103, 1, getdate(), NULL, NULL, N'') -GO -INSERT sys_menu VALUES (1025, N'岗位导出', 104, 5, N'', N'', N'', 1, 0, N'F', N'0', N'0', N'system:post:export', N'#', 103, 1, getdate(), NULL, NULL, N'') -GO -INSERT sys_menu VALUES (1026, N'字典查询', 105, 1, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:dict:query', N'#', 103, 1, getdate(), NULL, NULL, N'') -GO -INSERT sys_menu VALUES (1027, N'字典新增', 105, 2, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:dict:add', N'#', 103, 1, getdate(), NULL, NULL, N'') -GO -INSERT sys_menu VALUES (1028, N'字典修改', 105, 3, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:dict:edit', N'#', 103, 1, getdate(), NULL, NULL, N'') -GO -INSERT sys_menu VALUES (1029, N'字典删除', 105, 4, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:dict:remove', N'#', 103, 1, getdate(), NULL, NULL, N'') -GO -INSERT sys_menu VALUES (1030, N'字典导出', 105, 5, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:dict:export', N'#', 103, 1, getdate(), NULL, NULL, N'') -GO -INSERT sys_menu VALUES (1031, N'参数查询', 106, 1, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:config:query', N'#', 103, 1, getdate(), NULL, NULL, N'') -GO -INSERT sys_menu VALUES (1032, N'参数新增', 106, 2, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:config:add', N'#', 103, 1, getdate(), NULL, NULL, N'') -GO -INSERT sys_menu VALUES (1033, N'参数修改', 106, 3, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:config:edit', N'#', 103, 1, getdate(), NULL, NULL, N'') -GO -INSERT sys_menu VALUES (1034, N'参数删除', 106, 4, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:config:remove', N'#', 103, 1, getdate(), NULL, NULL, N'') -GO -INSERT sys_menu VALUES (1035, N'参数导出', 106, 5, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:config:export', N'#', 103, 1, getdate(), NULL, NULL, N'') -GO -INSERT sys_menu VALUES (1036, N'公告查询', 107, 1, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:notice:query', N'#', 103, 1, getdate(), NULL, NULL, N'') -GO -INSERT sys_menu VALUES (1037, N'公告新增', 107, 2, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:notice:add', N'#', 103, 1, getdate(), NULL, NULL, N'') -GO -INSERT sys_menu VALUES (1038, N'公告修改', 107, 3, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:notice:edit', N'#', 103, 1, getdate(), NULL, NULL, N'') -GO -INSERT sys_menu VALUES (1039, N'公告删除', 107, 4, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:notice:remove', N'#', 103, 1, getdate(), NULL, NULL, N'') -GO -INSERT sys_menu VALUES (1040, N'操作查询', 500, 1, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'monitor:operlog:query', N'#', 103, 1, getdate(), NULL, NULL, N'') -GO -INSERT sys_menu VALUES (1041, N'操作删除', 500, 2, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'monitor:operlog:remove', N'#', 103, 1, getdate(), NULL, NULL, N'') -GO -INSERT sys_menu VALUES (1042, N'日志导出', 500, 4, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'monitor:operlog:export', N'#', 103, 1, getdate(), NULL, NULL, N'') -GO -INSERT sys_menu VALUES (1043, N'登录查询', 501, 1, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'monitor:logininfor:query', N'#', 103, 1, getdate(), NULL, NULL, N'') -GO -INSERT sys_menu VALUES (1044, N'登录删除', 501, 2, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'monitor:logininfor:remove', N'#', 103, 1, getdate(), NULL, NULL, N'') -GO -INSERT sys_menu VALUES (1045, N'日志导出', 501, 3, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'monitor:logininfor:export', N'#', 103, 1, getdate(), NULL, NULL, N'') -GO -INSERT sys_menu VALUES (1050, N'账户解锁', 501, 4, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'monitor:logininfor:unlock', N'#', 103, 1, getdate(), NULL, NULL, N'') -GO -INSERT sys_menu VALUES (1046, N'在线查询', 109, 1, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'monitor:online:query', N'#', 103, 1, getdate(), NULL, NULL, N'') -GO -INSERT sys_menu VALUES (1047, N'批量强退', 109, 2, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'monitor:online:batchLogout', N'#', 103, 1, getdate(), NULL, NULL, N'') -GO -INSERT sys_menu VALUES (1048, N'单条强退', 109, 3, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'monitor:online:forceLogout', N'#', 103, 1, getdate(), NULL, NULL, N'') -GO -INSERT sys_menu VALUES (1055, N'生成查询', 115, 1, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'tool:gen:query', N'#', 103, 1, getdate(), NULL, NULL, N'') -GO -INSERT sys_menu VALUES (1056, N'生成修改', 115, 2, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'tool:gen:edit', N'#', 103, 1, getdate(), NULL, NULL, N'') -GO -INSERT sys_menu VALUES (1057, N'生成删除', 115, 3, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'tool:gen:remove', N'#', 103, 1, getdate(), NULL, NULL, N'') -GO -INSERT sys_menu VALUES (1058, N'导入代码', 115, 2, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'tool:gen:import', N'#', 103, 1, getdate(), NULL, NULL, N'') -GO -INSERT sys_menu VALUES (1059, N'预览代码', 115, 4, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'tool:gen:preview', N'#', 103, 1, getdate(), NULL, NULL, N'') -GO -INSERT sys_menu VALUES (1060, N'生成代码', 115, 5, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'tool:gen:code', N'#', 103, 1, getdate(), NULL, NULL, N'') -GO --- oss相关按钮 -INSERT sys_menu VALUES (1600, N'文件查询', 118, 1, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:oss:query', N'#', 103, 1, getdate(), NULL, NULL, N''); -GO -INSERT sys_menu VALUES (1601, N'文件上传', 118, 2, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:oss:upload', N'#', 103, 1, getdate(), NULL, NULL, N''); -GO -INSERT sys_menu VALUES (1602, N'文件下载', 118, 3, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:oss:download', N'#', 103, 1, getdate(), NULL, NULL, N''); -GO -INSERT sys_menu VALUES (1603, N'文件删除', 118, 4, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:oss:remove', N'#', 103, 1, getdate(), NULL, NULL, N''); -GO -INSERT sys_menu VALUES (1620, N'配置列表', 118, 5, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:ossConfig:list', N'#', 103, 1, getdate(), NULL, NULL, N''); -GO -INSERT sys_menu VALUES (1621, N'配置添加', 118, 6, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:ossConfig:add', N'#', 103, 1, getdate(), NULL, NULL, N''); -GO -INSERT sys_menu VALUES (1622, N'配置编辑', 118, 6, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:ossConfig:edit', N'#', 103, 1, getdate(), NULL, NULL, N''); -GO -INSERT sys_menu VALUES (1623, N'配置删除', 118, 6, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:ossConfig:remove', N'#', 103, 1, getdate(), NULL, NULL, N''); -GO --- 租户管理相关按钮 -INSERT sys_menu VALUES (1606, N'租户查询', 121, 1, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:tenant:query', N'#', 103, 1, getdate(), NULL, NULL, N''); -GO -INSERT sys_menu VALUES (1607, N'租户新增', 121, 2, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:tenant:add', N'#', 103, 1, getdate(), NULL, NULL, N''); -GO -INSERT sys_menu VALUES (1608, N'租户修改', 121, 3, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:tenant:edit', N'#', 103, 1, getdate(), NULL, NULL, N''); -GO -INSERT sys_menu VALUES (1609, N'租户删除', 121, 4, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:tenant:remove', N'#', 103, 1, getdate(), NULL, NULL, N''); -GO -INSERT sys_menu VALUES (1610, N'租户导出', 121, 5, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:tenant:export', N'#', 103, 1, getdate(), NULL, NULL, N''); -GO --- 租户套餐管理相关按钮 -INSERT sys_menu VALUES (1611, N'租户套餐查询', 122, 1, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:tenantPackage:query', N'#', 103, 1, getdate(), NULL, NULL, N''); -GO -INSERT sys_menu VALUES (1612, N'租户套餐新增', 122, 2, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:tenantPackage:add', N'#', 103, 1, getdate(), NULL, NULL, N''); -GO -INSERT sys_menu VALUES (1613, N'租户套餐修改', 122, 3, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:tenantPackage:edit', N'#', 103, 1, getdate(), NULL, NULL, N''); -GO -INSERT sys_menu VALUES (1614, N'租户套餐删除', 122, 4, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:tenantPackage:remove', N'#', 103, 1, getdate(), NULL, NULL, N''); -GO -INSERT sys_menu VALUES (1615, N'租户套餐导出', 122, 5, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:tenantPackage:export', N'#', 103, 1, getdate(), NULL, NULL, N''); -GO --- 客户端管理按钮 -INSERT sys_menu VALUES (1061, N'客户端管理查询', 123, 1, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:client:query', N'#', 103, 1, getdate(), NULL, NULL, N''); -GO -INSERT sys_menu VALUES (1062, N'客户端管理新增', 123, 2, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:client:add', N'#', 103, 1, getdate(), NULL, NULL, N''); -GO -INSERT sys_menu VALUES (1063, N'客户端管理修改', 123, 3, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:client:edit', N'#', 103, 1, getdate(), NULL, NULL, N''); -GO -INSERT sys_menu VALUES (1064, N'客户端管理删除', 123, 4, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:client:remove', N'#', 103, 1, getdate(), NULL, NULL, N''); -GO -INSERT sys_menu VALUES (1065, N'客户端管理导出', 123, 5, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:client:export', N'#', 103, 1, getdate(), NULL, NULL, N''); -GO --- 测试菜单 -INSERT sys_menu VALUES (1500, N'测试单表', 5, 1, N'demo', N'demo/demo/index', N'', 1, 0, N'C', N'0', N'0', N'demo:demo:list', N'#', 103, 1, getdate(), NULL, NULL, N'测试单表菜单'); -GO -INSERT sys_menu VALUES (1501, N'测试单表查询', 1500, 1, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'demo:demo:query', N'#', 103, 1, getdate(), NULL, NULL, N''); -GO -INSERT sys_menu VALUES (1502, N'测试单表新增', 1500, 2, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'demo:demo:add', N'#', 103, 1, getdate(), NULL, NULL, N''); -GO -INSERT sys_menu VALUES (1503, N'测试单表修改', 1500, 3, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'demo:demo:edit', N'#', 103, 1, getdate(), NULL, NULL, N''); -GO -INSERT sys_menu VALUES (1504, N'测试单表删除', 1500, 4, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'demo:demo:remove', N'#', 103, 1, getdate(), NULL, NULL, N''); -GO -INSERT sys_menu VALUES (1505, N'测试单表导出', 1500, 5, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'demo:demo:export', N'#', 103, 1, getdate(), NULL, NULL, N''); -GO - -INSERT sys_menu VALUES (1506, N'测试树表', 5, 1, N'tree', N'demo/tree/index', N'', 1, 0, N'C', N'0', N'0', N'demo:tree:list', N'#', 103, 1, getdate(), NULL, NULL, N'测试树表菜单'); -GO -INSERT sys_menu VALUES (1507, N'测试树表查询', 1506, 1, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'demo:tree:query', N'#', 103, 1, getdate(), NULL, NULL, N''); -GO -INSERT sys_menu VALUES (1508, N'测试树表新增', 1506, 2, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'demo:tree:add', N'#', 103, 1, getdate(), NULL, NULL, N''); -GO -INSERT sys_menu VALUES (1509, N'测试树表修改', 1506, 3, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'demo:tree:edit', N'#', 103, 1, getdate(), NULL, NULL, N''); -GO -INSERT sys_menu VALUES (1510, N'测试树表删除', 1506, 4, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'demo:tree:remove', N'#', 103, 1, getdate(), NULL, NULL, N''); -GO -INSERT sys_menu VALUES (1511, N'测试树表导出', 1506, 5, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'demo:tree:export', N'#', 103, 1, getdate(), NULL, NULL, N''); -GO - -CREATE TABLE sys_notice -( - notice_id bigint NOT NULL, - tenant_id nvarchar(20) DEFAULT ('000000') NULL, - notice_title nvarchar(50) NOT NULL, - notice_type nchar(1) NOT NULL, - notice_content nvarchar(max) NULL, - status nchar(1) DEFAULT ('0') NULL, - create_dept bigint NULL, - create_by bigint NULL, - create_time datetime2(7) NULL, - update_by bigint NULL, - update_time datetime2(7) NULL, - remark nvarchar(255) NULL, - CONSTRAINT PK__sys_noti__3E82A5DB0EC94801 PRIMARY KEY CLUSTERED (notice_id) - WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) - ON [PRIMARY] -) -ON [PRIMARY] -TEXTIMAGE_ON [PRIMARY] -GO - -EXEC sys.sp_addextendedproperty - 'MS_Description', N'公告ID' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_notice', - 'COLUMN', N'notice_id' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'租户编号' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_notice', - 'COLUMN', N'tenant_id' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'公告标题' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_notice', - 'COLUMN', N'notice_title' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'公告类型(1通知 2公告)' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_notice', - 'COLUMN', N'notice_type' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'公告内容' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_notice', - 'COLUMN', N'notice_content' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'公告状态(0正常 1关闭)' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_notice', - 'COLUMN', N'status' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'创建部门' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_notice', - 'COLUMN', N'create_dept' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'创建者' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_notice', - 'COLUMN', N'create_by' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'创建时间' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_notice', - 'COLUMN', N'create_time' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'更新者' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_notice', - 'COLUMN', N'update_by' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'更新时间' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_notice', - 'COLUMN', N'update_time' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'备注' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_notice', - 'COLUMN', N'remark' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'通知公告表' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_notice' -GO - -INSERT sys_notice VALUES (1, N'000000', N'温馨提醒:2018-07-01 若依新版本发布啦', N'2', N'新版本内容', N'0', 103, 1, getdate(), NULL, NULL, N'管理员') -GO -INSERT sys_notice VALUES (2, N'000000', N'维护通知:2018-07-01 若依系统凌晨维护', N'1', N'维护内容', N'0', 103, 1, getdate(), NULL, NULL, N'管理员') -GO - -CREATE TABLE sys_oper_log -( - oper_id bigint NOT NULL, - tenant_id nvarchar(20) DEFAULT ('000000') NULL, - title nvarchar(50) DEFAULT '' NULL, - business_type int DEFAULT ((0)) NULL, - method nvarchar(100) DEFAULT '' NULL, - request_method nvarchar(10) DEFAULT '' NULL, - operator_type int DEFAULT ((0)) NULL, - oper_name nvarchar(50) DEFAULT '' NULL, - dept_name nvarchar(50) DEFAULT '' NULL, - oper_url nvarchar(255) DEFAULT '' NULL, - oper_ip nvarchar(128) DEFAULT '' NULL, - oper_location nvarchar(255) DEFAULT '' NULL, - oper_param nvarchar(2000) DEFAULT '' NULL, - json_result nvarchar(2000) DEFAULT '' NULL, - status int DEFAULT ((0)) NULL, - error_msg nvarchar(2000) DEFAULT '' NULL, - oper_time datetime2(7) NULL, - cost_time bigint DEFAULT ((0)) NULL, - CONSTRAINT PK__sys_oper__34723BF9BD954573 PRIMARY KEY CLUSTERED (oper_id) - WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) - ON [PRIMARY] -) -ON [PRIMARY] -GO - -CREATE NONCLUSTERED INDEX idx_sys_oper_log_bt ON sys_oper_log (business_type) -GO -CREATE NONCLUSTERED INDEX idx_sys_oper_log_s ON sys_oper_log (status) -GO -CREATE NONCLUSTERED INDEX idx_sys_oper_log_ot ON sys_oper_log (oper_time) -GO - -EXEC sys.sp_addextendedproperty - 'MS_Description', N'日志主键' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_oper_log', - 'COLUMN', N'oper_id' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'租户编号' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_oper_log', - 'COLUMN', N'tenant_id' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'模块标题' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_oper_log', - 'COLUMN', N'title' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'业务类型(0其它 1新增 2修改 3删除)' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_oper_log', - 'COLUMN', N'business_type' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'方法名称' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_oper_log', - 'COLUMN', N'method' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'请求方式' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_oper_log', - 'COLUMN', N'request_method' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'操作类别(0其它 1后台用户 2手机端用户)' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_oper_log', - 'COLUMN', N'operator_type' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'操作人员' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_oper_log', - 'COLUMN', N'oper_name' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'部门名称' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_oper_log', - 'COLUMN', N'dept_name' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'请求URL' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_oper_log', - 'COLUMN', N'oper_url' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'主机地址' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_oper_log', - 'COLUMN', N'oper_ip' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'操作地点' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_oper_log', - 'COLUMN', N'oper_location' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'请求参数' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_oper_log', - 'COLUMN', N'oper_param' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'返回参数' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_oper_log', - 'COLUMN', N'json_result' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'操作状态(0正常 1异常)' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_oper_log', - 'COLUMN', N'status' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'错误消息' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_oper_log', - 'COLUMN', N'error_msg' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'操作时间' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_oper_log', - 'COLUMN', N'oper_time' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'消耗时间' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_oper_log', - 'COLUMN', N'cost_time' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'操作日志记录' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_oper_log' -GO - -CREATE TABLE sys_post -( - post_id bigint NOT NULL, - tenant_id nvarchar(20) DEFAULT ('000000') NULL, - dept_id bigint NOT NULL, - post_code nvarchar(64) NOT NULL, - post_category nvarchar(100) NULL, - post_name nvarchar(50) NOT NULL, - post_sort int NOT NULL, - status nchar(1) NOT NULL, - create_dept bigint NULL, - create_by bigint NULL, - create_time datetime2(7) NULL, - update_by bigint NULL, - update_time datetime2(7) NULL, - remark nvarchar(500) NULL, - CONSTRAINT PK__sys_post__3ED7876668E2D081 PRIMARY KEY CLUSTERED (post_id) - WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) - ON [PRIMARY] -) -ON [PRIMARY] -GO - -EXEC sys.sp_addextendedproperty - 'MS_Description', N'岗位ID' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_post', - 'COLUMN', N'post_id' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'租户编号' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_post', - 'COLUMN', N'tenant_id' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'部门id' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_post', - 'COLUMN', N'dept_id' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'岗位编码' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_post', - 'COLUMN', N'post_code' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'岗位类别编码' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_post', - 'COLUMN', N'post_category' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'岗位名称' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_post', - 'COLUMN', N'post_name' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'显示顺序' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_post', - 'COLUMN', N'post_sort' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'状态(0正常 1停用)' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_post', - 'COLUMN', N'status' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'创建部门' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_post', - 'COLUMN', N'create_dept' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'创建者' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_post', - 'COLUMN', N'create_by' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'创建时间' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_post', - 'COLUMN', N'create_time' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'更新者' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_post', - 'COLUMN', N'update_by' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'更新时间' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_post', - 'COLUMN', N'update_time' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'备注' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_post', - 'COLUMN', N'remark' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'岗位信息表' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_post' -GO - -INSERT sys_post VALUES (1, N'000000', 103, N'ceo', NULL, N'董事长', 1, N'0', 103, 1, getdate(), NULL, NULL, N'') -GO -INSERT sys_post VALUES (2, N'000000', 100, N'se', NULL, N'项目经理', 2, N'0', 103, 1, getdate(), NULL, NULL, N'') -GO -INSERT sys_post VALUES (3, N'000000', 100, N'hr', NULL, N'人力资源', 3, N'0', 103, 1, getdate(), NULL, NULL, N'') -GO -INSERT sys_post VALUES (4, N'000000', 100, N'user', NULL, N'普通员工', 4, N'0', 103, 1, getdate(), NULL, NULL, N'') -GO - -CREATE TABLE sys_role -( - role_id bigint NOT NULL, - tenant_id nvarchar(20) DEFAULT ('000000') NULL, - role_name nvarchar(30) NOT NULL, - role_key nvarchar(100) NOT NULL, - role_sort int NOT NULL, - data_scope nchar(1) DEFAULT ('1') NULL, - menu_check_strictly tinyint DEFAULT ((1)) NULL, - dept_check_strictly tinyint DEFAULT ((1)) NULL, - status nchar(1) NOT NULL, - del_flag nchar(1) DEFAULT ('0') NULL, - create_dept bigint NULL, - create_by bigint NULL, - create_time datetime2(7) NULL, - update_by bigint NULL, - update_time datetime2(7) NULL, - remark nvarchar(500) NULL, - CONSTRAINT PK__sys_role__760965CCF9383145 PRIMARY KEY CLUSTERED (role_id) - WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) - ON [PRIMARY] -) -ON [PRIMARY] -GO - -EXEC sys.sp_addextendedproperty - 'MS_Description', N'角色ID' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_role', - 'COLUMN', N'role_id' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'租户编号' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_role', - 'COLUMN', N'tenant_id' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'角色名称' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_role', - 'COLUMN', N'role_name' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'角色权限字符串' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_role', - 'COLUMN', N'role_key' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'显示顺序' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_role', - 'COLUMN', N'role_sort' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'数据范围(1:全部数据权限 2:自定数据权限 3:本部门数据权限 4:本部门及以下数据权限)' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_role', - 'COLUMN', N'data_scope' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'菜单树选择项是否关联显示' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_role', - 'COLUMN', N'menu_check_strictly' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'部门树选择项是否关联显示' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_role', - 'COLUMN', N'dept_check_strictly' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'角色状态(0正常 1停用)' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_role', - 'COLUMN', N'status' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'删除标志(0代表存在 2代表删除)' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_role', - 'COLUMN', N'del_flag' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'创建部门' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_role', - 'COLUMN', N'create_dept' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'创建者' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_role', - 'COLUMN', N'create_by' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'创建时间' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_role', - 'COLUMN', N'create_time' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'更新者' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_role', - 'COLUMN', N'update_by' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'更新时间' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_role', - 'COLUMN', N'update_time' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'备注' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_role', - 'COLUMN', N'remark' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'角色信息表' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_role' -GO - -INSERT sys_role VALUES (1, N'000000', N'超级管理员', N'superadmin', 1, N'1', 1, 1, N'0', N'0', 103, 1, getdate(), NULL, NULL, N'超级管理员') -GO -INSERT sys_role VALUES (3, N'000000', N'本部门及以下', N'test1', 3, N'4', 1, 1, N'0', N'0', 103, 1, getdate(), NULL, NULL, N''); -GO -INSERT sys_role VALUES (4, N'000000', N'仅本人', N'test2', 4, N'5', 1, 1, N'0', N'0', 103, 1, getdate(), NULL, NULL, N''); -GO - -CREATE TABLE sys_role_dept -( - role_id bigint NOT NULL, - dept_id bigint NOT NULL, - CONSTRAINT PK__sys_role__2BC3005BABBCA08A PRIMARY KEY CLUSTERED (role_id, dept_id) - WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) - ON [PRIMARY] -) -ON [PRIMARY] -GO - -EXEC sys.sp_addextendedproperty - 'MS_Description', N'角色ID' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_role_dept', - 'COLUMN', N'role_id' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'部门ID' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_role_dept', - 'COLUMN', N'dept_id' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'角色和部门关联表' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_role_dept' -GO - -CREATE TABLE sys_role_menu -( - role_id bigint NOT NULL, - menu_id bigint NOT NULL, - CONSTRAINT PK__sys_role__A2C36A6187BA4B17 PRIMARY KEY CLUSTERED (role_id, menu_id) - WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) - ON [PRIMARY] -) -ON [PRIMARY] -GO - -EXEC sys.sp_addextendedproperty - 'MS_Description', N'角色ID' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_role_menu', - 'COLUMN', N'role_id' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'菜单ID' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_role_menu', - 'COLUMN', N'menu_id' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'角色和菜单关联表' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_role_menu' -GO - --- ---------------------------- --- 初始化-角色和菜单关联表数据 --- ---------------------------- -INSERT sys_role_menu VALUES (3, 1); -GO -INSERT sys_role_menu VALUES (3, 5); -GO -INSERT sys_role_menu VALUES (3, 100); -GO -INSERT sys_role_menu VALUES (3, 101); -GO -INSERT sys_role_menu VALUES (3, 102); -GO -INSERT sys_role_menu VALUES (3, 103); -GO -INSERT sys_role_menu VALUES (3, 104); -GO -INSERT sys_role_menu VALUES (3, 105); -GO -INSERT sys_role_menu VALUES (3, 106); -GO -INSERT sys_role_menu VALUES (3, 107); -GO -INSERT sys_role_menu VALUES (3, 108); -GO -INSERT sys_role_menu VALUES (3, 500); -GO -INSERT sys_role_menu VALUES (3, 501); -GO -INSERT sys_role_menu VALUES (3, 1001); -GO -INSERT sys_role_menu VALUES (3, 1002); -GO -INSERT sys_role_menu VALUES (3, 1003); -GO -INSERT sys_role_menu VALUES (3, 1004); -GO -INSERT sys_role_menu VALUES (3, 1005); -GO -INSERT sys_role_menu VALUES (3, 1006); -GO -INSERT sys_role_menu VALUES (3, 1007); -GO -INSERT sys_role_menu VALUES (3, 1008); -GO -INSERT sys_role_menu VALUES (3, 1009); -GO -INSERT sys_role_menu VALUES (3, 1010); -GO -INSERT sys_role_menu VALUES (3, 1011); -GO -INSERT sys_role_menu VALUES (3, 1012); -GO -INSERT sys_role_menu VALUES (3, 1013); -GO -INSERT sys_role_menu VALUES (3, 1014); -GO -INSERT sys_role_menu VALUES (3, 1015); -GO -INSERT sys_role_menu VALUES (3, 1016); -GO -INSERT sys_role_menu VALUES (3, 1017); -GO -INSERT sys_role_menu VALUES (3, 1018); -GO -INSERT sys_role_menu VALUES (3, 1019); -GO -INSERT sys_role_menu VALUES (3, 1020); -GO -INSERT sys_role_menu VALUES (3, 1021); -GO -INSERT sys_role_menu VALUES (3, 1022); -GO -INSERT sys_role_menu VALUES (3, 1023); -GO -INSERT sys_role_menu VALUES (3, 1024); -GO -INSERT sys_role_menu VALUES (3, 1025); -GO -INSERT sys_role_menu VALUES (3, 1026); -GO -INSERT sys_role_menu VALUES (3, 1027); -GO -INSERT sys_role_menu VALUES (3, 1028); -GO -INSERT sys_role_menu VALUES (3, 1029); -GO -INSERT sys_role_menu VALUES (3, 1030); -GO -INSERT sys_role_menu VALUES (3, 1031); -GO -INSERT sys_role_menu VALUES (3, 1032); -GO -INSERT sys_role_menu VALUES (3, 1033); -GO -INSERT sys_role_menu VALUES (3, 1034); -GO -INSERT sys_role_menu VALUES (3, 1035); -GO -INSERT sys_role_menu VALUES (3, 1036); -GO -INSERT sys_role_menu VALUES (3, 1037); -GO -INSERT sys_role_menu VALUES (3, 1038); -GO -INSERT sys_role_menu VALUES (3, 1039); -GO -INSERT sys_role_menu VALUES (3, 1040); -GO -INSERT sys_role_menu VALUES (3, 1041); -GO -INSERT sys_role_menu VALUES (3, 1042); -GO -INSERT sys_role_menu VALUES (3, 1043); -GO -INSERT sys_role_menu VALUES (3, 1044); -GO -INSERT sys_role_menu VALUES (3, 1045); -GO -INSERT sys_role_menu VALUES (3, 1500); -GO -INSERT sys_role_menu VALUES (3, 1501); -GO -INSERT sys_role_menu VALUES (3, 1502); -GO -INSERT sys_role_menu VALUES (3, 1503); -GO -INSERT sys_role_menu VALUES (3, 1504); -GO -INSERT sys_role_menu VALUES (3, 1505); -GO -INSERT sys_role_menu VALUES (3, 1506); -GO -INSERT sys_role_menu VALUES (3, 1507); -GO -INSERT sys_role_menu VALUES (3, 1508); -GO -INSERT sys_role_menu VALUES (3, 1509); -GO -INSERT sys_role_menu VALUES (3, 1510); -GO -INSERT sys_role_menu VALUES (3, 1511); -GO -INSERT sys_role_menu VALUES (4, 5); -GO -INSERT sys_role_menu VALUES (4, 1500); -GO -INSERT sys_role_menu VALUES (4, 1501); -GO -INSERT sys_role_menu VALUES (4, 1502); -GO -INSERT sys_role_menu VALUES (4, 1503); -GO -INSERT sys_role_menu VALUES (4, 1504); -GO -INSERT sys_role_menu VALUES (4, 1505); -GO -INSERT sys_role_menu VALUES (4, 1506); -GO -INSERT sys_role_menu VALUES (4, 1507); -GO -INSERT sys_role_menu VALUES (4, 1508); -GO -INSERT sys_role_menu VALUES (4, 1509); -GO -INSERT sys_role_menu VALUES (4, 1510); -GO -INSERT sys_role_menu VALUES (4, 1511); -GO - -CREATE TABLE sys_user -( - user_id bigint NOT NULL, - tenant_id nvarchar(20) DEFAULT ('000000') NULL, - dept_id bigint NULL, - user_name nvarchar(30) NOT NULL, - nick_name nvarchar(30) NOT NULL, - user_type nvarchar(10) DEFAULT ('sys_user') NULL, - email nvarchar(50) DEFAULT '' NULL, - phonenumber nvarchar(11) DEFAULT '' NULL, - sex nchar(1) DEFAULT ('0') NULL, - avatar bigint NULL, - password nvarchar(100) DEFAULT '' NULL, - status nchar(1) DEFAULT ('0') NULL, - del_flag nchar(1) DEFAULT ('0') NULL, - login_ip nvarchar(128) DEFAULT '' NULL, - login_date datetime2(7) NULL, - create_dept bigint NULL, - create_by bigint NULL, - create_time datetime2(7) NULL, - update_by bigint NULL, - update_time datetime2(7) NULL, - remark nvarchar(500) NULL, - CONSTRAINT PK__sys_user__B9BE370F79170B6A PRIMARY KEY CLUSTERED (user_id) - WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) - ON [PRIMARY] -) -ON [PRIMARY] -GO - -EXEC sys.sp_addextendedproperty - 'MS_Description', N'用户ID' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_user', - 'COLUMN', N'user_id' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'租户编号' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_user', - 'COLUMN', N'tenant_id' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'部门ID' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_user', - 'COLUMN', N'dept_id' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'用户账号' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_user', - 'COLUMN', N'user_name' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'用户昵称' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_user', - 'COLUMN', N'nick_name' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'用户类型(sys_user系统用户)' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_user', - 'COLUMN', N'user_type' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'用户邮箱' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_user', - 'COLUMN', N'email' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'手机号码' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_user', - 'COLUMN', N'phonenumber' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'用户性别(0男 1女 2未知)' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_user', - 'COLUMN', N'sex' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'头像地址' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_user', - 'COLUMN', N'avatar' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'密码' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_user', - 'COLUMN', N'password' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'帐号状态(0正常 1停用)' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_user', - 'COLUMN', N'status' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'删除标志(0代表存在 2代表删除)' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_user', - 'COLUMN', N'del_flag' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'最后登录IP' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_user', - 'COLUMN', N'login_ip' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'最后登录时间' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_user', - 'COLUMN', N'login_date' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'创建部门' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_user', - 'COLUMN', N'create_dept' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'创建者' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_user', - 'COLUMN', N'create_by' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'创建时间' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_user', - 'COLUMN', N'create_time' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'更新者' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_user', - 'COLUMN', N'update_by' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'更新时间' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_user', - 'COLUMN', N'update_time' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'备注' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_user', - 'COLUMN', N'remark' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'用户信息表' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_user' -GO - -INSERT sys_user VALUES (1, N'000000', 103, N'admin', N'疯狂的狮子Li', N'sys_user', N'crazyLionLi@163.com', N'15888888888', N'1', NULL, N'$2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2', N'0', N'0', N'127.0.0.1', getdate(), 103, 1, getdate(), NULL, NULL, N'管理员') -GO -INSERT sys_user VALUES (3, N'000000', 108, N'test', N'本部门及以下 密码666666', N'sys_user', N'', N'', N'0', NULL, N'$2a$10$b8yUzN0C71sbz.PhNOCgJe.Tu1yWC3RNrTyjSQ8p1W0.aaUXUJ.Ne', N'0', N'0', N'127.0.0.1', getdate(), 103, 1, getdate(), 3, getdate(), NULL); -GO -INSERT sys_user VALUES (4, N'000000', 102, N'test1', N'仅本人 密码666666', N'sys_user', N'', N'', N'0', NULL, N'$2a$10$b8yUzN0C71sbz.PhNOCgJe.Tu1yWC3RNrTyjSQ8p1W0.aaUXUJ.Ne', N'0', N'0', N'127.0.0.1', getdate(), 103, 1, getdate(), 4, getdate(), NULL); -GO - -CREATE TABLE sys_user_post -( - user_id bigint NOT NULL, - post_id bigint NOT NULL, - CONSTRAINT PK__sys_user__CA534F799C04589B PRIMARY KEY CLUSTERED (user_id, post_id) - WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) - ON [PRIMARY] -) -ON [PRIMARY] -GO - -EXEC sys.sp_addextendedproperty - 'MS_Description', N'用户ID' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_user_post', - 'COLUMN', N'user_id' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'岗位ID' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_user_post', - 'COLUMN', N'post_id' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'用户与岗位关联表' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_user_post' -GO - -INSERT sys_user_post VALUES (1, 1) -GO - -CREATE TABLE sys_user_role -( - user_id bigint NOT NULL, - role_id bigint NOT NULL, - CONSTRAINT PK__sys_user__6EDEA153FB34D8F0 PRIMARY KEY CLUSTERED (user_id, role_id) - WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) - ON [PRIMARY] -) -ON [PRIMARY] -GO - -EXEC sys.sp_addextendedproperty - 'MS_Description', N'用户ID' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_user_role', - 'COLUMN', N'user_id' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'角色ID' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_user_role', - 'COLUMN', N'role_id' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'用户和角色关联表' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_user_role' -GO - -INSERT sys_user_role VALUES (1, 1) -GO -INSERT sys_user_role VALUES (3, 3); -GO -INSERT sys_user_role VALUES (4, 4); -GO - -CREATE TABLE sys_oss -( - oss_id bigint NOT NULL, - tenant_id nvarchar(20) DEFAULT ('000000') NULL, - file_name nvarchar(255) DEFAULT '' NOT NULL, - original_name nvarchar(255) DEFAULT '' NOT NULL, - file_suffix nvarchar(10) DEFAULT '' NOT NULL, - url nvarchar(500) NOT NULL, - create_dept bigint NULL, - create_time datetime2(7) NULL, - create_by bigint NULL, - update_time datetime2(7) NULL, - update_by bigint NULL, - service nvarchar(20) DEFAULT ('minio') NOT NULL, - CONSTRAINT PK__sys_oss__91241EA442389F0D PRIMARY KEY CLUSTERED (oss_id) - WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) - ON [PRIMARY] -) -ON [PRIMARY] -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'对象存储主键', - 'SCHEMA', N'dbo', - 'TABLE', N'sys_oss', - 'COLUMN', N'oss_id' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'租户编号' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_oss', - 'COLUMN', N'tenant_id' -GO -EXEC sp_addextendedproperty - 'MS_Description', N'文件名', - 'SCHEMA', N'dbo', - 'TABLE', N'sys_oss', - 'COLUMN', N'file_name' -GO -EXEC sp_addextendedproperty - 'MS_Description', N'原名', - 'SCHEMA', N'dbo', - 'TABLE', N'sys_oss', - 'COLUMN', N'original_name' -GO -EXEC sp_addextendedproperty - 'MS_Description', N'文件后缀名', - 'SCHEMA', N'dbo', - 'TABLE', N'sys_oss', - 'COLUMN', N'file_suffix' -GO -EXEC sp_addextendedproperty - 'MS_Description', N'URL地址', - 'SCHEMA', N'dbo', - 'TABLE', N'sys_oss', - 'COLUMN', N'url' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'创建部门' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_oss', - 'COLUMN', N'create_dept' -GO -EXEC sp_addextendedproperty - 'MS_Description', N'创建时间', - 'SCHEMA', N'dbo', - 'TABLE', N'sys_oss', - 'COLUMN', N'create_time' -GO -EXEC sp_addextendedproperty - 'MS_Description', N'上传人', - 'SCHEMA', N'dbo', - 'TABLE', N'sys_oss', - 'COLUMN', N'create_by' -GO -EXEC sp_addextendedproperty - 'MS_Description', N'更新时间', - 'SCHEMA', N'dbo', - 'TABLE', N'sys_oss', - 'COLUMN', N'update_time' -GO -EXEC sp_addextendedproperty - 'MS_Description', N'更新人', - 'SCHEMA', N'dbo', - 'TABLE', N'sys_oss', - 'COLUMN', N'update_by' -GO -EXEC sp_addextendedproperty - 'MS_Description', N'服务商', - 'SCHEMA', N'dbo', - 'TABLE', N'sys_oss', - 'COLUMN', N'service' -GO -EXEC sp_addextendedproperty - 'MS_Description', N'OSS对象存储表', - 'SCHEMA', N'dbo', - 'TABLE', N'sys_oss' -GO - -CREATE TABLE sys_oss_config -( - oss_config_id bigint NOT NULL, - tenant_id nvarchar(20) DEFAULT ('000000') NULL, - config_key nvarchar(20) DEFAULT '' NOT NULL, - access_key nvarchar(255) DEFAULT '' NULL, - secret_key nvarchar(255) DEFAULT '' NULL, - bucket_name nvarchar(255) DEFAULT '' NULL, - prefix nvarchar(255) DEFAULT '' NULL, - endpoint nvarchar(255) DEFAULT '' NULL, - domain nvarchar(255) DEFAULT '' NULL, - is_https nchar(1) DEFAULT ('N') NULL, - region nvarchar(255) DEFAULT '' NULL, - access_policy nchar(1) DEFAULT ('1') NOT NULL, - status nchar(1) DEFAULT ('1') NULL, - ext1 nvarchar(255) DEFAULT '' NULL, - create_dept bigint NULL, - create_by bigint NULL, - create_time datetime2(7) NULL, - update_by bigint NULL, - update_time datetime2(7) NULL, - remark nvarchar(500) NULL, - CONSTRAINT PK__sys_oss___BFBDE87009ED2882 PRIMARY KEY CLUSTERED (oss_config_id) - WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) - ON [PRIMARY] -) -ON [PRIMARY] -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'主键', - 'SCHEMA', N'dbo', - 'TABLE', N'sys_oss_config', - 'COLUMN', N'oss_config_id' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'租户编号' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_oss_config', - 'COLUMN', N'tenant_id' -GO -EXEC sp_addextendedproperty - 'MS_Description', N'配置key', - 'SCHEMA', N'dbo', - 'TABLE', N'sys_oss_config', - 'COLUMN', N'config_key' -GO -EXEC sp_addextendedproperty - 'MS_Description', N'accessKey', - 'SCHEMA', N'dbo', - 'TABLE', N'sys_oss_config', - 'COLUMN', N'access_key' -GO -EXEC sp_addextendedproperty - 'MS_Description', N'秘钥', - 'SCHEMA', N'dbo', - 'TABLE', N'sys_oss_config', - 'COLUMN', N'secret_key' -GO -EXEC sp_addextendedproperty - 'MS_Description', N'桶名称', - 'SCHEMA', N'dbo', - 'TABLE', N'sys_oss_config', - 'COLUMN', N'bucket_name' -GO -EXEC sp_addextendedproperty - 'MS_Description', N'前缀', - 'SCHEMA', N'dbo', - 'TABLE', N'sys_oss_config', - 'COLUMN', N'prefix' -GO -EXEC sp_addextendedproperty - 'MS_Description', N'访问站点', - 'SCHEMA', N'dbo', - 'TABLE', N'sys_oss_config', - 'COLUMN', N'endpoint' -GO -EXEC sp_addextendedproperty - 'MS_Description', N'自定义域名', - 'SCHEMA', N'dbo', - 'TABLE', N'sys_oss_config', - 'COLUMN', N'domain' -GO -EXEC sp_addextendedproperty - 'MS_Description', N'是否https(Y=是,N=否)', - 'SCHEMA', N'dbo', - 'TABLE', N'sys_oss_config', - 'COLUMN', N'is_https' -GO -EXEC sp_addextendedproperty - 'MS_Description', N'域', - 'SCHEMA', N'dbo', - 'TABLE', N'sys_oss_config', - 'COLUMN', N'region' -GO -EXEC sp_addextendedproperty - 'MS_Description', N'桶权限类型(0=private 1=public 2=custom)', - 'SCHEMA', N'dbo', - 'TABLE', N'sys_oss_config', - 'COLUMN', N'access_policy' -GO -EXEC sp_addextendedproperty - 'MS_Description', N'是否默认(0=是,1=否)', - 'SCHEMA', N'dbo', - 'TABLE', N'sys_oss_config', - 'COLUMN', N'status' -GO -EXEC sp_addextendedproperty - 'MS_Description', N'扩展字段', - 'SCHEMA', N'dbo', - 'TABLE', N'sys_oss_config', - 'COLUMN', N'ext1' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'创建部门' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_oss_config', - 'COLUMN', N'create_dept' -GO -EXEC sp_addextendedproperty - 'MS_Description', N'创建者', - 'SCHEMA', N'dbo', - 'TABLE', N'sys_oss_config', - 'COLUMN', N'create_by' -GO -EXEC sp_addextendedproperty - 'MS_Description', N'创建时间', - 'SCHEMA', N'dbo', - 'TABLE', N'sys_oss_config', - 'COLUMN', N'create_time' -GO -EXEC sp_addextendedproperty - 'MS_Description', N'更新者', - 'SCHEMA', N'dbo', - 'TABLE', N'sys_oss_config', - 'COLUMN', N'update_by' -GO -EXEC sp_addextendedproperty - 'MS_Description', N'更新时间', - 'SCHEMA', N'dbo', - 'TABLE', N'sys_oss_config', - 'COLUMN', N'update_time' -GO -EXEC sp_addextendedproperty - 'MS_Description', N'备注', - 'SCHEMA', N'dbo', - 'TABLE', N'sys_oss_config', - 'COLUMN', N'remark' -GO -EXEC sp_addextendedproperty - 'MS_Description', N'对象存储配置表', - 'SCHEMA', N'dbo', - 'TABLE', N'sys_oss_config' -GO - -INSERT INTO sys_oss_config VALUES (N'1', N'000000', N'minio', N'ruoyi', N'ruoyi123', N'ruoyi', N'', N'127.0.0.1:9000', N'',N'N', N'', N'1', N'0', N'', 103, 1, getdate(), 1, getdate(), NULL) -GO -INSERT INTO sys_oss_config VALUES (N'2', N'000000', N'qiniu', N'XXXXXXXXXXXXXXXX', N'XXXXXXXXXXXXXXX', N'ruoyi', N'', N's3-cn-north-1.qiniucs.com', N'',N'N', N'', N'1', N'1', N'', 103, 1, getdate(), 1, getdate(), NULL) -GO -INSERT INTO sys_oss_config VALUES (N'3', N'000000', N'aliyun', N'XXXXXXXXXXXXXXX', N'XXXXXXXXXXXXXXX', N'ruoyi', N'', N'oss-cn-beijing.aliyuncs.com', N'',N'N', N'', N'1', N'1', N'', 103, 1, getdate(), 1, getdate(), NULL) -GO -INSERT INTO sys_oss_config VALUES (N'4', N'000000', N'qcloud', N'XXXXXXXXXXXXXXX', N'XXXXXXXXXXXXXXX', N'ruoyi-1250000000', N'', N'cos.ap-beijing.myqcloud.com', N'',N'N', N'ap-beijing', N'1', N'1', N'', 103, 1, getdate(), 1, getdate(), NULL) -GO -INSERT INTO sys_oss_config VALUES (N'5', N'000000', N'image', N'ruoyi', N'ruoyi123', N'ruoyi', N'image', N'127.0.0.1:9000', N'',N'N', N'', N'1', N'1', N'', 103, 1, getdate(), 1, getdate(), NULL) -GO - - -CREATE TABLE sys_client -( - id bigint NOT NULL, - client_id nvarchar(64) DEFAULT '' NULL, - client_key nvarchar(32) DEFAULT '' NULL, - client_secret nvarchar(255) DEFAULT '' NULL, - grant_type nvarchar(255) DEFAULT '' NULL, - device_type nvarchar(32) DEFAULT '' NULL, - active_timeout int DEFAULT ((1800)) NULL, - timeout int DEFAULT ((604800)) NULL, - status nchar(1) DEFAULT ('0') NULL, - del_flag nchar(1) DEFAULT ('0') NULL, - create_dept bigint NULL, - create_by bigint NULL, - create_time datetime2(7) NULL, - update_by bigint NULL, - update_time datetime2(7) NULL - CONSTRAINT PK__sys_client___BFBDE87009ED2882 PRIMARY KEY CLUSTERED (id) - WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) - ON [PRIMARY] -) -ON [PRIMARY] -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'主键', - 'SCHEMA', N'dbo', - 'TABLE', N'sys_client', - 'COLUMN', N'id' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'客户端id' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_client', - 'COLUMN', N'client_id' -GO -EXEC sp_addextendedproperty - 'MS_Description', N'客户端key', - 'SCHEMA', N'dbo', - 'TABLE', N'sys_client', - 'COLUMN', N'client_key' -GO -EXEC sp_addextendedproperty - 'MS_Description', N'客户端秘钥', - 'SCHEMA', N'dbo', - 'TABLE', N'sys_client', - 'COLUMN', N'client_secret' -GO -EXEC sp_addextendedproperty - 'MS_Description', N'授权类型', - 'SCHEMA', N'dbo', - 'TABLE', N'sys_client', - 'COLUMN', N'grant_type' -GO -EXEC sp_addextendedproperty - 'MS_Description', N'设备类型', - 'SCHEMA', N'dbo', - 'TABLE', N'sys_client', - 'COLUMN', N'device_type' -GO -EXEC sp_addextendedproperty - 'MS_Description', N'token活跃超时时间', - 'SCHEMA', N'dbo', - 'TABLE', N'sys_client', - 'COLUMN', N'active_timeout' -GO -EXEC sp_addextendedproperty - 'MS_Description', N'token固定超时', - 'SCHEMA', N'dbo', - 'TABLE', N'sys_client', - 'COLUMN', N'timeout' -GO -EXEC sp_addextendedproperty - 'MS_Description', N'状态(0正常 1停用)', - 'SCHEMA', N'dbo', - 'TABLE', N'sys_client', - 'COLUMN', N'status' -GO -EXEC sp_addextendedproperty - 'MS_Description', N'删除标志(0代表存在 2代表删除)', - 'SCHEMA', N'dbo', - 'TABLE', N'sys_client', - 'COLUMN', N'del_flag' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'创建部门' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_client', - 'COLUMN', N'create_dept' -GO -EXEC sp_addextendedproperty - 'MS_Description', N'创建者', - 'SCHEMA', N'dbo', - 'TABLE', N'sys_client', - 'COLUMN', N'create_by' -GO -EXEC sp_addextendedproperty - 'MS_Description', N'创建时间', - 'SCHEMA', N'dbo', - 'TABLE', N'sys_client', - 'COLUMN', N'create_time' -GO -EXEC sp_addextendedproperty - 'MS_Description', N'更新者', - 'SCHEMA', N'dbo', - 'TABLE', N'sys_client', - 'COLUMN', N'update_by' -GO -EXEC sp_addextendedproperty - 'MS_Description', N'更新时间', - 'SCHEMA', N'dbo', - 'TABLE', N'sys_client', - 'COLUMN', N'update_time' -GO -EXEC sp_addextendedproperty - 'MS_Description', N'系统授权表', - 'SCHEMA', N'dbo', - 'TABLE', N'sys_client' -GO - -INSERT INTO sys_client VALUES (N'1', N'e5cd7e4891bf95d1d19206ce24a7b32e', N'pc', N'pc123', N'password,social', N'pc', 1800, 604800, N'0', N'0', 103, 1, getdate(), 1, getdate()) -GO -INSERT INTO sys_client VALUES (N'2', N'428a8310cd442757ae699df5d894f051', N'app', N'app123', N'password,sms,social', N'android', 1800, 604800, N'0', N'0', 103, 1, getdate(), 1, getdate()) -GO - -CREATE TABLE test_demo -( - id bigint NOT NULL, - tenant_id nvarchar(20) DEFAULT ('000000') NULL, - dept_id bigint NULL, - user_id bigint NULL, - order_num int DEFAULT ((0)) NULL, - test_key nvarchar(255) NULL, - value nvarchar(255) NULL, - version int DEFAULT ((0)) NULL, - create_dept bigint NULL, - create_time datetime2(0) NULL, - create_by bigint NULL, - update_time datetime2(0) NULL, - update_by bigint NULL, - del_flag int DEFAULT ((0)) NULL, - CONSTRAINT PK__test_dem__3213E83F176051C8 PRIMARY KEY CLUSTERED (id) - WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) - ON [PRIMARY] -) -ON [PRIMARY] -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'主键', - 'SCHEMA', N'dbo', - 'TABLE', N'test_demo', - 'COLUMN', N'id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'租户id', - 'SCHEMA', N'dbo', - 'TABLE', N'test_demo', - 'COLUMN', N'tenant_id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'部门id', - 'SCHEMA', N'dbo', - 'TABLE', N'test_demo', - 'COLUMN', N'dept_id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'用户id', - 'SCHEMA', N'dbo', - 'TABLE', N'test_demo', - 'COLUMN', N'user_id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'排序号', - 'SCHEMA', N'dbo', - 'TABLE', N'test_demo', - 'COLUMN', N'order_num' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'key键', - 'SCHEMA', N'dbo', - 'TABLE', N'test_demo', - 'COLUMN', N'test_key' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'值', - 'SCHEMA', N'dbo', - 'TABLE', N'test_demo', - 'COLUMN', N'value' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'版本', - 'SCHEMA', N'dbo', - 'TABLE', N'test_demo', - 'COLUMN', N'version' -GO - -EXEC sys.sp_addextendedproperty - 'MS_Description', N'创建部门' , - 'SCHEMA', N'dbo', - 'TABLE', N'test_demo', - 'COLUMN', N'create_dept' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'创建时间', - 'SCHEMA', N'dbo', - 'TABLE', N'test_demo', - 'COLUMN', N'create_time' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'创建人', - 'SCHEMA', N'dbo', - 'TABLE', N'test_demo', - 'COLUMN', N'create_by' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'更新时间', - 'SCHEMA', N'dbo', - 'TABLE', N'test_demo', - 'COLUMN', N'update_time' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'更新人', - 'SCHEMA', N'dbo', - 'TABLE', N'test_demo', - 'COLUMN', N'update_by' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'删除标志', - 'SCHEMA', N'dbo', - 'TABLE', N'test_demo', - 'COLUMN', N'del_flag' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'测试单表', - 'SCHEMA', N'dbo', - 'TABLE', N'test_demo' -GO - -CREATE TABLE test_tree -( - id bigint NOT NULL, - tenant_id nvarchar(20) DEFAULT ('000000') NULL, - parent_id bigint DEFAULT ((0)) NULL, - dept_id bigint NULL, - user_id bigint NULL, - tree_name nvarchar(255) NULL, - version int DEFAULT ((0)) NULL, - create_dept bigint NULL, - create_time datetime2(0) NULL, - create_by bigint NULL, - update_time datetime2(0) NULL, - update_by bigint NULL, - del_flag int DEFAULT ((0)) NULL, - CONSTRAINT PK__test_tre__3213E83FC75A1B63 PRIMARY KEY CLUSTERED (id) - WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) - ON [PRIMARY] -) -ON [PRIMARY] -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'主键', - 'SCHEMA', N'dbo', - 'TABLE', N'test_tree', - 'COLUMN', N'id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'租户id', - 'SCHEMA', N'dbo', - 'TABLE', N'test_tree', - 'COLUMN', N'tenant_id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'父id', - 'SCHEMA', N'dbo', - 'TABLE', N'test_tree', - 'COLUMN', N'parent_id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'部门id', - 'SCHEMA', N'dbo', - 'TABLE', N'test_tree', - 'COLUMN', N'dept_id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'用户id', - 'SCHEMA', N'dbo', - 'TABLE', N'test_tree', - 'COLUMN', N'user_id' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'值', - 'SCHEMA', N'dbo', - 'TABLE', N'test_tree', - 'COLUMN', N'tree_name' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'版本', - 'SCHEMA', N'dbo', - 'TABLE', N'test_tree', - 'COLUMN', N'version' -GO - -EXEC sys.sp_addextendedproperty - 'MS_Description', N'创建部门' , - 'SCHEMA', N'dbo', - 'TABLE', N'test_tree', - 'COLUMN', N'create_dept' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'创建时间', - 'SCHEMA', N'dbo', - 'TABLE', N'test_tree', - 'COLUMN', N'create_time' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'创建人', - 'SCHEMA', N'dbo', - 'TABLE', N'test_tree', - 'COLUMN', N'create_by' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'更新时间', - 'SCHEMA', N'dbo', - 'TABLE', N'test_tree', - 'COLUMN', N'update_time' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'更新人', - 'SCHEMA', N'dbo', - 'TABLE', N'test_tree', - 'COLUMN', N'update_by' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'删除标志', - 'SCHEMA', N'dbo', - 'TABLE', N'test_tree', - 'COLUMN', N'del_flag' -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'测试树表', - 'SCHEMA', N'dbo', - 'TABLE', N'test_tree' -GO - -INSERT test_demo VALUES (1, N'000000', 102, 4, 1, N'测试数据权限', N'测试', 0, 103, getdate(), 1, NULL, NULL, 0); -GO -INSERT test_demo VALUES (2, N'000000', 102, 3, 2, N'子节点1', N'111', 0, 103, getdate(), 1, NULL, NULL, 0); -GO -INSERT test_demo VALUES (3, N'000000', 102, 3, 3, N'子节点2', N'222', 0, 103, getdate(), 1, NULL, NULL, 0); -GO -INSERT test_demo VALUES (4, N'000000', 108, 4, 4, N'测试数据', N'demo', 0, 103, getdate(), 1, NULL, NULL, 0); -GO -INSERT test_demo VALUES (5, N'000000', 108, 3, 13, N'子节点11', N'1111', 0, 103, getdate(), 1, NULL, NULL, 0); -GO -INSERT test_demo VALUES (6, N'000000', 108, 3, 12, N'子节点22', N'2222', 0, 103, getdate(), 1, NULL, NULL, 0); -GO -INSERT test_demo VALUES (7, N'000000', 108, 3, 11, N'子节点33', N'3333', 0, 103, getdate(), 1, NULL, NULL, 0); -GO -INSERT test_demo VALUES (8, N'000000', 108, 3, 10, N'子节点44', N'4444', 0, 103, getdate(), 1, NULL, NULL, 0); -GO -INSERT test_demo VALUES (9, N'000000', 108, 3, 9, N'子节点55', N'5555', 0, 103, getdate(), 1, NULL, NULL, 0); -GO -INSERT test_demo VALUES (10, N'000000', 108, 3, 8, N'子节点66', N'6666', 0, 103, getdate(), 1, NULL, NULL, 0); -GO -INSERT test_demo VALUES (11, N'000000', 108, 3, 7, N'子节点77', N'7777', 0, 103, getdate(), 1, NULL, NULL, 0); -GO -INSERT test_demo VALUES (12, N'000000', 108, 3, 6, N'子节点88', N'8888', 0, 103, getdate(), 1, NULL, NULL, 0); -GO -INSERT test_demo VALUES (13, N'000000', 108, 3, 5, N'子节点99', N'9999', 0, 103, getdate(), 1, NULL, NULL, 0); -GO - -INSERT test_tree VALUES (1, N'000000', 0, 102, 4, N'测试数据权限', 0, 103, getdate(), 1, NULL, NULL, 0); -GO -INSERT test_tree VALUES (2, N'000000', 1, 102, 3, N'子节点1', 0, 103, getdate(), 1, NULL, NULL, 0); -GO -INSERT test_tree VALUES (3, N'000000', 2, 102, 3, N'子节点2', 0, 103, getdate(), 1, NULL, NULL, 0); -GO -INSERT test_tree VALUES (4, N'000000', 0, 108, 4, N'测试树1', 0, 103, getdate(), 1, NULL, NULL, 0); -GO -INSERT test_tree VALUES (5, N'000000', 4, 108, 3, N'子节点11', 0, 103, getdate(), 1, NULL, NULL, 0); -GO -INSERT test_tree VALUES (6, N'000000', 4, 108, 3, N'子节点22', 0, 103, getdate(), 1, NULL, NULL, 0); -GO -INSERT test_tree VALUES (7, N'000000', 4, 108, 3, N'子节点33', 0, 103, getdate(), 1, NULL, NULL, 0); -GO -INSERT test_tree VALUES (8, N'000000', 5, 108, 3, N'子节点44', 0, 103, getdate(), 1, NULL, NULL, 0); -GO -INSERT test_tree VALUES (9, N'000000', 6, 108, 3, N'子节点55', 0, 103, getdate(), 1, NULL, NULL, 0); -GO -INSERT test_tree VALUES (10, N'000000', 7, 108, 3, N'子节点66', 0, 103, getdate(), 1, NULL, NULL, 0); -GO -INSERT test_tree VALUES (11, N'000000', 7, 108, 3, N'子节点77', 0, 103, getdate(), 1, NULL, NULL, 0); -GO -INSERT test_tree VALUES (12, N'000000', 10, 108, 3, N'子节点88', 0, 103, getdate(), 1, NULL, NULL, 0); -GO -INSERT test_tree VALUES (13, N'000000', 10, 108, 3, N'子节点99', 0, 103, getdate(), 1, NULL, NULL, 0); -GO diff --git a/im-admin/script/sql/sqlserver/sqlserver_ry_workflow.sql b/im-admin/script/sql/sqlserver/sqlserver_ry_workflow.sql deleted file mode 100644 index 2397c35..0000000 --- a/im-admin/script/sql/sqlserver/sqlserver_ry_workflow.sql +++ /dev/null @@ -1,456 +0,0 @@ -insert into sys_menu values('11616', '工作流' , '0', '6', 'workflow', '', '', '1', '0', 'M', '0', '0', '', 'workflow', 103, 1, getdate(), NULL, NULL, ''); -insert into sys_menu values('11617', '模型管理', '11616', '2', 'model', 'workflow/model/index', '', '1', '1', 'C', '0', '0', 'workflow:model:list', 'model', 103, 1, getdate(), NULL, NULL, ''); -insert into sys_menu values('11618', '我的任务', '0', '7', 'task', '', '', '1', '0', 'M', '0', '0', '', 'my-task', 103, 1, getdate(), NULL, NULL, ''); -insert into sys_menu values('11619', '我的待办', '11618', '2', 'taskWaiting', 'workflow/task/taskWaiting', '', '1', '1', 'C', '0', '0', '', 'waiting', 103, 1, getdate(), NULL, NULL, ''); -insert into sys_menu values('11632', '我的已办', '11618', '3', 'taskFinish', 'workflow/task/taskFinish', '', '1', '1', 'C', '0', '0', '', 'finish', 103, 1, getdate(), NULL, NULL, ''); -insert into sys_menu values('11633', '我的抄送', '11618', '4', 'taskCopyList', 'workflow/task/taskCopyList', '', '1', '1', 'C', '0', '0', '', 'my-copy', 103, 1, getdate(), NULL, NULL, ''); -insert into sys_menu values('11620', '流程定义', '11616', '3', 'processDefinition', 'workflow/processDefinition/index', '', '1', '1', 'C', '0', '0', '', 'process-definition', 103, 1, getdate(), NULL, NULL, ''); -insert into sys_menu values('11621', '流程实例', '11630', '1', 'processInstance', 'workflow/processInstance/index', '', '1', '1', 'C', '0', '0', '', 'tree-table', 103, 1, getdate(), NULL, NULL, ''); -insert into sys_menu values('11622', '流程分类', '11616', '1', 'category', 'workflow/category/index', '', '1', '0', 'C', '0', '0', 'workflow:category:list', 'category', 103, 1, getdate(), NULL, NULL, ''); -insert into sys_menu values('11629', '我发起的', '11618', '1', 'myDocument', 'workflow/task/myDocument', '', '1', '1', 'C', '0', '0', '', 'guide', 103, 1, getdate(), NULL, NULL, ''); -insert into sys_menu values('11630', '流程监控', '11616', '4', 'monitor', '', '', '1', '0', 'M', '0', '0', '', 'monitor', 103, 1, getdate(), NULL, NULL, ''); -insert into sys_menu values('11631', '待办任务', '11630', '2', 'allTaskWaiting', 'workflow/task/allTaskWaiting', '', '1', '1', 'C', '0', '0', '', 'waiting', 103, 1, getdate(), NULL, NULL, ''); - - --- 流程分类管理相关按钮 -insert into sys_menu values ('11623', '流程分类查询', '11622', '1', '#', '', '', 1, 0, 'F', '0', '0', 'workflow:category:query', '#', 103, 1, getdate(), null, null, ''); -insert into sys_menu values ('11624', '流程分类新增', '11622', '2', '#', '', '', 1, 0, 'F', '0', '0', 'workflow:category:add', '#', 103, 1, getdate(), null, null, ''); -insert into sys_menu values ('11625', '流程分类修改', '11622', '3', '#', '', '', 1, 0, 'F', '0', '0', 'workflow:category:edit', '#', 103, 1, getdate(), null, null, ''); -insert into sys_menu values ('11626', '流程分类删除', '11622', '4', '#', '', '', 1, 0, 'F', '0', '0', 'workflow:category:remove','#', 103, 1, getdate(), null, null, ''); -insert into sys_menu values ('11627', '流程分类导出', '11622', '5', '#', '', '', 1, 0, 'F', '0', '0', 'workflow:category:export','#', 103, 1, getdate(), null, null, ''); --- 请假单信息 -create table test_leave -( - id bigint not null - primary key, - leave_type nvarchar(255) not null, - start_date datetime2 not null, - end_date datetime2 not null, - leave_days int not null, - remark nvarchar(255), - status nvarchar(255), - create_dept bigint, - create_by bigint, - create_time datetime2, - update_by bigint, - update_time datetime2, - tenant_id nvarchar(20) -) -go - -exec sp_addextendedproperty 'MS_Description', N'请假申请表', 'SCHEMA', 'dbo', 'TABLE', 'test_leave' -go - -exec sp_addextendedproperty 'MS_Description', N'主键', 'SCHEMA', 'dbo', 'TABLE', 'test_leave', 'COLUMN', 'id' -go - -exec sp_addextendedproperty 'MS_Description', N'请假类型', 'SCHEMA', 'dbo', 'TABLE', 'test_leave', 'COLUMN', - 'leave_type' -go - -exec sp_addextendedproperty 'MS_Description', N'开始时间', 'SCHEMA', 'dbo', 'TABLE', 'test_leave', 'COLUMN', - 'start_date' -go - -exec sp_addextendedproperty 'MS_Description', N'结束时间', 'SCHEMA', 'dbo', 'TABLE', 'test_leave', 'COLUMN', 'end_date' -go - -exec sp_addextendedproperty 'MS_Description', N'请假天数', 'SCHEMA', 'dbo', 'TABLE', 'test_leave', 'COLUMN', - 'leave_days' -go - -exec sp_addextendedproperty 'MS_Description', N'请假原因', 'SCHEMA', 'dbo', 'TABLE', 'test_leave', 'COLUMN', 'remark' -go - -exec sp_addextendedproperty 'MS_Description', N'状态', 'SCHEMA', 'dbo', 'TABLE', 'test_leave', 'COLUMN', 'status' -go - -exec sp_addextendedproperty 'MS_Description', N'创建部门', 'SCHEMA', 'dbo', 'TABLE', 'test_leave', 'COLUMN', - 'create_dept' -go - -exec sp_addextendedproperty 'MS_Description', N'创建者', 'SCHEMA', 'dbo', 'TABLE', 'test_leave', 'COLUMN', 'create_by' -go - -exec sp_addextendedproperty 'MS_Description', N'创建时间', 'SCHEMA', 'dbo', 'TABLE', 'test_leave', 'COLUMN', - 'create_time' -go - -exec sp_addextendedproperty 'MS_Description', N'更新者', 'SCHEMA', 'dbo', 'TABLE', 'test_leave', 'COLUMN', 'update_by' -go - -exec sp_addextendedproperty 'MS_Description', N'更新时间', 'SCHEMA', 'dbo', 'TABLE', 'test_leave', 'COLUMN', - 'update_time' -go - -exec sp_addextendedproperty 'MS_Description', N'租户编号', 'SCHEMA', 'dbo', 'TABLE', 'test_leave', 'COLUMN', 'tenant_id' -go - --- 流程分类信息表 -create table wf_category -( - id bigint not null - primary key, - category_name nvarchar(255), - category_code nvarchar(255) - constraint uni_category_code - unique, - parent_id bigint, - sort_num int, - tenant_id nvarchar(20), - create_dept bigint, - create_by bigint, - create_time datetime2, - update_by bigint, - update_time datetime2 -) -go - -exec sp_addextendedproperty 'MS_Description', N'流程分类', 'SCHEMA', 'dbo', 'TABLE', 'wf_category' -go - -exec sp_addextendedproperty 'MS_Description', N'主键', 'SCHEMA', 'dbo', 'TABLE', 'wf_category', 'COLUMN', 'id' -go - -exec sp_addextendedproperty 'MS_Description', N'分类名称', 'SCHEMA', 'dbo', 'TABLE', 'wf_category', 'COLUMN', - 'category_name' -go - -exec sp_addextendedproperty 'MS_Description', N'分类编码', 'SCHEMA', 'dbo', 'TABLE', 'wf_category', 'COLUMN', - 'category_code' -go - -exec sp_addextendedproperty 'MS_Description', N'父级id', 'SCHEMA', 'dbo', 'TABLE', 'wf_category', 'COLUMN', 'parent_id' -go - -exec sp_addextendedproperty 'MS_Description', N'排序', 'SCHEMA', 'dbo', 'TABLE', 'wf_category', 'COLUMN', 'sort_num' -go - -exec sp_addextendedproperty 'MS_Description', N'租户编号', 'SCHEMA', 'dbo', 'TABLE', 'wf_category', 'COLUMN', - 'tenant_id' -go - -exec sp_addextendedproperty 'MS_Description', N'创建部门', 'SCHEMA', 'dbo', 'TABLE', 'wf_category', 'COLUMN', - 'create_dept' -go - -exec sp_addextendedproperty 'MS_Description', N'创建者', 'SCHEMA', 'dbo', 'TABLE', 'wf_category', 'COLUMN', 'create_by' -go - -exec sp_addextendedproperty 'MS_Description', N'创建时间', 'SCHEMA', 'dbo', 'TABLE', 'wf_category', 'COLUMN', - 'create_time' -go - -exec sp_addextendedproperty 'MS_Description', N'更新者', 'SCHEMA', 'dbo', 'TABLE', 'wf_category', 'COLUMN', 'update_by' -go - -exec sp_addextendedproperty 'MS_Description', N'更新时间', 'SCHEMA', 'dbo', 'TABLE', 'wf_category', 'COLUMN', - 'update_time' -go - -INSERT INTO wf_category values (1, 'OA', 'OA', 0, 0, '000000', 103, 1, getdate(), 1, getdate()); - -create table wf_task_back_node -( - id bigint not null primary key, - node_id nvarchar(255) not null, - node_name nvarchar(255) not null, - order_no int not null, - instance_id nvarchar(255) not null, - task_type nvarchar(255) not null, - assignee nvarchar(2000) not null, - tenant_id nvarchar(20), - create_dept bigint, - create_by bigint, - create_time datetime2, - update_by bigint, - update_time datetime2 -) - -go -exec sp_addextendedproperty 'MS_Description', N'节点审批记录', 'SCHEMA', 'dbo', 'TABLE', 'wf_task_back_node' -go - -exec sp_addextendedproperty 'MS_Description', N'主键', 'SCHEMA', 'dbo', 'TABLE', 'wf_task_back_node', 'COLUMN', 'id' -go - -exec sp_addextendedproperty 'MS_Description', N'节点id', 'SCHEMA', 'dbo', 'TABLE', 'wf_task_back_node', 'COLUMN', - 'node_id' -go - -exec sp_addextendedproperty 'MS_Description', N'节点名称', 'SCHEMA', 'dbo', 'TABLE', 'wf_task_back_node', 'COLUMN', - 'node_name' -go - -exec sp_addextendedproperty 'MS_Description', N'排序', 'SCHEMA', 'dbo', 'TABLE', 'wf_task_back_node', 'COLUMN', 'order_no' -go - -exec sp_addextendedproperty 'MS_Description', N'流程实例id', 'SCHEMA', 'dbo', 'TABLE', 'wf_task_back_node', 'COLUMN', 'instance_id' -go - -exec sp_addextendedproperty 'MS_Description', N'节点类型', 'SCHEMA', 'dbo', 'TABLE', 'wf_task_back_node', 'COLUMN', 'task_type' -go - -exec sp_addextendedproperty 'MS_Description', N'审批人', 'SCHEMA', 'dbo', 'TABLE', 'wf_task_back_node', 'COLUMN', 'assignee' -go - -exec sp_addextendedproperty 'MS_Description', N'租户编号', 'SCHEMA', 'dbo', 'TABLE', 'wf_task_back_node', 'COLUMN', - 'tenant_id' -go - -exec sp_addextendedproperty 'MS_Description', N'创建部门', 'SCHEMA', 'dbo', 'TABLE', 'wf_task_back_node', 'COLUMN', - 'create_dept' -go - -exec sp_addextendedproperty 'MS_Description', N'创建者', 'SCHEMA', 'dbo', 'TABLE', 'wf_task_back_node', 'COLUMN', 'create_by' -go - -exec sp_addextendedproperty 'MS_Description', N'创建时间', 'SCHEMA', 'dbo', 'TABLE', 'wf_task_back_node', 'COLUMN', - 'create_time' -go - -exec sp_addextendedproperty 'MS_Description', N'更新者', 'SCHEMA', 'dbo', 'TABLE', 'wf_task_back_node', 'COLUMN', 'update_by' -go - -exec sp_addextendedproperty 'MS_Description', N'更新时间', 'SCHEMA', 'dbo', 'TABLE', 'wf_task_back_node', 'COLUMN', - 'update_time' -go - -create table wf_definition_config -( - id bigint not null primary key, - table_name nvarchar(255) not null, - definition_id nvarchar(255) not null - constraint uni_definition_id - unique, - process_key nvarchar(255) not null, - version bigint not null, - remark nvarchar(500) DEFAULT ('') null, - tenant_id nvarchar(20), - create_dept bigint, - create_by bigint, - create_time datetime2, - update_by bigint, - update_time datetime2 -) - -go -exec sp_addextendedproperty 'MS_Description', N'流程定义配置', 'SCHEMA', 'dbo', 'TABLE', 'wf_definition_config' -go - -exec sp_addextendedproperty 'MS_Description', N'主键', 'SCHEMA', 'dbo', 'TABLE', 'wf_definition_config', 'COLUMN', 'id' -go - -exec sp_addextendedproperty 'MS_Description', N'表名', 'SCHEMA', 'dbo', 'TABLE', 'wf_definition_config', 'COLUMN', - 'table_name' -go - -exec sp_addextendedproperty 'MS_Description', N'流程定义ID', 'SCHEMA', 'dbo', 'TABLE', 'wf_definition_config', 'COLUMN', - 'definition_id' -go - -exec sp_addextendedproperty 'MS_Description', N'流程KEY', 'SCHEMA', 'dbo', 'TABLE', 'wf_definition_config', 'COLUMN', - 'process_key' -go - -exec sp_addextendedproperty 'MS_Description', N'流程版本', 'SCHEMA', 'dbo', 'TABLE', 'wf_definition_config', 'COLUMN', - 'version' -go - -exec sp_addextendedproperty 'MS_Description', N'备注', 'SCHEMA', 'dbo', 'TABLE', 'wf_definition_config', 'COLUMN', - 'remark' -go - -exec sp_addextendedproperty 'MS_Description', N'租户编号', 'SCHEMA', 'dbo', 'TABLE', 'wf_definition_config', 'COLUMN', - 'tenant_id' -go - -exec sp_addextendedproperty 'MS_Description', N'创建部门', 'SCHEMA', 'dbo', 'TABLE', 'wf_definition_config', 'COLUMN', - 'create_dept' -go - -exec sp_addextendedproperty 'MS_Description', N'创建者', 'SCHEMA', 'dbo', 'TABLE', 'wf_definition_config', 'COLUMN', 'create_by' -go - -exec sp_addextendedproperty 'MS_Description', N'创建时间', 'SCHEMA', 'dbo', 'TABLE', 'wf_definition_config', 'COLUMN', - 'create_time' -go - -exec sp_addextendedproperty 'MS_Description', N'更新者', 'SCHEMA', 'dbo', 'TABLE', 'wf_definition_config', 'COLUMN', 'update_by' -go - -exec sp_addextendedproperty 'MS_Description', N'更新时间', 'SCHEMA', 'dbo', 'TABLE', 'wf_definition_config', 'COLUMN', - 'update_time' -go - -create table wf_form_manage -( - id bigint not null primary key, - form_name nvarchar(255) not null, - form_type nvarchar(255) not null, - router nvarchar(255) not null, - remark nvarchar(500) null, - tenant_id nvarchar(20), - create_dept bigint, - create_by bigint, - create_time datetime2, - update_by bigint, - update_time datetime2 -) - -go -exec sp_addextendedproperty 'MS_Description', N'表单管理', 'SCHEMA', 'dbo', 'TABLE', 'wf_form_manage' -go - -exec sp_addextendedproperty 'MS_Description', N'主键', 'SCHEMA', 'dbo', 'TABLE', 'wf_form_manage', 'COLUMN', 'id' -go - -exec sp_addextendedproperty 'MS_Description', N'表单名称', 'SCHEMA', 'dbo', 'TABLE', 'wf_form_manage', 'COLUMN', - 'form_name' -go - -exec sp_addextendedproperty 'MS_Description', N'表单类型', 'SCHEMA', 'dbo', 'TABLE', 'wf_form_manage', 'COLUMN', - 'form_type' -go - -exec sp_addextendedproperty 'MS_Description', N'路由地址/表单ID', 'SCHEMA', 'dbo', 'TABLE', 'wf_form_manage', 'COLUMN', - 'router' -go - -exec sp_addextendedproperty 'MS_Description', N'备注', 'SCHEMA', 'dbo', 'TABLE', 'wf_form_manage', 'COLUMN', - 'remark' -go - -exec sp_addextendedproperty 'MS_Description', N'租户编号', 'SCHEMA', 'dbo', 'TABLE', 'wf_form_manage', 'COLUMN', - 'tenant_id' -go - -exec sp_addextendedproperty 'MS_Description', N'创建部门', 'SCHEMA', 'dbo', 'TABLE', 'wf_form_manage', 'COLUMN', - 'create_dept' -go - -exec sp_addextendedproperty 'MS_Description', N'创建者', 'SCHEMA', 'dbo', 'TABLE', 'wf_form_manage', 'COLUMN', 'create_by' -go - -exec sp_addextendedproperty 'MS_Description', N'创建时间', 'SCHEMA', 'dbo', 'TABLE', 'wf_form_manage', 'COLUMN', - 'create_time' -go - -exec sp_addextendedproperty 'MS_Description', N'更新者', 'SCHEMA', 'dbo', 'TABLE', 'wf_form_manage', 'COLUMN', 'update_by' -go - -exec sp_addextendedproperty 'MS_Description', N'更新时间', 'SCHEMA', 'dbo', 'TABLE', 'wf_form_manage', 'COLUMN', - 'update_time' -go - -insert into wf_form_manage(id, form_name, form_type, router, remark, tenant_id, create_dept, create_by, create_time, update_by, update_time) VALUES (1, '请假申请', 'static', '/workflow/leaveEdit/index', NULL, '000000', 103, 1, getdate(), 1, getdate()); - -create table wf_node_config -( - id bigint not null primary key, - form_id bigint, - form_type nvarchar(255) , - node_name nvarchar(255) not null, - node_id nvarchar(255) not null, - definition_id nvarchar(255) not null, - apply_user_task nchar default ('0') null, - tenant_id nvarchar(20), - create_dept bigint, - create_by bigint, - create_time datetime2, - update_by bigint, - update_time datetime2 -) - -go -exec sp_addextendedproperty 'MS_Description', N'节点配置', 'SCHEMA', 'dbo', 'TABLE', 'wf_node_config' -go - -exec sp_addextendedproperty 'MS_Description', N'主键', 'SCHEMA', 'dbo', 'TABLE', 'wf_node_config', 'COLUMN', 'id' -go - -exec sp_addextendedproperty 'MS_Description', N'表单id', 'SCHEMA', 'dbo', 'TABLE', 'wf_node_config', 'COLUMN', - 'form_id' -go - -exec sp_addextendedproperty 'MS_Description', N'表单类型', 'SCHEMA', 'dbo', 'TABLE', 'wf_node_config', 'COLUMN', - 'form_type' -go - -exec sp_addextendedproperty 'MS_Description', N'节点名称', 'SCHEMA', 'dbo', 'TABLE', 'wf_node_config', 'COLUMN', - 'node_name' -go - -exec sp_addextendedproperty 'MS_Description', N'节点id', 'SCHEMA', 'dbo', 'TABLE', 'wf_node_config', 'COLUMN', - 'node_id' -go - -exec sp_addextendedproperty 'MS_Description', N'流程定义id', 'SCHEMA', 'dbo', 'TABLE', 'wf_node_config', 'COLUMN', - 'definition_id' -go - -exec sp_addextendedproperty 'MS_Description', N'是否为申请人节点 (0是 1否)', 'SCHEMA', 'dbo', 'TABLE', 'wf_node_config', 'COLUMN', - 'apply_user_task' -go - -exec sp_addextendedproperty 'MS_Description', N'租户编号', 'SCHEMA', 'dbo', 'TABLE', 'wf_node_config', 'COLUMN', - 'tenant_id' -go - -exec sp_addextendedproperty 'MS_Description', N'创建部门', 'SCHEMA', 'dbo', 'TABLE', 'wf_node_config', 'COLUMN', - 'create_dept' -go - -exec sp_addextendedproperty 'MS_Description', N'创建者', 'SCHEMA', 'dbo', 'TABLE', 'wf_node_config', 'COLUMN', 'create_by' -go - -exec sp_addextendedproperty 'MS_Description', N'创建时间', 'SCHEMA', 'dbo', 'TABLE', 'wf_node_config', 'COLUMN', - 'create_time' -go - -exec sp_addextendedproperty 'MS_Description', N'更新者', 'SCHEMA', 'dbo', 'TABLE', 'wf_node_config', 'COLUMN', 'update_by' -go - -exec sp_addextendedproperty 'MS_Description', N'更新时间', 'SCHEMA', 'dbo', 'TABLE', 'wf_node_config', 'COLUMN', - 'update_time' -go - -INSERT INTO sys_menu(menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (11638, '请假申请', 5, 1, 'leave', 'workflow/leave/index', 1, 0, 'C', '0', '0', 'workflow:leave:list', '#', 103, 1, getdate(), NULL, NULL, '请假申请菜单'); -INSERT INTO sys_menu(menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (11639, '请假申请查询', 11638, 1, '#', '', 1, 0, 'F', '0', '0', 'workflow:leave:query', '#', 103, 1, getdate(), NULL, NULL, ''); -INSERT INTO sys_menu(menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (11640, '请假申请新增', 11638, 2, '#', '', 1, 0, 'F', '0', '0', 'workflow:leave:add', '#', 103, 1, getdate(), NULL, NULL, ''); -INSERT INTO sys_menu(menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (11641, '请假申请修改', 11638, 3, '#', '', 1, 0, 'F', '0', '0', 'workflow:leave:edit', '#', 103, 1, getdate(), NULL, NULL, ''); -INSERT INTO sys_menu(menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (11642, '请假申请删除', 11638, 4, '#', '', 1, 0, 'F', '0', '0', 'workflow:leave:remove', '#', 103, 1, getdate(), NULL, NULL, ''); -INSERT INTO sys_menu(menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (11643, '请假申请导出', 11638, 5, '#', '', 1, 0, 'F', '0', '0', 'workflow:leave:export', '#', 103, 1, getdate(), NULL, NULL, ''); - -INSERT INTO sys_dict_type(dict_id, tenant_id, dict_name, dict_type, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (13, '000000', '业务状态', 'wf_business_status', 103, 1, getdate(), NULL, NULL, '业务状态列表'); -INSERT INTO sys_dict_type(dict_id, tenant_id, dict_name, dict_type, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (14, '000000', '表单类型', 'wf_form_type', 103, 1, getdate(), NULL, NULL, '表单类型列表'); - -INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (39, '000000', 1, '已撤销', 'cancel', 'wf_business_status', '', 'danger', 'N', 103, 1, getdate(), NULL, NULL, '已撤销'); -INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (40, '000000', 2, '草稿', 'draft', 'wf_business_status', '', 'info', 'N', 103, 1, getdate(), NULL, NULL, '草稿'); -INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (41, '000000', 3, '待审核', 'waiting', 'wf_business_status', '', 'primary', 'N', 103, 1,getdate(), NULL, NULL, '待审核'); -INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (42, '000000', 4, '已完成', 'finish', 'wf_business_status', '', 'success', 'N', 103, 1, getdate(), NULL, NULL, '已完成'); -INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (43, '000000', 5, '已作废', 'invalid', 'wf_business_status', '', 'danger', 'N', 103, 1, getdate(), NULL, NULL, '已作废'); -INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (44, '000000', 6, '已退回', 'back', 'wf_business_status', '', 'danger', 'N', 103, 1, getdate(), NULL, NULL, '已退回'); -INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (45, '000000', 7, '已终止', 'termination', 'wf_business_status', '', 'danger', 'N', 103, 1,getdate(), NULL, NULL, '已终止'); -INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (46, '000000', 1, '自定义表单', 'static', 'wf_form_type', '', 'success', 'N', 103, 1, getdate(), NULL, NULL, '自定义表单'); -INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (47, '000000', 2, '动态表单', 'dynamic', 'wf_form_type', '', 'primary', 'N', 103, 1, getdate(), NULL, NULL, '动态表单'); - --- 表单管理 SQL -insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) -values(11628, '表单管理', '11616', '5', 'formManage', 'workflow/formManage/index', 1, 0, 'C', '0', '0', 'workflow:formManage:list', 'tree-table', 103, 1, getdate(), null, null, '表单管理菜单'); - --- 表单管理按钮 SQL -insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) -values(11644, '表单管理查询', 11628, '1', '#', '', 1, 0, 'F', '0', '0', 'workflow:formManage:query', '', 103, 1, getdate(), null, null, ''); - -insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) -values(11645, '表单管理新增', 11628, '2', '#', '', 1, 0, 'F', '0', '0', 'workflow:formManage:add', '', 103, 1, getdate(), null, null, ''); - -insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) -values(11646, '表单管理修改', 11628, '3', '#', '', 1, 0, 'F', '0', '0', 'workflow:formManage:edit', '', 103, 1, getdate(), null, null, ''); - -insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) -values(11647, '表单管理删除', 11628, '4', '#', '', 1, 0, 'F', '0', '0', 'workflow:formManage:remove', '', 103, 1, getdate(), null, null, ''); - -insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) -values(11648, '表单管理导出', 11628, '5', '#', '', 1, 0, 'F', '0', '0', 'workflow:formManage:export', 'tree-table', 103, 1, getdate(), null, null, ''); diff --git a/im-admin/script/sql/update/oracle/update_5.0-5.1.sql b/im-admin/script/sql/update/oracle/update_5.0-5.1.sql deleted file mode 100644 index 09cfae8..0000000 --- a/im-admin/script/sql/update/oracle/update_5.0-5.1.sql +++ /dev/null @@ -1,151 +0,0 @@ -ALTER TABLE gen_table ADD (data_name VARCHAR2(200) DEFAULT ''); - -COMMENT ON COLUMN gen_table.data_name IS '数据源名称'; - -UPDATE sys_menu SET path = 'powerjob', component = 'monitor/powerjob/index', perms = 'monitor:powerjob:list', remark = 'powerjob控制台菜单' WHERE menu_id = 120; - --- ---------------------------- --- 第三方平台授权表 --- ---------------------------- -create table sys_social -( - id number(20) not null, - user_id number(20) not null, - tenant_id varchar2(20) default null, - auth_id varchar2(255) not null, - source varchar2(255) not null, - open_id varchar2(255) default null, - user_name varchar2(30) not null, - nick_name varchar2(30) default '', - email varchar2(255) default '', - avatar varchar2(500) default '', - access_token varchar2(255) not null, - expire_in number(20) default null, - refresh_token varchar2(255) default null, - access_code varchar2(255) default null, - union_id varchar2(255) default null, - scope varchar2(255) default null, - token_type varchar2(255) default null, - id_token varchar2(255) default null, - mac_algorithm varchar2(255) default null, - mac_key varchar2(255) default null, - code varchar2(255) default null, - oauth_token varchar2(255) default null, - oauth_token_secret varchar2(255) default null, - create_dept number(20), - create_by number(20), - create_time date, - update_by number(20), - update_time date, - del_flag char(1) default '0' -); - -alter table sys_social add constraint pk_sys_social primary key (id); - -comment on table sys_social is '社会化关系表'; -comment on column sys_social.id is '主键'; -comment on column sys_social.user_id is '用户ID'; -comment on column sys_social.tenant_id is '租户id'; -comment on column sys_social.auth_id is '平台+平台唯一id'; -comment on column sys_social.source is '用户来源'; -comment on column sys_social.open_id is '平台编号唯一id'; -comment on column sys_social.user_name is '登录账号'; -comment on column sys_social.nick_name is '用户昵称'; -comment on column sys_social.email is '用户邮箱'; -comment on column sys_social.avatar is '头像地址'; -comment on column sys_social.access_token is '用户的授权令牌'; -comment on column sys_social.expire_in is '用户的授权令牌的有效期,部分平台可能没有'; -comment on column sys_social.refresh_token is '刷新令牌,部分平台可能没有'; -comment on column sys_social.access_code is '平台的授权信息,部分平台可能没有'; -comment on column sys_social.union_id is '用户的 unionid'; -comment on column sys_social.scope is '授予的权限,部分平台可能没有'; -comment on column sys_social.token_type is '个别平台的授权信息,部分平台可能没有'; -comment on column sys_social.id_token is 'id token,部分平台可能没有'; -comment on column sys_social.mac_algorithm is '小米平台用户的附带属性,部分平台可能没有'; -comment on column sys_social.mac_key is '小米平台用户的附带属性,部分平台可能没有'; -comment on column sys_social.code is '用户的授权code,部分平台可能没有'; -comment on column sys_social.oauth_token is 'Twitter平台用户的附带属性,部分平台可能没有'; -comment on column sys_social.oauth_token_secret is 'Twitter平台用户的附带属性,部分平台可能没有'; -comment on column sys_social.create_dept is '创建部门'; -comment on column sys_social.create_by is '创建者'; -comment on column sys_social.create_time is '创建时间'; -comment on column sys_social.update_by is '更新者'; -comment on column sys_social.update_time is '更新时间'; -comment on column sys_social.del_flag is '删除标志(0代表存在 2代表删除)'; - - --- ---------------------------- --- 系统授权表 --- ---------------------------- -create table sys_client ( - id number(20) not null, - client_id varchar2(64) default null, - client_key varchar2(32) default null, - client_secret varchar2(255) default null, - grant_type varchar2(255) default null, - device_type varchar2(32) default null, - active_timeout number(11) default 1800, - timeout number(11) default 604800, - status char(1) default '0', - del_flag char(1) default '0', - create_dept number(20) default null, - create_by number(20) default null, - create_time date, - update_by number(20) default null, - update_time date -); - -alter table sys_client add constraint pk_sys_client primary key (id); - -comment on table sys_client is '系统授权表'; -comment on column sys_client.id is '主键'; -comment on column sys_client.client_id is '客户端id'; -comment on column sys_client.client_key is '客户端key'; -comment on column sys_client.client_secret is '客户端秘钥'; -comment on column sys_client.grant_type is '授权类型'; -comment on column sys_client.device_type is '设备类型'; -comment on column sys_client.active_timeout is 'token活跃超时时间'; -comment on column sys_client.timeout is 'token固定超时'; -comment on column sys_client.status is '状态(0正常 1停用)'; -comment on column sys_client.del_flag is '删除标志(0代表存在 2代表删除)'; -comment on column sys_client.create_dept is '创建部门'; -comment on column sys_client.create_by is '创建者'; -comment on column sys_client.create_time is '创建时间'; -comment on column sys_client.update_by is '更新者'; -comment on column sys_client.update_time is '更新时间'; - -insert into sys_client values (1, 'e5cd7e4891bf95d1d19206ce24a7b32e', 'pc', 'pc123', 'password,social', 'pc', 1800, 604800, 0, 0, 103, 1, sysdate, 1, sysdate); -insert into sys_client values (2, '428a8310cd442757ae699df5d894f051', 'app', 'app123', 'password,sms,social', 'android', 1800, 604800, 0, 0, 103, 1, sysdate, 1, sysdate); - -insert into sys_dict_type values(11, '000000', '授权类型', 'sys_grant_type', '0', 103, 1, sysdate, null, null, '认证授权类型'); -insert into sys_dict_type values(12, '000000', '设备类型', 'sys_device_type', '0', 103, 1, sysdate, null, null, '客户端设备类型'); - -insert into sys_dict_data values(30, '000000', 0, '密码认证', 'password', 'sys_grant_type', '', 'default', 'N', '0', 103, 1, sysdate, null, null, '密码认证'); -insert into sys_dict_data values(31, '000000', 0, '短信认证', 'sms', 'sys_grant_type', '', 'default', 'N', '0', 103, 1, sysdate, null, null, '短信认证'); -insert into sys_dict_data values(32, '000000', 0, '邮件认证', 'email', 'sys_grant_type', '', 'default', 'N', '0', 103, 1, sysdate, null, null, '邮件认证'); -insert into sys_dict_data values(33, '000000', 0, '小程序认证', 'xcx', 'sys_grant_type', '', 'default', 'N', '0', 103, 1, sysdate, null, null, '小程序认证'); -insert into sys_dict_data values(34, '000000', 0, '三方登录认证', 'social', 'sys_grant_type', '', 'default', 'N', '0', 103, 1, sysdate, null, null, '三方登录认证'); -insert into sys_dict_data values(35, '000000', 0, 'PC', 'pc', 'sys_device_type', '', 'default', 'N', '0', 103, 1, sysdate, null, null, 'PC'); -insert into sys_dict_data values(36, '000000', 0, '安卓', 'android', 'sys_device_type', '', 'default', 'N', '0', 103, 1, sysdate, null, null, '安卓'); -insert into sys_dict_data values(37, '000000', 0, 'iOS', 'ios', 'sys_device_type', '', 'default', 'N', '0', 103, 1, sysdate, null, null, 'iOS'); -insert into sys_dict_data values(38, '000000', 0, '小程序', 'xcx', 'sys_device_type', '', 'default', 'N', '0', 103, 1, sysdate, null, null, '小程序'); - --- 二级菜单 -insert into sys_menu values('123', '客户端管理', '1', '11', 'client', 'system/client/index', '', 1, 0, 'C', '0', '0', 'system:client:list', 'international', 103, 1, sysdate, null, null, '客户端管理菜单'); --- 客户端管理按钮 -insert into sys_menu values('1061', '客户端管理查询', '123', '1', '#', '', '', 1, 0, 'F', '0', '0', 'system:client:query', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1062', '客户端管理新增', '123', '2', '#', '', '', 1, 0, 'F', '0', '0', 'system:client:add', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1063', '客户端管理修改', '123', '3', '#', '', '', 1, 0, 'F', '0', '0', 'system:client:edit', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1064', '客户端管理删除', '123', '4', '#', '', '', 1, 0, 'F', '0', '0', 'system:client:remove', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1065', '客户端管理导出', '123', '5', '#', '', '', 1, 0, 'F', '0', '0', 'system:client:export', '#', 103, 1, sysdate, null, null, ''); - --- 角色菜单权限 -insert into sys_role_menu values ('2', '1061'); -insert into sys_role_menu values ('2', '1062'); -insert into sys_role_menu values ('2', '1063'); -insert into sys_role_menu values ('2', '1064'); -insert into sys_role_menu values ('2', '1065'); - - -update sys_dept set leader = null; -ALTER TABLE sys_dept MODIFY (leader NUMBER(20)) diff --git a/im-admin/script/sql/update/oracle/update_5.1.0-5.1.1.sql b/im-admin/script/sql/update/oracle/update_5.1.0-5.1.1.sql deleted file mode 100644 index 979a4bd..0000000 --- a/im-admin/script/sql/update/oracle/update_5.1.0-5.1.1.sql +++ /dev/null @@ -1,5 +0,0 @@ -ALTER TABLE sys_logininfor ADD (client_key varchar2(32) DEFAULT ''); -COMMENT ON COLUMN sys_logininfor.client_key IS '客户端'; - -ALTER TABLE sys_logininfor ADD (device_type varchar2(32) DEFAULT ''); -COMMENT ON COLUMN sys_logininfor.device_type IS '设备类型'; diff --git a/im-admin/script/sql/update/oracle/update_5.1.1-5.1.2.sql b/im-admin/script/sql/update/oracle/update_5.1.1-5.1.2.sql deleted file mode 100644 index d7c030c..0000000 --- a/im-admin/script/sql/update/oracle/update_5.1.1-5.1.2.sql +++ /dev/null @@ -1,6 +0,0 @@ -delete from sys_menu where menu_id in (1604, 1605); -insert into sys_menu values('1620', '配置列表', '118', '5', '#', '', '', 1, 0, 'F', '0', '0', 'system:ossConfig:list', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1621', '配置添加', '118', '6', '#', '', '', 1, 0, 'F', '0', '0', 'system:ossConfig:add', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1622', '配置编辑', '118', '6', '#', '', '', 1, 0, 'F', '0', '0', 'system:ossConfig:edit', '#', 103, 1, sysdate, null, null, ''); -insert into sys_menu values('1623', '配置删除', '118', '6', '#', '', '', 1, 0, 'F', '0', '0', 'system:ossConfig:remove', '#', 103, 1, sysdate, null, null, ''); - diff --git a/im-admin/script/sql/update/oracle/update_5.1.2-5.2.0.sql b/im-admin/script/sql/update/oracle/update_5.1.2-5.2.0.sql deleted file mode 100644 index 1aa585a..0000000 --- a/im-admin/script/sql/update/oracle/update_5.1.2-5.2.0.sql +++ /dev/null @@ -1,9 +0,0 @@ -ALTER TABLE sys_dept ADD (dept_category varchar2(100) DEFAULT NULL) COMMENT '部门类别编码'; -COMMENT ON COLUMN sys_dept.dept_category IS '部门类别编码'; -ALTER TABLE sys_post ADD (dept_id number(20) NOT NULL) COMMENT '部门id'; -COMMENT ON COLUMN sys_post.dept_id IS '部门id'; -ALTER TABLE sys_post ADD (post_category VARCHAR2(100) DEFAULT NULL) COMMENT '岗位类别编码'; -COMMENT ON COLUMN sys_post.post_category IS '岗位类别编码'; -UPDATE sys_post SET dept_id = 100; -UPDATE sys_post SET dept_id = 103 where post_id = 1; -UPDATE sys_menu SET menu_name = 'SnailJob控制台', path = 'snailjob', component = 'monitor/snailjob/index', perms = 'monitor:snailjob:list', remark = 'SnailJob控制台菜单' WHERE menu_id = 120; diff --git a/im-admin/script/sql/update/postgres/update_5.0-5.1.sql b/im-admin/script/sql/update/postgres/update_5.0-5.1.sql deleted file mode 100644 index f5f0a5c..0000000 --- a/im-admin/script/sql/update/postgres/update_5.0-5.1.sql +++ /dev/null @@ -1,150 +0,0 @@ -ALTER TABLE gen_table ADD data_name varchar(200) default ''::varchar; - -COMMENT ON COLUMN gen_table.data_name IS '数据源名称'; - -UPDATE sys_menu SET path = 'powerjob', component = 'monitor/powerjob/index', perms = 'monitor:powerjob:list', remark = 'powerjob控制台菜单' WHERE menu_id = 120; - --- ---------------------------- --- 第三方平台授权表 --- ---------------------------- -create table sys_social -( - id int8 not null, - user_id int8 not null, - tenant_id varchar(20) default null::varchar, - auth_id varchar(255) not null, - source varchar(255) not null, - open_id varchar(255) default null::varchar, - user_name varchar(30) not null, - nick_name varchar(30) default ''::varchar, - email varchar(255) default ''::varchar, - avatar varchar(500) default ''::varchar, - access_token varchar(255) not null, - expire_in int8 default null, - refresh_token varchar(255) default null::varchar, - access_code varchar(255) default null::varchar, - union_id varchar(255) default null::varchar, - scope varchar(255) default null::varchar, - token_type varchar(255) default null::varchar, - id_token varchar(255) default null::varchar, - mac_algorithm varchar(255) default null::varchar, - mac_key varchar(255) default null::varchar, - code varchar(255) default null::varchar, - oauth_token varchar(255) default null::varchar, - oauth_token_secret varchar(255) default null::varchar, - create_dept int8, - create_by int8, - create_time timestamp, - update_by int8, - update_time timestamp, - del_flag char default '0'::bpchar, - constraint "pk_sys_social" primary key (id) -); - -comment on table sys_social is '社会化关系表'; -comment on column sys_social.id is '主键'; -comment on column sys_social.user_id is '用户ID'; -comment on column sys_social.tenant_id is '租户id'; -comment on column sys_social.auth_id is '平台+平台唯一id'; -comment on column sys_social.source is '用户来源'; -comment on column sys_social.open_id is '平台编号唯一id'; -comment on column sys_social.user_name is '登录账号'; -comment on column sys_social.nick_name is '用户昵称'; -comment on column sys_social.email is '用户邮箱'; -comment on column sys_social.avatar is '头像地址'; -comment on column sys_social.access_token is '用户的授权令牌'; -comment on column sys_social.expire_in is '用户的授权令牌的有效期,部分平台可能没有'; -comment on column sys_social.refresh_token is '刷新令牌,部分平台可能没有'; -comment on column sys_social.access_code is '平台的授权信息,部分平台可能没有'; -comment on column sys_social.union_id is '用户的 unionid'; -comment on column sys_social.scope is '授予的权限,部分平台可能没有'; -comment on column sys_social.token_type is '个别平台的授权信息,部分平台可能没有'; -comment on column sys_social.id_token is 'id token,部分平台可能没有'; -comment on column sys_social.mac_algorithm is '小米平台用户的附带属性,部分平台可能没有'; -comment on column sys_social.mac_key is '小米平台用户的附带属性,部分平台可能没有'; -comment on column sys_social.code is '用户的授权code,部分平台可能没有'; -comment on column sys_social.oauth_token is 'Twitter平台用户的附带属性,部分平台可能没有'; -comment on column sys_social.oauth_token_secret is 'Twitter平台用户的附带属性,部分平台可能没有'; -comment on column sys_social.create_dept is '创建部门'; -comment on column sys_social.create_by is '创建者'; -comment on column sys_social.create_time is '创建时间'; -comment on column sys_social.update_by is '更新者'; -comment on column sys_social.update_time is '更新时间'; -comment on column sys_social.del_flag is '删除标志(0代表存在 2代表删除)'; - - --- ---------------------------- --- 系统授权表 --- ---------------------------- -drop table if exists sys_client; -create table sys_client ( - id int8, - client_id varchar(64) default ''::varchar, - client_key varchar(32) default ''::varchar, - client_secret varchar(255) default ''::varchar, - grant_type varchar(255) default ''::varchar, - device_type varchar(32) default ''::varchar, - active_timeout int4 default 1800, - timeout int4 default 604800, - status char(1) default '0'::bpchar, - del_flag char(1) default '0'::bpchar, - create_dept int8, - create_by int8, - create_time timestamp, - update_by int8, - update_time timestamp, - constraint sys_client_pk primary key (id) -); - -comment on table sys_client is '系统授权表'; -comment on column sys_client.id is '主键'; -comment on column sys_client.client_id is '客户端id'; -comment on column sys_client.client_key is '客户端key'; -comment on column sys_client.client_secret is '客户端秘钥'; -comment on column sys_client.grant_type is '授权类型'; -comment on column sys_client.device_type is '设备类型'; -comment on column sys_client.active_timeout is 'token活跃超时时间'; -comment on column sys_client.timeout is 'token固定超时'; -comment on column sys_client.status is '状态(0正常 1停用)'; -comment on column sys_client.del_flag is '删除标志(0代表存在 2代表删除)'; -comment on column sys_client.create_dept is '创建部门'; -comment on column sys_client.create_by is '创建者'; -comment on column sys_client.create_time is '创建时间'; -comment on column sys_client.update_by is '更新者'; -comment on column sys_client.update_time is '更新时间'; - -insert into sys_client values (1, 'e5cd7e4891bf95d1d19206ce24a7b32e', 'pc', 'pc123', 'password,social', 'pc', 1800, 604800, 0, 0, 103, 1, now(), 1, now()); -insert into sys_client values (2, '428a8310cd442757ae699df5d894f051', 'app', 'app123', 'password,sms,social', 'android', 1800, 604800, 0, 0, 103, 1, now(), 1, now()); - -insert into sys_dict_type values(11, '000000', '授权类型', 'sys_grant_type', '0', 103, 1, now(), null, null, '认证授权类型'); -insert into sys_dict_type values(12, '000000', '设备类型', 'sys_device_type', '0', 103, 1, now(), null, null, '客户端设备类型'); - -insert into sys_dict_data values(30, '000000', 0, '密码认证', 'password', 'sys_grant_type', '', 'default', 'N', '0', 103, 1, now(), null, null, '密码认证'); -insert into sys_dict_data values(31, '000000', 0, '短信认证', 'sms', 'sys_grant_type', '', 'default', 'N', '0', 103, 1, now(), null, null, '短信认证'); -insert into sys_dict_data values(32, '000000', 0, '邮件认证', 'email', 'sys_grant_type', '', 'default', 'N', '0', 103, 1, now(), null, null, '邮件认证'); -insert into sys_dict_data values(33, '000000', 0, '小程序认证', 'xcx', 'sys_grant_type', '', 'default', 'N', '0', 103, 1, now(), null, null, '小程序认证'); -insert into sys_dict_data values(34, '000000', 0, '三方登录认证', 'social', 'sys_grant_type', '', 'default', 'N', '0', 103, 1, now(), null, null, '三方登录认证'); -insert into sys_dict_data values(35, '000000', 0, 'PC', 'pc', 'sys_device_type', '', 'default', 'N', '0', 103, 1, now(), null, null, 'PC'); -insert into sys_dict_data values(36, '000000', 0, '安卓', 'android', 'sys_device_type', '', 'default', 'N', '0', 103, 1, now(), null, null, '安卓'); -insert into sys_dict_data values(37, '000000', 0, 'iOS', 'ios', 'sys_device_type', '', 'default', 'N', '0', 103, 1, now(), null, null, 'iOS'); -insert into sys_dict_data values(38, '000000', 0, '小程序', 'xcx', 'sys_device_type', '', 'default', 'N', '0', 103, 1, now(), null, null, '小程序'); - --- 二级菜单 -insert into sys_menu values('123', '客户端管理', '1', '11', 'client', 'system/client/index', '', '1', '0', 'C', '0', '0', 'system:client:list', 'international', 103, 1, now(), null, null, '客户端管理菜单'); --- 客户端管理按钮 -insert into sys_menu values('1061', '客户端管理查询', '123', '1', '#', '', '', '1', '0', 'F', '0', '0', 'system:client:query', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1062', '客户端管理新增', '123', '2', '#', '', '', '1', '0', 'F', '0', '0', 'system:client:add', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1063', '客户端管理修改', '123', '3', '#', '', '', '1', '0', 'F', '0', '0', 'system:client:edit', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1064', '客户端管理删除', '123', '4', '#', '', '', '1', '0', 'F', '0', '0', 'system:client:remove', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1065', '客户端管理导出', '123', '5', '#', '', '', '1', '0', 'F', '0', '0', 'system:client:export', '#', 103, 1, now(), null, null, ''); - --- 角色菜单权限 -insert into sys_role_menu values ('2', '1061'); -insert into sys_role_menu values ('2', '1062'); -insert into sys_role_menu values ('2', '1063'); -insert into sys_role_menu values ('2', '1064'); -insert into sys_role_menu values ('2', '1065'); - - -update sys_dept set leader = null; -ALTER TABLE sys_dept ALTER COLUMN leader TYPE int8; diff --git a/im-admin/script/sql/update/postgres/update_5.1.0-5.1.1.sql b/im-admin/script/sql/update/postgres/update_5.1.0-5.1.1.sql deleted file mode 100644 index 29f5507..0000000 --- a/im-admin/script/sql/update/postgres/update_5.1.0-5.1.1.sql +++ /dev/null @@ -1,5 +0,0 @@ -ALTER TABLE sys_logininfor ADD client_key varchar(32) default ''::varchar; -COMMENT ON COLUMN sys_logininfor.client_key IS '客户端'; - -ALTER TABLE sys_logininfor ADD device_type varchar(32) default ''::varchar; -COMMENT ON COLUMN sys_logininfor.device_type IS '设备类型'; diff --git a/im-admin/script/sql/update/postgres/update_5.1.1-5.1.2.sql b/im-admin/script/sql/update/postgres/update_5.1.1-5.1.2.sql deleted file mode 100644 index 62eb836..0000000 --- a/im-admin/script/sql/update/postgres/update_5.1.1-5.1.2.sql +++ /dev/null @@ -1,5 +0,0 @@ -delete from sys_menu where menu_id in (1604, 1605); -insert into sys_menu values('1620', '配置列表', '118', '5', '#', '', '', '1', '0', 'F', '0', '0', 'system:ossConfig:list', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1621', '配置添加', '118', '6', '#', '', '', '1', '0', 'F', '0', '0', 'system:ossConfig:add', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1622', '配置编辑', '118', '6', '#', '', '', '1', '0', 'F', '0', '0', 'system:ossConfig:edit', '#', 103, 1, now(), null, null, ''); -insert into sys_menu values('1623', '配置删除', '118', '6', '#', '', '', '1', '0', 'F', '0', '0', 'system:ossConfig:remove', '#', 103, 1, now(), null, null, ''); diff --git a/im-admin/script/sql/update/postgres/update_5.1.2-5.2.0.sql b/im-admin/script/sql/update/postgres/update_5.1.2-5.2.0.sql deleted file mode 100644 index 5089a09..0000000 --- a/im-admin/script/sql/update/postgres/update_5.1.2-5.2.0.sql +++ /dev/null @@ -1,9 +0,0 @@ -ALTER TABLE sys_dept ADD COLUMN dept_category varchar(100) default null::varchar; -COMMENT ON COLUMN sys_dept.dept_category IS '客户端'; -ALTER TABLE sys_post ADD COLUMN dept_id int8 NOT NULL; -COMMENT ON COLUMN sys_post.dept_id IS '部门id'; -ALTER TABLE sys_post ADD COLUMN post_category varchar(100) default null::varchar; -COMMENT ON COLUMN sys_post.post_category IS '岗位类别编码'; -UPDATE sys_post SET dept_id = 100; -UPDATE sys_post SET dept_id = 103 where post_id = 1; -UPDATE sys_menu SET menu_name = 'SnailJob控制台', path = 'snailjob', component = 'monitor/snailjob/index', perms = 'monitor:snailjob:list', remark = 'SnailJob控制台菜单' WHERE menu_id = 120; diff --git a/im-admin/script/sql/update/sqlserver/update_5.0-5.1.sql b/im-admin/script/sql/update/sqlserver/update_5.0-5.1.sql deleted file mode 100644 index bde3813..0000000 --- a/im-admin/script/sql/update/sqlserver/update_5.0-5.1.sql +++ /dev/null @@ -1,409 +0,0 @@ -ALTER TABLE gen_table ADD data_name nvarchar(200) DEFAULT '' NULL -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'数据源名称', - 'SCHEMA', N'dbo', - 'TABLE', N'gen_table', - 'COLUMN', N'data_name' -GO - -UPDATE sys_menu SET path = 'powerjob', component = 'monitor/powerjob/index', perms = 'monitor:powerjob:list', remark = 'powerjob控制台菜单' WHERE menu_id = 120 -GO - -create table sys_social -( - id bigint NOT NULL, - user_id bigint NOT NULL, - tenant_id nvarchar(20) NULL, - auth_id nvarchar(255) NOT NULL, - source nvarchar(255) NOT NULL, - open_id nvarchar(255) NULL, - user_name nvarchar(30) NOT NULL, - nick_name nvarchar(30) DEFAULT ('') NULL, - email nvarchar(255) DEFAULT ('') NULL, - avatar nvarchar(500) DEFAULT ('') NULL, - access_token nvarchar(255) NOT NULL, - expire_in bigint NULL, - refresh_token nvarchar(255) NULL, - access_code nvarchar(255) NULL, - union_id nvarchar(255) NULL, - scope nvarchar(255) NULL, - token_type nvarchar(255) NULL, - id_token nvarchar(255) NULL, - mac_algorithm nvarchar(255) NULL, - mac_key nvarchar(255) NULL, - code nvarchar(255) NULL, - oauth_token nvarchar(255) NULL, - oauth_token_secret nvarchar(255) NULL, - create_dept bigint, - create_by bigint, - create_time datetime2(7), - update_by bigint, - update_time datetime2(7), - del_flag nchar DEFAULT ('0') NULL, - CONSTRAINT PK__sys_social__B21E8F2427725F8A PRIMARY KEY CLUSTERED (id) - WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) - ON [PRIMARY] -) -ON [PRIMARY] -GO - -EXEC sys.sp_addextendedproperty - 'MS_Description', N'id' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_social', - 'COLUMN', N'id' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'用户ID' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_social', - 'COLUMN', N'user_id' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'租户id' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_social', - 'COLUMN', N'tenant_id' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'平台+平台唯一id' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_social', - 'COLUMN', N'auth_id' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'用户来源' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_social', - 'COLUMN', N'source' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'平台编号唯一id' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_social', - 'COLUMN', N'open_id' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'登录账号' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_social', - 'COLUMN', N'user_name' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'用户昵称' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_social', - 'COLUMN', N'nick_name' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'用户邮箱' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_social', - 'COLUMN', N'email' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'头像地址' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_social', - 'COLUMN', N'avatar' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'用户的授权令牌' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_social', - 'COLUMN', N'access_token' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'用户的授权令牌的有效期,部分平台可能没有' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_social', - 'COLUMN', N'expire_in' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'刷新令牌,部分平台可能没有' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_social', - 'COLUMN', N'refresh_token' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'平台的授权信息,部分平台可能没有' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_social', - 'COLUMN', N'access_code' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'用户的 unionid' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_social', - 'COLUMN', N'union_id' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'授予的权限,部分平台可能没有' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_social', - 'COLUMN', N'scope' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'个别平台的授权信息,部分平台可能没有' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_social', - 'COLUMN', N'token_type' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'id token,部分平台可能没有' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_social', - 'COLUMN', N'id_token' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'小米平台用户的附带属性,部分平台可能没有' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_social', - 'COLUMN', N'mac_algorithm' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'小米平台用户的附带属性,部分平台可能没有' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_social', - 'COLUMN', N'mac_key' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'用户的授权code,部分平台可能没有' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_social', - 'COLUMN', N'code' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'Twitter平台用户的附带属性,部分平台可能没有' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_social', - 'COLUMN', N'oauth_token' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'Twitter平台用户的附带属性,部分平台可能没有' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_social', - 'COLUMN', N'oauth_token_secret' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'删除标志(0代表存在 2代表删除)' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_social', - 'COLUMN', N'del_flag' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'创建部门' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_social', - 'COLUMN', N'create_dept' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'创建者' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_social', - 'COLUMN', N'create_by' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'创建时间' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_social', - 'COLUMN', N'create_time' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'更新者' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_social', - 'COLUMN', N'update_by' -GO -EXEC sys.sp_addextendedproperty - 'MS_Description', N'更新时间' , - 'SCHEMA', N'dbo', - 'TABLE', N'sys_social', - 'COLUMN', N'update_time' -GO - - -CREATE TABLE sys_client -( - id bigint NOT NULL, - client_id nvarchar(64) DEFAULT '' NULL, - client_key nvarchar(32) DEFAULT '' NULL, - client_secret nvarchar(255) DEFAULT '' NULL, - grant_type nvarchar(255) DEFAULT '' NULL, - device_type nvarchar(32) DEFAULT '' NULL, - active_timeout int DEFAULT ((1800)) NULL, - timeout int DEFAULT ((604800)) NULL, - status nchar(1) DEFAULT ('0') NULL, - del_flag nchar(1) DEFAULT ('0') NULL, - create_dept bigint NULL, - create_by bigint NULL, - create_time datetime2(7) NULL, - update_by bigint NULL, - update_time datetime2(7) NULL - CONSTRAINT PK__sys_client___BFBDE87009ED2882 PRIMARY KEY CLUSTERED (id) - WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) - ON [PRIMARY] -) -ON [PRIMARY] -GO - -EXEC sp_addextendedproperty -'MS_Description', N'主键', -'SCHEMA', N'dbo', -'TABLE', N'sys_client', -'COLUMN', N'id' -GO -EXEC sys.sp_addextendedproperty -'MS_Description', N'客户端id' , -'SCHEMA', N'dbo', -'TABLE', N'sys_client', -'COLUMN', N'client_id' -GO -EXEC sp_addextendedproperty -'MS_Description', N'客户端key', -'SCHEMA', N'dbo', -'TABLE', N'sys_client', -'COLUMN', N'client_key' -GO -EXEC sp_addextendedproperty -'MS_Description', N'客户端秘钥', -'SCHEMA', N'dbo', -'TABLE', N'sys_client', -'COLUMN', N'client_secret' -GO -EXEC sp_addextendedproperty -'MS_Description', N'授权类型', -'SCHEMA', N'dbo', -'TABLE', N'sys_client', -'COLUMN', N'grant_type' -GO -EXEC sp_addextendedproperty -'MS_Description', N'设备类型', -'SCHEMA', N'dbo', -'TABLE', N'sys_client', -'COLUMN', N'device_type' -GO -EXEC sp_addextendedproperty -'MS_Description', N'token活跃超时时间', -'SCHEMA', N'dbo', -'TABLE', N'sys_client', -'COLUMN', N'active_timeout' -GO -EXEC sp_addextendedproperty -'MS_Description', N'token固定超时', -'SCHEMA', N'dbo', -'TABLE', N'sys_client', -'COLUMN', N'timeout' -GO -EXEC sp_addextendedproperty -'MS_Description', N'状态(0正常 1停用)', -'SCHEMA', N'dbo', -'TABLE', N'sys_client', -'COLUMN', N'status' -GO -EXEC sp_addextendedproperty -'MS_Description', N'删除标志(0代表存在 2代表删除)', -'SCHEMA', N'dbo', -'TABLE', N'sys_client', -'COLUMN', N'del_flag' -GO -EXEC sys.sp_addextendedproperty -'MS_Description', N'创建部门' , -'SCHEMA', N'dbo', -'TABLE', N'sys_client', -'COLUMN', N'create_dept' -GO -EXEC sp_addextendedproperty -'MS_Description', N'创建者', -'SCHEMA', N'dbo', -'TABLE', N'sys_client', -'COLUMN', N'create_by' -GO -EXEC sp_addextendedproperty -'MS_Description', N'创建时间', -'SCHEMA', N'dbo', -'TABLE', N'sys_client', -'COLUMN', N'create_time' -GO -EXEC sp_addextendedproperty -'MS_Description', N'更新者', -'SCHEMA', N'dbo', -'TABLE', N'sys_client', -'COLUMN', N'update_by' -GO -EXEC sp_addextendedproperty -'MS_Description', N'更新时间', -'SCHEMA', N'dbo', -'TABLE', N'sys_client', -'COLUMN', N'update_time' -GO -EXEC sp_addextendedproperty -'MS_Description', N'系统授权表', -'SCHEMA', N'dbo', -'TABLE', N'sys_client' -GO - -INSERT INTO sys_client VALUES (N'1', N'e5cd7e4891bf95d1d19206ce24a7b32e', N'pc', N'pc123', N'password,social', N'pc', 1800, 604800, N'0', N'0', 103, 1, getdate(), 1, getdate()) -GO -INSERT INTO sys_client VALUES (N'2', N'428a8310cd442757ae699df5d894f051', N'app', N'app123', N'password,sms,social', N'android', 1800, 604800, N'0', N'0', 103, 1, getdate(), 1, getdate()) -GO - -INSERT sys_dict_type VALUES (11, N'000000', N'授权类型', N'sys_grant_type', N'0', 103, 1, getdate(), NULL, NULL, N'认证授权类型') -GO -INSERT sys_dict_type VALUES (12, N'000000', N'设备类型', N'sys_device_type', N'0', 103, 1, getdate(), NULL, NULL, N'客户端设备类型') -GO - -INSERT sys_dict_data VALUES (30, N'000000', 0, N'密码认证', N'password', N'sys_grant_type', N'', N'default', N'N', N'0', 103, 1, getdate(), NULL, NULL, N'密码认证'); -GO -INSERT sys_dict_data VALUES (31, N'000000', 0, N'短信认证', N'sms', N'sys_grant_type', N'', N'default', N'N', N'0', 103, 1, getdate(), NULL, NULL, N'短信认证') -GO -INSERT sys_dict_data VALUES (32, N'000000', 0, N'邮件认证', N'email', N'sys_grant_type', N'', N'default', N'N', N'0', 103, 1, getdate(), NULL, NULL, N'邮件认证') -GO -INSERT sys_dict_data VALUES (33, N'000000', 0, N'小程序认证', N'xcx', N'sys_grant_type', N'', N'default', N'N', N'0', 103, 1, getdate(), NULL, NULL, N'小程序认证') -GO -INSERT sys_dict_data VALUES (34, N'000000', 0, N'三方登录认证', N'`social`', N'sys_grant_type', N'', N'default', N'N', N'0', 103, 1, getdate(), NULL, NULL, N'三方登录认证') -GO -INSERT sys_dict_data VALUES (35, N'000000', 0, N'PC', N'`pc`', N'sys_device_type', N'', N'default', N'N', N'0', 103, 1, getdate(), NULL, NULL, N'PC') -GO -INSERT sys_dict_data VALUES (36, N'000000', 0, N'安卓', N'`android`', N'sys_device_type', N'', N'default', N'N', N'0', 103, 1, getdate(), NULL, NULL, N'安卓') -GO -INSERT sys_dict_data VALUES (37, N'000000', 0, N'iOS', N'`ios`', N'sys_device_type', N'', N'default', N'N', N'0', 103, 1, getdate(), NULL, NULL, N'iOS') -GO -INSERT sys_dict_data VALUES (38, N'000000', 0, N'小程序', N'`xcx`', N'sys_device_type', N'', N'default', N'N', N'0', 103, 1, getdate(), NULL, NULL, N'小程序') -GO - --- 二级菜单 -INSERT sys_menu VALUES (123, N'客户端管理', 1, 11, N'client', N'system/client/index', N'', 1, 0, N'C', N'0', N'0', N'system:client:list', N'international', 103, 1, getdate(), NULL, NULL, N'客户端管理菜单') -GO --- 客户端管理按钮 -INSERT sys_menu VALUES (1061, N'客户端管理查询', 123, 1, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:client:query', N'#', 103, 1, getdate(), NULL, NULL, N''); -GO -INSERT sys_menu VALUES (1062, N'客户端管理新增', 123, 2, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:client:add', N'#', 103, 1, getdate(), NULL, NULL, N''); -GO -INSERT sys_menu VALUES (1063, N'客户端管理修改', 123, 3, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:client:edit', N'#', 103, 1, getdate(), NULL, NULL, N''); -GO -INSERT sys_menu VALUES (1064, N'客户端管理删除', 123, 4, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:client:remove', N'#', 103, 1, getdate(), NULL, NULL, N''); -GO -INSERT sys_menu VALUES (1065, N'客户端管理导出', 123, 5, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:client:export', N'#', 103, 1, getdate(), NULL, NULL, N''); -GO - - --- 角色菜单权限 -INSERT sys_role_menu VALUES (2, 1061) -GO -INSERT sys_role_menu VALUES (2, 1062) -GO -INSERT sys_role_menu VALUES (2, 1063) -GO -INSERT sys_role_menu VALUES (2, 1064) -GO -INSERT sys_role_menu VALUES (2, 1065) -GO - - -UPDATE sys_dept SET leader = null -GO -ALTER TABLE sys_dept ALTER COLUMN leader bigint NULL -GO diff --git a/im-admin/script/sql/update/sqlserver/update_5.1.0-5.1.1.sql b/im-admin/script/sql/update/sqlserver/update_5.1.0-5.1.1.sql deleted file mode 100644 index 2238536..0000000 --- a/im-admin/script/sql/update/sqlserver/update_5.1.0-5.1.1.sql +++ /dev/null @@ -1,19 +0,0 @@ -ALTER TABLE sys_logininfor ADD client_key nvarchar(32) DEFAULT '' NULL -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'客户端', - 'SCHEMA', N'dbo', - 'TABLE', N'sys_logininfor', - 'COLUMN', N'client_key' -GO - -ALTER TABLE sys_logininfor ADD device_type nvarchar(32) DEFAULT '' NULL -GO - -EXEC sp_addextendedproperty - 'MS_Description', N'设备类型', - 'SCHEMA', N'dbo', - 'TABLE', N'sys_logininfor', - 'COLUMN', N'device_type' -GO diff --git a/im-admin/script/sql/update/sqlserver/update_5.1.1-5.1.2.sql b/im-admin/script/sql/update/sqlserver/update_5.1.1-5.1.2.sql deleted file mode 100644 index 9133772..0000000 --- a/im-admin/script/sql/update/sqlserver/update_5.1.1-5.1.2.sql +++ /dev/null @@ -1,10 +0,0 @@ -DELETE FROM sys_menu WHERE menu_id IN (1604, 1605); -GO -INSERT sys_menu VALUES (1620, N'配置列表', 118, 5, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:ossConfig:list', N'#', 103, 1, getdate(), NULL, NULL, N''); -GO -INSERT sys_menu VALUES (1621, N'配置添加', 118, 6, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:ossConfig:add', N'#', 103, 1, getdate(), NULL, NULL, N''); -GO -INSERT sys_menu VALUES (1622, N'配置编辑', 118, 6, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:ossConfig:edit', N'#', 103, 1, getdate(), NULL, NULL, N''); -GO -INSERT sys_menu VALUES (1623, N'配置删除', 118, 6, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'system:ossConfig:remove', N'#', 103, 1, getdate(), NULL, NULL, N''); -GO diff --git a/im-admin/script/sql/update/sqlserver/update_5.1.2-5.2.0.sql b/im-admin/script/sql/update/sqlserver/update_5.1.2-5.2.0.sql deleted file mode 100644 index 18daca4..0000000 --- a/im-admin/script/sql/update/sqlserver/update_5.1.2-5.2.0.sql +++ /dev/null @@ -1,29 +0,0 @@ -ALTER TABLE sys_dept ADD dept_category nvarchar(100) DEFAULT NULL -EXEC sp_addextendedproperty - 'MS_Description', N'部门类别编码', - 'SCHEMA', N'dbo', - 'TABLE', N'sys_dept', - 'COLUMN', N'dept_category' -GO -ALTER TABLE sys_post ADD dept_id bigint NOT NULL -GO -ALTER TABLE sys_post ADD post_category nvarchar(100) DEFAULT NULL -GO -EXEC sp_addextendedproperty - 'MS_Description', N'部门id', - 'SCHEMA', N'dbo', - 'TABLE', N'sys_post', - 'COLUMN', N'dept_id' -GO -EXEC sp_addextendedproperty - 'MS_Description', N'岗位类别编码', - 'SCHEMA', N'dbo', - 'TABLE', N'sys_post', - 'COLUMN', N'post_category' -GO -UPDATE sys_post SET dept_id = 100 -GO -UPDATE sys_post SET dept_id = 103 where post_id = 1 -GO -UPDATE sys_menu SET menu_name = N'SnailJob控制台', path = N'snailjob', component = N'monitor/snailjob/index', perms = N'monitor:snailjob:list', remark = N'SnailJob控制台菜单' WHERE menu_id = 120 -GO diff --git a/im-admin/script/sql/update/update_5.0-5.1.sql b/im-admin/script/sql/update/update_5.0-5.1.sql deleted file mode 100644 index 871bda3..0000000 --- a/im-admin/script/sql/update/update_5.0-5.1.sql +++ /dev/null @@ -1,101 +0,0 @@ -ALTER TABLE gen_table ADD COLUMN data_name varchar(200) NULL DEFAULT '' COMMENT '数据源名称' AFTER table_id; - -UPDATE sys_menu SET path = 'powerjob', component = 'monitor/powerjob/index', perms = 'monitor:powerjob:list', remark = 'powerjob控制台菜单' WHERE menu_id = 120; - --- ---------------------------- --- 第三方平台授权表 --- ---------------------------- -drop table if exists sys_social; -create table sys_social -( - id bigint not null comment '主键', - user_id bigint not null comment '用户ID', - tenant_id varchar(20) default null comment '租户id', - auth_id varchar(255) not null comment '平台+平台唯一id', - source varchar(255) not null comment '用户来源', - open_id varchar(255) default null comment '平台编号唯一id', - user_name varchar(30) not null comment '登录账号', - nick_name varchar(30) default '' comment '用户昵称', - email varchar(255) default '' comment '用户邮箱', - avatar varchar(500) default '' comment '头像地址', - access_token varchar(255) not null comment '用户的授权令牌', - expire_in int default null comment '用户的授权令牌的有效期,部分平台可能没有', - refresh_token varchar(255) default null comment '刷新令牌,部分平台可能没有', - access_code varchar(255) default null comment '平台的授权信息,部分平台可能没有', - union_id varchar(255) default null comment '用户的 unionid', - scope varchar(255) default null comment '授予的权限,部分平台可能没有', - token_type varchar(255) default null comment '个别平台的授权信息,部分平台可能没有', - id_token varchar(255) default null comment 'id token,部分平台可能没有', - mac_algorithm varchar(255) default null comment '小米平台用户的附带属性,部分平台可能没有', - mac_key varchar(255) default null comment '小米平台用户的附带属性,部分平台可能没有', - code varchar(255) default null comment '用户的授权code,部分平台可能没有', - oauth_token varchar(255) default null comment 'Twitter平台用户的附带属性,部分平台可能没有', - oauth_token_secret varchar(255) default null comment 'Twitter平台用户的附带属性,部分平台可能没有', - create_dept bigint(20) comment '创建部门', - create_by bigint(20) comment '创建者', - create_time datetime comment '创建时间', - update_by bigint(20) comment '更新者', - update_time datetime comment '更新时间', - del_flag char(1) default '0' comment '删除标志(0代表存在 2代表删除)', - PRIMARY KEY (id) -) engine=innodb comment = '社会化关系表'; - - --- ---------------------------- --- 系统授权表 --- ---------------------------- -drop table if exists sys_client; -create table sys_client ( - id bigint(20) not null comment 'id', - client_id varchar(64) default null comment '客户端id', - client_key varchar(32) default null comment '客户端key', - client_secret varchar(255) default null comment '客户端秘钥', - grant_type varchar(255) default null comment '授权类型', - device_type varchar(32) default null comment '设备类型', - active_timeout int(11) default 1800 comment 'token活跃超时时间', - timeout int(11) default 604800 comment 'token固定超时', - status char(1) default '0' comment '状态(0正常 1停用)', - del_flag char(1) default '0' comment '删除标志(0代表存在 2代表删除)', - create_dept bigint(20) default null comment '创建部门', - create_by bigint(20) default null comment '创建者', - create_time datetime default null comment '创建时间', - update_by bigint(20) default null comment '更新者', - update_time datetime default null comment '更新时间', - primary key (id) -) engine=innodb comment='系统授权表'; - -insert into sys_client values (1, 'e5cd7e4891bf95d1d19206ce24a7b32e', 'pc', 'pc123', 'password,social', 'pc', 1800, 604800, 0, 0, 103, 1, sysdate(), 1, sysdate()); -insert into sys_client values (2, '428a8310cd442757ae699df5d894f051', 'app', 'app123', 'password,sms,social', 'android', 1800, 604800, 0, 0, 103, 1, sysdate(), 1, sysdate()); - -insert into sys_dict_type values(11, '000000', '授权类型', 'sys_grant_type', 103, 1, sysdate(), null, null, '认证授权类型'); -insert into sys_dict_type values(12, '000000', '设备类型', 'sys_device_type', 103, 1, sysdate(), null, null, '客户端设备类型'); - -insert into sys_dict_data values(30, '000000', 0, '密码认证', 'password', 'sys_grant_type', '', 'default', 'N', 103, 1, sysdate(), null, null, '密码认证'); -insert into sys_dict_data values(31, '000000', 0, '短信认证', 'sms', 'sys_grant_type', '', 'default', 'N', 103, 1, sysdate(), null, null, '短信认证'); -insert into sys_dict_data values(32, '000000', 0, '邮件认证', 'email', 'sys_grant_type', '', 'default', 'N', 103, 1, sysdate(), null, null, '邮件认证'); -insert into sys_dict_data values(33, '000000', 0, '小程序认证', 'xcx', 'sys_grant_type', '', 'default', 'N', 103, 1, sysdate(), null, null, '小程序认证'); -insert into sys_dict_data values(34, '000000', 0, '三方登录认证', 'social', 'sys_grant_type', '', 'default', 'N', 103, 1, sysdate(), null, null, '三方登录认证'); -insert into sys_dict_data values(35, '000000', 0, 'PC', 'pc', 'sys_device_type', '', 'default', 'N', 103, 1, sysdate(), null, null, 'PC'); -insert into sys_dict_data values(36, '000000', 0, '安卓', 'android', 'sys_device_type', '', 'default', 'N', 103, 1, sysdate(), null, null, '安卓'); -insert into sys_dict_data values(37, '000000', 0, 'iOS', 'ios', 'sys_device_type', '', 'default', 'N', 103, 1, sysdate(), null, null, 'iOS'); -insert into sys_dict_data values(38, '000000', 0, '小程序', 'xcx', 'sys_device_type', '', 'default', 'N', 103, 1, sysdate(), null, null, '小程序'); - --- 二级菜单 -insert into sys_menu values('123', '客户端管理', '1', '11', 'client', 'system/client/index', '', 1, 0, 'C', '0', '0', 'system:client:list', 'international', 103, 1, sysdate(), null, null, '客户端管理菜单'); --- 客户端管理按钮 -insert into sys_menu values('1061', '客户端管理查询', '123', '1', '#', '', '', 1, 0, 'F', '0', '0', 'system:client:query', '#', 103, 1, sysdate(), null, null, ''); -insert into sys_menu values('1062', '客户端管理新增', '123', '2', '#', '', '', 1, 0, 'F', '0', '0', 'system:client:add', '#', 103, 1, sysdate(), null, null, ''); -insert into sys_menu values('1063', '客户端管理修改', '123', '3', '#', '', '', 1, 0, 'F', '0', '0', 'system:client:edit', '#', 103, 1, sysdate(), null, null, ''); -insert into sys_menu values('1064', '客户端管理删除', '123', '4', '#', '', '', 1, 0, 'F', '0', '0', 'system:client:remove', '#', 103, 1, sysdate(), null, null, ''); -insert into sys_menu values('1065', '客户端管理导出', '123', '5', '#', '', '', 1, 0, 'F', '0', '0', 'system:client:export', '#', 103, 1, sysdate(), null, null, ''); - --- 角色菜单权限 -insert into sys_role_menu values ('2', '1061'); -insert into sys_role_menu values ('2', '1062'); -insert into sys_role_menu values ('2', '1063'); -insert into sys_role_menu values ('2', '1064'); -insert into sys_role_menu values ('2', '1065'); - - -update sys_dept set leader = null; -alter table sys_dept modify column leader bigint null default null comment '负责人' after order_num; diff --git a/im-admin/script/sql/update/update_5.1.0-5.1.1.sql b/im-admin/script/sql/update/update_5.1.0-5.1.1.sql deleted file mode 100644 index 1dea49b..0000000 --- a/im-admin/script/sql/update/update_5.1.0-5.1.1.sql +++ /dev/null @@ -1,3 +0,0 @@ -ALTER TABLE sys_logininfor - ADD COLUMN client_key VARCHAR(32) NULL DEFAULT NULL COMMENT '客户端' AFTER `user_name`, - ADD COLUMN device_type VARCHAR(32) NULL DEFAULT NULL COMMENT '设备类型' AFTER `client_key`; diff --git a/im-admin/script/sql/update/update_5.1.1-5.1.2.sql b/im-admin/script/sql/update/update_5.1.1-5.1.2.sql deleted file mode 100644 index 314743f..0000000 --- a/im-admin/script/sql/update/update_5.1.1-5.1.2.sql +++ /dev/null @@ -1,5 +0,0 @@ -delete from sys_menu where menu_id in (1604, 1605); -insert into sys_menu values('1620', '配置列表', '118', '5', '#', '', '', 1, 0, 'F', '0', '0', 'system:ossConfig:list', '#', 103, 1, sysdate(), null, null, ''); -insert into sys_menu values('1621', '配置添加', '118', '6', '#', '', '', 1, 0, 'F', '0', '0', 'system:ossConfig:add', '#', 103, 1, sysdate(), null, null, ''); -insert into sys_menu values('1622', '配置编辑', '118', '6', '#', '', '', 1, 0, 'F', '0', '0', 'system:ossConfig:edit', '#', 103, 1, sysdate(), null, null, ''); -insert into sys_menu values('1623', '配置删除', '118', '6', '#', '', '', 1, 0, 'F', '0', '0', 'system:ossConfig:remove', '#', 103, 1, sysdate(), null, null, ''); diff --git a/im-admin/script/sql/update/update_5.1.2-5.2.0.sql b/im-admin/script/sql/update/update_5.1.2-5.2.0.sql deleted file mode 100644 index 33384e7..0000000 --- a/im-admin/script/sql/update/update_5.1.2-5.2.0.sql +++ /dev/null @@ -1,5 +0,0 @@ -ALTER TABLE sys_dept ADD dept_category VARCHAR(100) DEFAULT NULL COMMENT '部门类别编码'; -ALTER TABLE sys_post ADD dept_id BIGINT(20) NOT NULL COMMENT '部门id', ADD post_category VARCHAR(100) DEFAULT NULL COMMENT '岗位类别编码'; -UPDATE sys_post SET dept_id = 100; -UPDATE sys_post SET dept_id = 103 where post_id = 1; -UPDATE sys_menu SET menu_name = 'SnailJob控制台', path = 'snailjob', component = 'monitor/snailjob/index', perms = 'monitor:snailjob:list', remark = 'SnailJob控制台菜单' WHERE menu_id = 120;